Retracer watches Arxium and indexes everything that happens, so your app can ask what an account did without replaying chain logic itself.
[
{
"action_hash": "0x9f2a1c...e04b",
"block_height": 184213,
"kind": "Transfer",
"from_address": "arx1p5k...9td2",
"payload": { "to": "arx1q9f...2mk3", "amount": 500 }
}, ...
]Plain REST, no SDK, no schema to generate. The chain you ask about is always in the path.
Watch
Retracer sits behind the chain and sees every block and action the moment it lands.
Index
Blocks, actions, and every address they touch, written down once, queryable forever.
Serve
Account history, block ranges, free-text search over plain REST, plus live server-sent-event streams and webhooks for blocks and account activity as they land.
Reading history straight from a node means replaying blocks yourself just to answer what an account did. Retracer ingests every block and action as it lands and keeps a queryable record. It is the same data model that already backs the Explorer and the Wallet. Actions are stored as JSON of any shape, so a new action type is indexed without an upgrade.
A deployment can opt into tolerant decoding, so an action with an unrecognized payload variant is logged and dropped instead of stalling the block it is in.
blocks
Every block, in order.
actions
Every action inside every block, as JSON, in any payload shape.
account_actions
Actions, indexed per account.
action_addresses
Every other role an action touches: recipient, validator, delegator.
chains
Every chain this deployment follows, side by side.
ingestion_cursor
How far Retracer has caught up, per chain.
Fetch any block by height or hash, with every action inside it.
Every action a given address sent or received, newest first, paginated.
One query for a block height, an address, or a hash, with no guessing input types.
Total blocks, block height, average block time, live tip.
Who has produced blocks, and how many, without touching validator state.
Turns owed vs. turns actually proposed, backfilled on demand from the node's own validator set, not a replay of chain-specific dispatch logic.
Subscribe over server-sent events (or a webhook) to new blocks or an account's activity as it happens, with the option to replay history first.
The chain id is in every path, so devnet and mainnet are served from one process and one query surface.