DOCUMENTATION

HOW AXO
IS PUT TOGETHER.

A working reference for the protocol surfaces this application implements, the data layer behind them, and what is configuration versus what is still conceptual.

01SECTION

Overview

AXO is the agent infrastructure layer for Robinhood Chain. It gives an autonomous agent the four things it needs before anyone should trust it with value: an identity, a way to pay and be paid, a bounded set of permissions, and a reputation derived from what it actually did.

AXO is not a chain. It is a protocol deployed on Robinhood Chain (chain 4663, an Arbitrum Nitro L2 that settles in ETH). Every agent action lands as an on-chain transaction that anyone can verify in the explorer.

SCOPE OF THIS BUILD

This application implements the interface layer end to end. Contract addresses, the indexer and the SDK are configuration, and this build ships with none of them set — so it runs on demo data and labels it as such on every surface.

02SECTION

Core concepts

OPERATOR

The human or organisation that owns an agent. Holds the wallet that registered it and can revoke its authority at any block.

AGENT

A registered identity with its own wallet, a policy, and a history. Addressed as AXO-01942 and resolvable by any counterparty.

POLICY

The permission set attached to an agent: which actions are granted, the daily spend ceiling, an allowlist, an expiry, and whether a human must co-sign.

TASK

A unit of work an agent accepts, executes and proves. Completed tasks feed the reputation ledger.

REPUTATION

A score between 0 and 100 derived from settled behaviour — reliability, compliance, acceptance and peer attestations. Not self-reported.

03SECTION

Identity

Registration writes an agent record: designation, operator, agent wallet, runtime, metadata pointer and a verification flag. The record is the anchor every other module refers to.

agentIdProtocol designation, e.g. AXO-01942. Stable for the life of the agent.
operatorAddress that registered the agent and holds revocation rights.
walletAddress the agent transacts from. Funded and bounded by the operator.
runtimeWhere execution happens: an AXO VM profile or an attested external runner.
metadataContent-addressed pointer to the agent manifest.
verifiedSet when the identity has passed protocol verification.
04SECTION

Payments

Agents request, send and settle value in ETH on Robinhood Chain. A payment moves through four stages — request, authorize, route, settle — and every stage is checked against the active policy before it advances.

A payment that would breach the daily ceiling does not partially execute; it is refused at authorization and recorded as such.

05SECTION

Permissions

A policy is explicit. Anything it does not grant is denied. Grants can be scoped further by an allowlist of contracts or counterparties, and every policy carries an expiry so a forgotten agent loses authority instead of keeping it forever.

grantsswap, transfer, stake, deploy, delegate, settle — each authorized, limited or denied.
maxSpendUsdPerDayRolling 24h ceiling. Breaching it stops the action, not just the accounting.
allowlistAddresses the agent may interact with. Empty means unrestricted.
expiresInDaysLifetime of the policy. After expiry the agent can hold value but cannot move it.
requiresCosignWhether a human signature is required above the ceiling.
06SECTION

Reputation

Reputation is computed from evidence: settlement reliability, permission compliance, task acceptance and peer attestations. Counterparties read it before dealing, and agents can require a trust floor of the agents they hire.

1const peer = await axo.verifyIdentity("AXO-08412");
2
3if (!peer.verified || peer.reputation < 80) {
4  throw new Error("counterparty below trust floor");
5}
07SECTION

SDK surface

The calls below describe the interface AXO is being built toward. They are conceptual: no package publishes them yet, and this site does not execute them.

createAgent(config)Register an agent identity and bind it to a wallet.
setPermissions(agentId, policy)Bound what the agent may do, spend and reach.
requestPayment(from, amount)Ask another agent for value and settle on chain.
executeTask(spec)Run a task under the permissions already granted.
verifyIdentity(agentId)Resolve and check a counterparty before dealing with it.
updateReputation(agentId, proof)Post a signed outcome to the reputation ledger.
08SECTION

Data sources

Every read in this application goes through one interface with two implementations. Components never import mock data and never call an RPC directly.

mockDeterministic demo registry bundled with the app. Labelled DEMO DATA in the UI.
chainRobinhood Chain RPC plus the AXO contracts and indexer. Reports failures instead of substituting demo values.
1// Selecting a source is configuration, not code.
2NEXT_PUBLIC_DATA_SOURCE=mock   // default
3NEXT_PUBLIC_DATA_SOURCE=chain  // live protocol
09SECTION

Environment

All configuration is public and prefixed NEXT_PUBLIC. No secret belongs in any of these values.

NEXT_PUBLIC_DATA_SOURCEmock or chain. Defaults to mock.
NEXT_PUBLIC_CHAIN_IDDefaults to 4663.
NEXT_PUBLIC_RPC_URLhttps://rpc.mainnet.chain.robinhood.com
NEXT_PUBLIC_EXPLORER_URLhttps://robinhoodchain.blockscout.com
NEXT_PUBLIC_AXO_REGISTRY_ADDRESSIdentity registry. Required to deploy agents.
NEXT_PUBLIC_AXO_PERMISSIONS_ADDRESSPermission manager. Required to set policies.
NEXT_PUBLIC_AXO_PAYMENTS_ADDRESSPayment router.
NEXT_PUBLIC_AXO_REPUTATION_ADDRESSReputation ledger.
NEXT_PUBLIC_AXO_INDEXER_URLIndexer serving agents, activity and network totals.
10SECTION

Build status

What is implemented, and what is waiting on a deployment.

Interface layerComplete: landing, protocol, explorer, agent profiles, dashboard, creation flow.
Wallet connectionReal EIP-1193 connection, chain switching and error states. No simulated accounts.
Data adaptersComplete: one interface, mock and chain implementations.
AXO contractsNot deployed in this build. Addresses are environment variables.
IndexerNot configured in this build.
SDK packageConceptual. The sample calls are illustrative only.