Skip to main content

Get started

Leverage REST APIs to interact directly with Tableland validator nodes at a gateway.

The Tableland Gateway API is organized around REST. You can leverage these APIs to read directly from tables and compose data across them, and make calls to learn information about the node itself. Keep in mind that a node listens to mainnet chains and testnet chains separately such that there are separate Base URLs for each respective environment.


There are no required prerequisites, but it may be helpful to become familiar with HTTPie and cURL since the examples provided use these. Also, jq is an optional tool to help pipe the output from the API calls to a more human readable, "pretty" format (e.g., curl <url> | jq).

Base URLs

Be sure to use the correct gateway for the corresponding network environment:

  • Mainnets:
  • Testnets:
  • Local: http://localhost:8080/api/v1

At the protocol level, the Tableland network is separated such that nodes process and respond to SQL queries relative to each environment. If you were to use the testnets gateway on a mainnet chain / contract, this would lead to issues. The testnets gateway only queries tables that exist on testnet chains, whereas the gateway only queries tables that exist on mainnet chains.


The following endpoints are available at the Base URL gateways above:


  • transactionHash ⇒ Resultant on-chain transaction hash corresponding to a table’s creation or a write query.
  • tableId ⇒ The unique identifier assigned to the created table upon the registry contract minting the table as an ERC721 token.
  • chainId ⇒ Blockchain or L2 solution on which transactions are being sent; available chainId include the following:
    • ethereum => 1
    • optimism => 10
    • arbitrum one => 42161
    • arbitrum nova => 42170
    • polygon => 137
    • filecoin => 314
    • ethereum sepolia => 11155111
    • optimism goerli => 420
    • arbitrum goerli => 421613
    • polygon mumbai => 80001
    • filecoin calibration => 314159
    • local tableland => 31337