{"name":"Agentic Finance Graph — wallet sets","description":"Every address set behind a published metric, with its provenance, its true size, and the metrics that depend on it. Publish the set first, or do not make the claim.","rule":"Publish the address set first. A claim about a named set that does not show its members is not checkable, and an index that makes such claims gets called sloppy — correctly.","provenance_values":{"read from the chain":"Derived by us from on-chain data and reproducible by anyone with an RPC endpoint.","harvested from a cited index":"Somebody else's list, taken with the source URL stored against every member.","curated by hand":"A human decided. Argue with the human."},"as_of":"2026-10-22T14:23:46.109Z","producer":"afg-collector","degraded":false,"member_cap":250,"member_cap_note":"Sets are capped in this document for size; the size field is always the true total and the full set is available through the export.","count":1,"license":"https://creativecommons.org/licenses/by/4.0/","attribution":"Agentic Finance Graph — https://agenticfinancegraph.com","sets":[{"id":"cctp_contracts","title":"Circle CCTP contracts","purpose":"Detecting whether agent money leaves the chain through Circle's own bridge.","provenance":"harvested from a cited index","source":"https://developers.circle.com/cctp/references/contract-addresses","chain":"eip155:8453 + eip155:1","size":8,"completeness":"The TokenMessenger, MessageTransmitter and TokenMinter for Base and Ethereum, V2 plus the older V1 TokenMessenger. Of these, three distinct addresses can actually receive a burn from a wallet, and those are what the exit check matches against — which is why cctp_addresses_watched reads 3 against a set of this size, rather than the two numbers disagreeing. Other CCTP chains are not watched, because our payment scan only covers Base.","does_not_assert":"That agents do not move between chains. It asserts only that they do not do it through CCTP: a bridge aggregator is among our busiest counterparties, and aggregator hops are a separate measurement we have not made yet.","powers_metrics":["observed_cctp_exit_events","observed_cctp_exit_usd","cctp_addresses_watched"],"members":[{"address":"0x28b5a0e9c621a5badaa536219b3a228c8168cf5d","role":"token_messenger_v2","chain":"Base","domain":6,"chain_caip2":"eip155:8453"},{"address":"0x81d40f21f12a8f0e3252bccb954d722d4c464b64","role":"message_transmitter_v2","chain":"Base","domain":6,"chain_caip2":"eip155:8453"},{"address":"0xfd78ee919681417d192449715b2594ab58f5d002","role":"token_minter_v2","chain":"Base","domain":6,"chain_caip2":"eip155:8453"},{"address":"0x1682ae6375c4e4a97e4b583bc394c861a46d8962","role":"token_messenger_v1","chain":"Base","domain":6,"chain_caip2":"eip155:8453"},{"address":"0xe45b133ddc64be80252b0e9c75a8e74ef280eed6","role":"token_minter_v1","chain":"Base","domain":6,"chain_caip2":"eip155:8453"},{"address":"0x28b5a0e9c621a5badaa536219b3a228c8168cf5d","role":"token_messenger_v2","chain":"Ethereum","domain":0,"chain_caip2":"eip155:1"},{"address":"0x81d40f21f12a8f0e3252bccb954d722d4c464b64","role":"message_transmitter_v2","chain":"Ethereum","domain":0,"chain_caip2":"eip155:1"},{"address":"0xfd78ee919681417d192449715b2594ab58f5d002","role":"token_minter_v2","chain":"Ethereum","domain":0,"chain_caip2":"eip155:1"}],"members_shown":8}]}