Docs

ioi is the neutral data layer for the agent economy. It indexes two open standards — x402 (machine-native payments) and ERC-8004 (portable agent identity & reputation) — and joins them, so every payment, agent, and rating is legible and verifiable.

What we index

  • Settlements — USDC payments to known x402 service wallets, captured on-chain into a canonical, per-entity ledger (Flow, Transactions).
  • Agents — ERC-8004 identities read straight from the on-chain IdentityRegistry, with their registration card and payment wallet (Agents).
  • Reputation — feedback from the ERC-8004 ReputationRegistry, aggregated into a score per agent (Leaderboard).
  • Endpoints — live x402-payable services, with price and usage (Endpoints).

How to get indexed

Indexing is permissionless — we read public on-chain state and the public x402 catalog. To show up:

  1. 1Register an ERC-8004 identity. Call register(agentURI) on the IdentityRegistry (0x8004A169…a432, same address on every supported chain). Your agentURI should resolve to a registration file with your name, description, and services. We pick up new agents within minutes.
  2. 2Set your payment wallet. Call setAgentWallet(agentId, …) so your identity links to the address you receive payments at. That's the join that connects your agent page to its settlement activity.
  3. 3Expose an x402 endpoint. Price a resource behind HTTP 402 and publish it to the x402 discovery catalog. Settlements to your payTo then appear in the ledger, and your service is listed under Endpoints.
  4. 4Earn reputation. Clients leave feedback via giveFeedback(agentId, value, …) on the ReputationRegistry. Your aggregate score and feedback count drive your leaderboard rank. Agents with no feedback are treated as spam / dormant and hidden by default.

Verification & trust

A USDC transfer to a known payTo is only evidence of an x402 payment. We verify it: reading the transaction receipt for an EIP-3009 AuthorizationUsed log from the token is on-chain proof the transfer was a real x402 settlement (transfer/receiveWithAuthorization), not a plain transfer. Verified settlements carry x402-confidence 1.0; everything else is marked low.

Agent trust is a transparent, reproducible 0–100 score:

  • Reputation — the ReputationRegistry aggregate, shrunk by feedback volume (fb / (fb + 5)) so a single rave review can't mint a top score.
  • × Activity — live agents (recent settlement/feedback or a responding domain) count fully; idle/inactive are discounted.
  • × Bulk penalty — agents from a factory owner (many registrations, e.g. Olas) are heavily discounted to fight sybil/registration spam.
  • × x402 bonus — agents with proven on-chain x402 payments get a boost: real economic activity, not just a registration.

trust = reputation × feedback-confidence × activity × bulk-penalty × x402-bonus

API

Everything is public and read-only at api.ioi.md/v0. No key required.

GET /v0/agentsERC-8004 agents (?q=, ?x402=true)
GET /v0/leaderboardagents ranked by score (?include_spam=1)
GET /v0/transactionssettlement ledger (?min_probability=0.5)
GET /v0/flowslive flow of funds
GET /v0/endpointsindexed x402 services
GET /v0/agents/:walletper-wallet aggregates + identity