Skip to main content
Version: 1.5.0

Amadeus Blockchain API

The HTTP API exposes everything a client needs to read and write the Amadeus L1: query chain state and balances, submit signed transactions, fetch cryptographic proofs, execute read-only contract calls, and subscribe to realtime events over WebSocket.

Base URLs

EnvironmentURL
Mainnethttps://mainnet-rpc.ama.one
Testnethttps://testnet-rpc.ama.one

Every endpoint on this site has a server selector in the Try-It panel — switch between Mainnet and Testnet without leaving the page.

Authentication

The HTTP API is public and unauthenticated — no API keys, headers, or rate-limit tokens are required to read chain state. Writes (/api/tx/submit*, contract POSTs) are authorized by the BLS12-381 signature on the transaction itself, not by an HTTP header.

Response envelope

Most JSON responses include a top-level error field:

{
"error": "ok",
"stats": { /* ... */ }
}
  • "error": "ok" — request succeeded; the payload is in a sibling field (stats, entry, txs, balance, etc.).
  • "error": "not_found", "error": "invalid_signature", … — request failed; the sibling payload may be absent.

A small number of endpoints (/api/contract/get_prefix, /api/proof/contractstate) return application/octet-stream (vecpak-encoded) rather than JSON. These are flagged on the relevant pages.

Identifier conventions

FieldFormat
Public keyBase58, 48 bytes (BLS12-381)
HashBase58, 32 bytes
SignatureBase58, 96 bytes
flat amountInteger, smallest unit (1 AMA = 10⁹ flat)
float amountFloating-point AMA for display

Most endpoints accept the Base58 form in the URL path. Where binary input is required (transaction submission, vecpak bodies), the request uses Content-Type: application/octet-stream.

WebSocket

For realtime streams (new entries, tx events, validator changes), upgrade an HTTP connection to a WebSocket at wss://mainnet-rpc.ama.one/ws/rpc. See WebSocket RPC endpoint for the protocol; an interactive test page lives at /ws/rpc/test.

SDKs

Rather than calling the HTTP API directly, most integrators use the official SDK, which handles tx packing, signing, and retries: see the SDK section. The HTTP reference here is the source of truth — the SDK wraps it.