Docs

Aptos Network Documentation

Production-ready reference for building on Aptos with Dwellir. Covers REST, GraphQL indexer, transaction streaming, Move patterns, and Aptos-unique features.

Aptos RPC

With Dwellir, you get access to our global Aptos network which always routes your API requests to the nearest available location, ensuring low latency and the fastest speeds.

Get your API key

Why Build on Aptos

  • 160K+ TPS via Block-STM parallel execution
  • Sub-second finality (~250 ms blocks) with AptosBFT v4
  • Resource-oriented Move language with formal verification
  • Native sponsored and multi-agent transactions
  • Object model for powerful composition
  • Evolving token standards (Fungible Asset and Digital Asset)

Quick Start

Aptos RPC Endpoints
HTTPS
curl -X GET https://api-aptos-mainnet.n.dwellir.com/<API_Keys_Are_Not_Made_for_Bots>/v1 \  -H "Accept: application/json"
import { Aptos, AptosConfig } from '@aptos-labs/ts-sdk';const client = new Aptos(  new AptosConfig({ fullnode: 'https://api-aptos-mainnet.n.dwellir.com/<API_Keys_Are_Not_Made_for_Bots>/v1' }));const ledger = await client.getLedgerInfo();console.log(ledger.chain_id);
import requestsresp = requests.get('https://api-aptos-mainnet.n.dwellir.com/<API_Keys_Are_Not_Made_for_Bots>/v1')print(resp.json())
package mainimport (  "fmt"  "io"  "net/http")func main() {  resp, err := http.Get("https://api-aptos-mainnet.n.dwellir.com/<API_Keys_Are_Not_Made_for_Bots>/v1")  if err != nil { panic(err) }  defer resp.Body.Close()  body, _ := io.ReadAll(resp.Body)  fmt.Println(string(body))}
Bash
curl -X GET https://api-aptos-mainnet.n.dwellir.com/YOUR_API_KEY/v1 \
  -H "Accept: application/json"

Network Information

ParameterValueDetails
Chain ID1Mainnet
Native TokenAPT1 APT = 100,000,000 Octas
ConsensusAptosBFT v4~250 ms blocks
ExecutionBlock-STMParallel transactions

REST API Reference

  • Base path: /v1
  • Auth: Add your key in the URL path: https://api-aptos-mainnet.n.dwellir.com/YOUR_API_KEY/v1
  • JSON responses, snake_case fields, bcs-encoded payloads for transactions

GraphQL API Reference

  • Indexer GraphQL endpoint: https://api-aptos-mainnet.n.dwellir.com/YOUR_API_KEY/v1/graphql
  • Advanced queries for transactions, tokens, ANS, aggregations
  • Real-time subscription support (see Streaming for gRPC)

See the GraphQL section for examples and schema notes.

Transaction Stream Service

  • gRPC-based real-time transaction stream
  • Historical replay from genesis, checkpointing, custom processors
  • Early access available. Email support@dwellir.com

Move Development

  • Entry functions (transactions) vs view functions (read-only)
  • Modules, resources, and abilities (key, store, drop, copy)
  • Testing with Move unit tests and Move Prover

Object Model

  • Globally addressable objects enable safe composition
  • Reference types: ConstructorRef, MutatorRef, DeleteRef
  • Ownership hierarchies and type-safe conversions

Token Standards

  • Legacy: 0x1::coin, 0x3::token
  • Current: Fungible Asset (FA) and Digital Asset (DA)
  • Migration patterns and compatibility tips

Unique Aptos Features

  • Sponsored transactions (fee payer)
  • Multi-agent transactions (multiple signers)
  • Key rotation (proven/unproven)
  • Aggregator V2 counters
  • Orderless transactions

Code Examples

Find end-to-end examples for transfers, NFTs, module publish, and token ops in the respective sections.

Performance Optimization

  • Parallel-friendly design patterns (minimize write conflicts)
  • Gas optimization via simulation and views
  • Aggregators for scalable counters
  • Batching reads and writes when appropriate

Troubleshooting

  • Common REST errors, transaction failures, module verification
  • Gas estimation pitfalls and how to resolve them

Resources & Tools

  • Official SDKs (TS, Python, Rust)
  • Explorers, faucets, testing tools, community links