Skip to main content

REST API

The REST API provides HTTP access to chain data, account state, and transaction submission.

Base URL: http://localhost:5000/v1/

Endpoints

Node

MethodPathDescription
GET/healthNode health check. Returns 200 OK when the node is operational.
GET/statusNode status including current block height, connected peer count, and sync state.

Blocks

MethodPathDescription
GET/blocks/latestReturns the latest finalized block.
GET/blocks/:numberReturns the block at the specified height.
GET/blocks/:hashReturns the block with the specified hash.

Accounts

MethodPathDescription
GET/accounts/:addressReturns full account state: balance, nonce, and account type.
GET/accounts/:address/balanceReturns only the account balance.

Mempool

MethodPathDescription
GET/mempoolReturns the list of pending transactions in the mempool.
GET/mempool/countReturns the number of pending transactions.

Transactions

MethodPathDescription
POST/transactionsSubmit a signed transaction. The request body must contain the RLP-encoded signed transaction.
GET/transactions/:hashReturns a transaction by its hash.
GET/transactions/:hash/receiptReturns the execution receipt for a finalized transaction.

Faucet (Testnet and Devnet Only)

MethodPathDescription
POST/faucetRequest test tokens.

Faucet request body:

{
"address": "0x..."
}
note

The faucet endpoint is only available on testnet and devnet deployments. It is disabled on mainnet.

Rate Limiting

Rate limits are applied per IP address. Validator nodes enforce stricter limits to preserve resources for consensus operations. RPC nodes apply relaxed limits since they are designed for serving application traffic.

Response Format

All responses use JSON. Successful responses return the requested data directly. Error responses use a consistent structure:

{
"error": {
"code": "NOT_FOUND",
"message": "Block not found"
}
}

Common Error Codes

CodeHTTP StatusDescription
NOT_FOUND404The requested resource does not exist.
BAD_REQUEST400The request is malformed or missing required fields.
RATE_LIMITED429Too many requests from this IP address.
INTERNAL_ERROR500An unexpected server error occurred.