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 keyWhy 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))}curl -X GET https://api-aptos-mainnet.n.dwellir.com/YOUR_API_KEY/v1 \
-H "Accept: application/json"Network Information
| Parameter | Value | Details |
|---|---|---|
| Chain ID | 1 | Mainnet |
| Native Token | APT | 1 APT = 100,000,000 Octas |
| Consensus | AptosBFT v4 | ~250 ms blocks |
| Execution | Block-STM | Parallel 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

