{
  "chain": {
    "id": "rhchain",
    "name": "Robinhood Chain",
    "caip2": "eip155:4663"
  },
  "settlementToken": {
    "symbol": "USDG",
    "address": "0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168",
    "explorerUrl": "https://robinhoodchain.blockscout.com/address/0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168"
  },
  "codes": {
    "CANONICAL_TOKEN": "The address is the settlement token the registry names for this chain.",
    "DOCUMENTED_TOKEN": "The address is a dollar its issuer documents for this chain, though our rail here settles in another.",
    "DOMAIN_PROVEN": "The token's EIP-712 signing domain reproduces its live DOMAIN_SEPARATOR.",
    "DOMAIN_UNVERIFIED": "The signing domain could not be proven right now, so nothing about it is asserted.",
    "NOT_CANONICAL_TOKEN": "A token that presents itself as the settlement dollar but is not at its address.",
    "OTHER_TOKEN": "A token, but not the dollar this chain settles in.",
    "ZERO_ADDRESS": "The zero address: anything sent there is gone.",
    "CONTRACT_ACCOUNT": "The address is a contract, not a wallet.",
    "UNUSED_ADDRESS": "No transactions, no native balance and no settlement-token balance on this chain.",
    "AGENT_OWNER": "The address holds at least one agent in the chain's ERC-8004 identity registry.",
    "PAYEE_UNREGISTERED": "The address holds no agent in the chain's ERC-8004 identity registry.",
    "REGISTRY_UNREADABLE": "The identity registry could not be read right now.",
    "REGISTERED_AGENT": "The agent id exists in the chain's ERC-8004 identity registry.",
    "AGENT_NOT_FOUND": "No such agent id in the chain's ERC-8004 identity registry.",
    "CARD_CLAIMS_ID": "The registration file the agent points to lists this exact agent id back.",
    "CARD_DOES_NOT_CLAIM": "The registration file the agent points to lists registrations, and not this one.",
    "CARD_UNCONFIRMED": "The registration file could not be read or lists no registrations to compare.",
    "IDENTITY_NOT_A_REVIEW": "A registration shows who holds an id. It is not a review of the service.",
    "CHALLENGE_CANONICAL_ASSET": "The 402 challenge asks for the settlement token at its real address.",
    "CHALLENGE_WRONG_ASSET": "The 402 challenge asks for a token that is not the settlement token.",
    "DOMAIN_MISMATCH": "The 402 challenge tells the buyer to sign against a domain the token does not have.",
    "CHALLENGE_OTHER_CHAIN": "The 402 challenge does not ask for payment on this chain.",
    "CHALLENGE_NO_DOMAIN": "The 402 challenge names the right token but not the signing domain, so a wallet would have to guess it.",
    "CHALLENGE_SEVERAL_OFFERS": "The 402 challenge offers more than one way to pay on this chain; the answer is about the riskiest.",
    "PAYEE_IS_TOKEN_CONTRACT": "The payee is a token contract, not a wallet; money sent there is usually stuck."
  }
}