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.
Setup
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:
https://tableland.network/api/v1
- Testnets:
https://testnets.tableland.network/api/v1
- 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 tableland.network
gateway only queries tables that exist on mainnet chains.
Endpoints
The following endpoints are available at the Base URL gateways above:
/query
⇒ Write a SQL read query and get table data./receipt/{chainId}/{transactionHash}
⇒ Retrieve on-chain transaction information regarding a table create or write query./tables/{chainId}/{tableId}
} ⇒ Get table metadata and information./health
⇒ Check if the validator is up and running./version
⇒ Check version information about the validator daemon.
Definitions
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 sepolia =>
421614
- polygon mumbai =>
80001
- filecoin calibration =>
314159
- local tableland =>
31337
- ethereum =>