Skip to content

Aptos APIs

Use these APIs to read chain state, submit transactions, index historical data, and fund test accounts. Most application code should go through an official SDK; the HTTP, GraphQL, and gRPC endpoints below are the underlying services those SDKs call.

You needUse
Latest on-chain state, transaction submission, or simulationFullnode REST API
NFTs, objects, historical activity, or aggregated tablesIndexer GraphQL API
A real-time or historical transaction feed for a custom indexerTransaction Stream (gRPC)
Test APT on Devnet or TestnetFaucet API
SQL, dashboards, or third-party RPCData providers

Aptos Labs operates these deployments for each Aptos network on behalf of the Aptos Foundation. fullnode.{network}.aptoslabs.com is an alias of api.{network}.aptoslabs.com; prefer the api. hostnames.

NetworkREST API (/v1)Indexer GraphQLTransaction Stream gRPCFaucet
Mainnethttps://api.mainnet.aptoslabs.com/v1https://api.mainnet.aptoslabs.com/v1/graphqlgrpc.mainnet.aptoslabs.com:443
Testnethttps://api.testnet.aptoslabs.com/v1https://api.testnet.aptoslabs.com/v1/graphqlgrpc.testnet.aptoslabs.com:443Mint page and https://faucet.testnet.aptoslabs.com (Google sign-in)
Devnethttps://api.devnet.aptoslabs.com/v1https://api.devnet.aptoslabs.com/v1/graphqlgrpc.devnet.aptoslabs.com:443https://faucet.devnet.aptoslabs.com (programmatic)

The Node API spec is published on this site as OpenAPI JSON and a browsable REST API reference. Live Swagger UIs also run on each fullnode at /v1/spec.

This API ships with every fullnode. It is the low-latency path for reading state, submitting transactions, and simulating transactions.

The Node API, Indexer, Transaction Stream, and faucet implementations are open source in aptos-core. Anyone can run them; independent operators and builders do so worldwide. Additional RPC vendors are listed in the Aptos ecosystem directory.

Labs-hosted Node, Indexer, and Transaction Stream APIs allow anonymous access with a low per-IP rate limit. For higher limits and usage metrics, create a Geomi API key and send it as a bearer token.

Terminal window
curl "https://api.mainnet.aptoslabs.com/v1" \
-H "Authorization: Bearer YOUR_API_KEY"
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
const aptos = new Aptos(
new AptosConfig({
network: Network.MAINNET,
clientConfig: { API_KEY: process.env.APTOS_API_KEY },
}),
);