Base URL
data, error, and code.
Endpoint Groups
| Need | Endpoint |
|---|---|
| Full account | GET /address/{address} |
| Balance | GET /address/{address}/balance |
| Nonce | GET /address/{address}/nonce |
| Username | GET /address/{address}/username |
| Computed shard | GET /address/{address}/shard |
| Code hash | GET /address/{address}/code-hash |
| Storage keys | GET /address/{address}/keys, GET /address/{address}/key/{key}, POST /address/iterate-keys |
| ESDT and NFT data | GET /address/{address}/esdt, GET /address/{address}/nft/{tokenIdentifier}/nonce/{nonce} |
| Guardian data | GET /address/{address}/guardian-data |
| Bulk accounts | POST /address/bulk |
Query Options
Most account endpoints accept historical state selectors:| Param | Use |
|---|---|
onFinalBlock | Query latest finalized block. |
onStartOfEpoch | Query state at an epoch start. |
blockNonce | Query at a block nonce. |
blockHash | Query at a block hash. |
blockRootHash | Query at a state root. |
hintEpoch | Provide epoch hint for historical lookup. |
forced-shard-id | Override automatic routing. |
Request
- cURL
- TypeScript
- Python
- Rust
Success Response
Edge Cases
| Case | Behavior | Fix |
|---|---|---|
HTTP 200 with error | Observer returned an operation-level failure. | Treat the response as failed. |
| Historical selector unavailable | Selected observer may not have the requested history. | Retry with supported selectors or without historical params. |
/address/{address}/shard | Computed locally from the address. | Use it to debug routing without observer dependency. |
| Bulk read | Addresses are grouped by shard. | Keep request size bounded in your client. |
Verify
- HTTP status is
200. - Response body has
error: "". - Expected field exists under
data. - Historical queries return data for the intended block selector.

