waves_logo Docs
  • Overview
    Overview
  • How-to Guides
    • Reading Blockchain Data
      Reading Blockchain Data
    • Creating & Broadcasting Transactions
      Creating & Broadcasting Transactions
    • Tokenization
      Tokenization
    • Airdrop
      Airdrop
    • Payments
      Payments
    • Exchange Tokens
      Exchange Tokens
    • Simple Voting
      Simple Voting
    • List as argument
      List as argument
    How-to Guides
  • Waves Smart Contracts
    Waves Smart Contracts
  • dApp
    • Creating & Launching dApp
      Creating & Launching dApp
    dApp
  • Smart Account
    • Creating smart account
      Creating smart account
    • Creating and deploying a script manually
      Creating and deploying a script manually
    • Video tutorials
      • Introduction to the Waves blockchain, Waves Smart Accounts and Waves Smart Assets
        Introduction to the Waves blockchain, Waves Smart Accounts and Waves Smart Assets
      • Waves Smart Account with multisignature
        Waves Smart Account with multisignature
      • Waves Smart Account with escrow service
        Waves Smart Account with escrow service
      • Creating multisignature account via Waves IDE tools
        Creating multisignature account via Waves IDE tools
      • Creating multisignature account via Waves Client
        Creating multisignature account via Waves Client
      • Waves console explained
        Waves console explained
      Video tutorials
    Smart Account
  • Smart Asset
    Smart Asset
  • Developer Tools
    • Waves IDE
      Waves IDE
    • Visual Studio Code Extension
      Visual Studio Code Extension
    • Surfboard
      Surfboard
    • Ride REPL
      Ride REPL
    Developer Tools
  • Signer ◆
    Signer ◆
  • Waves API
    • Data Service API
      Data Service API
    • Node REST API
      Node REST API
    • Node gRPC Server
      Node gRPC Server
    • Blockchain Updates
      Blockchain Updates
    Waves API
  • Client Libraries
    • Waves C#
      • Install SDK
        Install SDK
      • Run Code Sample
        • Send Transactions
          Send Transactions
        • Use Crypto Utilities
          Use Crypto Utilities
        • Interact With Node
          Interact With Node
        • Set Up Smart Contracts
          Set Up Smart Contracts
        Run Code Sample
      Waves C#
    • Gowaves
      • Install SDK
        Install SDK
      • Run Code Sample
        • Send Transactions
          Send Transactions
        • Use Crypto Utilities
          Use Crypto Utilities
        • Interact With Node
          Interact With Node
        • Set Up Smart Contracts
          Set Up Smart Contracts
        Run Code Sample
      Gowaves
    • WavesJ
      • Install SDK
        Install SDK
      WavesJ
    • Ts-lib-crypto
      • Install SDK
        Install SDK
      Ts-lib-crypto
    • Waves-PHP
      • Install SDK
        Install SDK
      Waves-PHP
    • Waves-python
      • Install SDK
        Install SDK
      Waves-python
    • Waves-rust
      • Install SDK
        Install SDK
      Waves-rust
    Client Libraries
      • English
      • Русский
      On this page
        • Which API to use
      waves_logo Docs

          # Waves API

          The following APIs are available for Waves:

          • Node REST API (described in the “Node” chapter) provides the following features:

            • broadcasting a signed transaction to the blockchain
            • obtaining account data, token info, transactions, blocks, etc.
            • validating transactions, use various utilities, and much more.

            Each node owner can enable its REST API. The Waves team supports the node pools with the public API.

          • Waves Data Service API is intended for reading data from the blockchain, including market data from Exchange transactions, lists of transactions by type and variety of filters, etc.

          • gRPC Server (described in the “Node” chapter) is a node extension that enables running gRPC services. gRPC Server can obtain information about accounts, tokens, transactions, and blocks, as well as broadcast a signed transaction.

          • Blockchain Updates (described in the “Node” chapter) is a node extension for tracking changes made by each transaction: in account balances, in data storages, in token parameters and other.

          • Keeper Wallet API enables signing and sending transactions and exchange orders on behalf of a user in a browser with the Keeper Wallet extension installed.

          • Waves Signer is a TypeScript/JavaScript library that implements the interface for the signature provider library and enables signing and sending transactions on behalf of a user in any browser.

          💡 Client libraries for various programming languages are listed in the Client Libraries article.

          # Which API to use

          Different APIs are suitable for getting different blockchain data.

          Data Solution
          Balances
          Current account balance Node REST API or gRPC Server
          Changing the balance by blockchain height Blockchain Updates
          Tokens (assets)
          Token fields, including ticker; token search by ticker Data Service API
          Asset balance distribution to addresses Node REST API
          Changes in token parameters (as a result of reissue/burning, sponsorship setup, etc.) Blockchain Updates
          Exchange
          Exchange data for a pair of tokens: the last price, market data for 24 hours, candles Data Service API
          Transactions
          List of transactions by address Node REST API or gRPC Server
          Transaction status (confirmed/unconfirmed) Node REST API or gRPC Server
          Result of the Invoke Script transaction Node REST API or gRPC Server
          Search for transactions by type and filters Data Service API
          Changes performed by each transaction Blockchain Updates
          Entries in account data storages
          Current record values Node REST API or gRPC Server
          Changing entries Blockchain Updates
          Lease
          Active leases Node REST API or gRPC Server
          Changing leases Blockchain Updates
          Signer ◆
          Data Service API
          Signer ◆
          Data Service API