https://rpc.testnet.sundialprotocol.com.
Base URL
/v1 or versioning prefix — endpoints are served at the root.
API Style
The Sundial node API is RPC-style HTTP, not REST. Endpoints are named after operations rather than resources, and their HTTP methods (GET vs POST) reflect implementation details rather than strict REST semantics. For example, POST /submit accepts a raw hex string as its body, not a JSON object.
Authentication
Public read and submission endpoints require no authentication. ThePOST /faucet/claims endpoint requires a static bearer token (Authorization: Bearer <FAUCET_API_KEY>) — this is a server-to-server endpoint and is not intended for direct end-user access.
Request Format
Only two endpoints take a request body.POST /faucet/claims accepts a JSON body with Content-Type: application/json. POST /submit takes the raw hex-encoded CBOR transaction as a plain text body:
GET endpoints.
Response Format
All endpoints return JSON responses. ThePOST /submit success response carries a Redis stream entry ID, not a transaction hash — compute the hash client-side from the CBOR if you need it.
Error Handling
Unexpected failures return a500 response:
400 with a descriptive message, and not-found conditions return 404. The faucet endpoint returns structured error objects with a stable code field rather than generic messages — see the Faucet API page for the full error code table.
Endpoint Summary
The table below lists the node’s public endpoints. The Router column shows which deployments serve each endpoint: full means any node runningNODE_ROLE=all (the default); api means it is also served by NODE_ROLE=api nodes used in horizontally scaled public deployments.
Quick Start
Run a liveness check to confirm the node is reachable:503 with a failing array identifying the affected subsystems.
Explore the API
Transactions
Submit transactions to the L2 mempool, look up individual transactions, and query address history.
UTxOs
Fetch spendable unspent outputs for any address on the Sundial L2 ledger.
Blocks
Query block data by header hash and inspect the state queue committed to L1.
Faucet API
Claim test funds on the L2 programmatically for automated testing and CI pipelines.