waves_logo Docs
  • Node Owner Guide
    Node Owner Guide
  • Install Waves Node
    • Deploy Node in Docker
      Deploy Node in Docker
    • Install Node on Ubuntu
      Install Node on Ubuntu
    • Install Node on macOS
      Install Node on macOS
    • Install Node on Windows
      Install Node on Windows
    • Install from Source (Building SBT)
      Install from Source (Building SBT)
    Install Waves Node
  • Synchronize Waves Blockchain
    • Import/Export Blockchain
      Import/Export Blockchain
    • Download the Latest Blockchain
      Download the Latest Blockchain
    • Rollback Waves Node
      Rollback Waves Node
    Synchronize Waves Blockchain
  • Generate Blocks
    Generate Blocks
  • Upgrade Waves Node
    Upgrade Waves Node
  • Node Configuration
    Node Configuration
  • Logging Configuration
    Logging Configuration
  • Node Wallet
    Node Wallet
  • Features
    • Activation protocol
      Activation protocol
    Features
  • Custom Blockchain
    Custom Blockchain
  • Node REST API
    • API Key
      API Key
    • Working with Transactions
      Working with Transactions
    • Numeric Fields Format
      Numeric Fields Format
    • Pagination
      Pagination
    • CORS
      CORS
    • API Limitations of Pool of Public Nodes
      API Limitations of Pool of Public Nodes
    • Slow Requests
      Slow Requests
    • Response Codes and Errors
      Response Codes and Errors
    Node REST API
  • Extensions
    • gRPC Server
      gRPC Server
    • Blockchain Updates
      Blockchain Updates
    Extensions
  • Troubleshooting
    • Block Generation FAQ
      Block Generation FAQ
    Troubleshooting
  • Node Go
    Node Go
      • English
      • Русский
      On this page
        • API of Pool of Public Nodes
        • API of Your Own Node
        • Public Endpoints
        • Private Endpoints
      waves_logo Docs

          # Node REST API

          The Waves node REST API is the main interface for interacting with the blockchain. The API provides public endpoints and also private endpoints that require authorization using an API key.

          # API of Pool of Public Nodes

          The Waves team supports node pools with public API endpoints accessible to anyone:

          • Mainnet: https://nodes.wavesnodes.com
          • Testnet: https://nodes-testnet.wavesnodes.com
          • Stagenet: https://nodes-stagenet.wavesnodes.com

          The interactive documentation of endpoints in Swagger UI is also available on the links above.

          You can use public nodes to read blockchain data. Note that the number of simultaneous connections and request rate per IP address are limited for public nodes and responses are cached for a few seconds, so they may be outdated. For heavy use of the API, start your own node.

          The Waves team does not provide the API key for public nodes. If you want to use private endpoints, start your own node.

          # API of Your Own Node

          By default, the REST API is enabled in node settings and available locally at http://127.0.0.1:6869 . Interactive documentation in Swagger UI is also available on this link.

          You can modify settings or disable the API in the waves.rest-api section of the node configuration file, see the REST API Settings section.

          To access private endpoints, specify the API key hash in the waves.rest-api.api-key-hash parameter, see the instructions in the API Key article. For other parameters you can leave the default values.

          To provide external access to your node's API, use Nginx's proxy pass module or SSH port forwarding . It is also possible to open external access to the API by changing the network address in the configuration parameter waves.rest-api.bind-address, however, we do not recommend doing this for security reasons, since the node itself cannot limit the number of connections, request rate, and so on.

          # Public Endpoints

          Node REST API provides the following features:

          • Read the blockchain data:
            • account data: balances, data storage entries, aliases, scripts assigned;
            • token data: parameters, distribution by accounts;
            • active leases;
            • blocks;
            • transactions;
            • other data: feature activation status, block reward voting status etc.
          • Operate transactions: broadcast a signed transaction, pre-validate, check the transaction status — see the How to Operate Transactions in Node REST API article.
          • Use utilities such as generate an address from a public key, validate an address, generate a random seed, calculate hashes etc.

          💡 If Node REST API lacks the data you need, check the Waves Data Services API.

          # Private Endpoints

          Private endpoints require authorization using an API key set by the node owner.

          Private endpoints provide the ability to:

          • Manage accounts in the node wallet.
          • Sign transactions on behalf of accounts from the node wallet.
          • Control the node: stop, rollback, connect to peers.
          • Get debug information.
          Custom Blockchain
          API Key
          Custom Blockchain
          API Key