{"name":"Agentic Finance Graph — partner gravity","tier":"public","evidence_withheld":6,"evidence_note":"Aggregates are public; worked examples are not. 6 example identities were withheld from this response — a roster of somebody else's identities does not belong on an unauthenticated page.","description":"Third-party agent catalogs joined to our own qualifier. Every rate is over `attempted` — the identities WE ingested and checked — never over a partner's published census, because a rate over somebody else's marketing total cannot be reproduced. Read the caveats: they are part of the number.","license":"https://creativecommons.org/licenses/by/4.0/","attribution":"Agentic Finance Graph — https://agenticfinancegraph.com","as_of":"2026-09-26T17:52:30.208Z","evidence_is_desk_only":"Each partner block may carry an `evidence` array of up to three worked examples. The public endpoint strips it: aggregates are public, a roster of somebody else’s identities is not.","producer":"AFG-Pulse partner gravity — third-party catalogs joined to our own qualifier","method_url":"https://agenticfinancegraph.com/ai-agent-liveness-methodology-l0-l9-ladder","denominator_rule":"attempted = identities from that source we ingested and ran the qualifier on. Never the partner's own published census — a rate over somebody else's marketing total is not reproducible.","what_moved_usdc_means":"The identity's declared wallet sent USDC to a different address AFTER the identity existed. It is not L7. L7 means a payment for work, and from a raw wallet read a token launch, a bonding-curve buy and a DEX swap look exactly like one. We publish what we measured and name the gap rather than promoting a transfer into a sale.","partners":{"fetch":{"attempted":34434,"declared_a_wallet":52,"distinct_wallets":38,"on_shared_wallet":21,"bound":31,"qualified":31,"moved_usdc":5,"moved_and_funded":0,"repeat_counterparties":0,"had_history_before_launch":1,"moved_usd":12413.395317,"moved_float":0.070481,"their_status_available":0,"their_status_undergrad":0,"their_status_active":1156,"on_job_rail":0,"has_token":0,"distinct_operators":0,"operator_known":0,"max_identities_one_operator":0,"max_identities_on_one_wallet":6,"bind_rate":0.0009002729860022071,"shared_wallet_rate":0.40384615384615385,"identities_per_operator":null,"moved_usdc_rate_of_qualified":0.16129032258064516,"moved_usdc_rate_of_attempted":0.00014520532032293664,"l7":null,"l7_blocker":"Withheld. L7 needs a payment for work — an ACP settlement or an x402 ticket — and from a raw wallet read a token launch, a bonding-curve buy and a DEX swap are indistinguishable from one. `moved_usdc` is published instead, which is exactly what we measured.","their_object":"Almanac registrations / Agentverse 'active'. A different object from ours: reach and expiry, not funded payment.","caveats":["An Almanac identity is a Fetch-chain agent1q… address. It is not a Base wallet and cannot be paid in USDC on Base without a declared EVM address, which is why the bind rate here is near zero.","Our ingest samples Agentverse search with terms deliberately biased toward money (wallet, usdc, x402, treasury). That biases the bind rate UPWARD; a uniform sample would be lower still.","We do not probe Agentverse endpoints, so no L1-L6 rung is claimed here.","FET-chain spend does not make a Base L7. It is a different money object and is not mixed in."],"last_run":{"pages":8,"rows":400,"new_rows":0,"with_wallet":0,"errors":0}},"virtuals":{"attempted":84768,"declared_a_wallet":84133,"distinct_wallets":29569,"on_shared_wallet":60135,"bound":23998,"qualified":12703,"moved_usdc":2747,"moved_and_funded":353,"repeat_counterparties":251,"had_history_before_launch":1371,"moved_usd":137703890.201677,"moved_float":659754.669491,"their_status_available":1091,"their_status_undergrad":83479,"their_status_active":0,"on_job_rail":25909,"has_token":1091,"distinct_operators":29676,"operator_known":84768,"max_identities_one_operator":20712,"max_identities_on_one_wallet":20712,"bind_rate":0.283102114005285,"shared_wallet_rate":0.7147611519855467,"identities_per_operator":2.86,"moved_usdc_rate_of_qualified":0.2162481303629064,"moved_usdc_rate_of_attempted":0.0324060966402416,"l7":null,"l7_blocker":"Withheld. L7 needs a payment for work — an ACP settlement or an x402 ticket — and from a raw wallet read a token launch, a bonding-curve buy and a DEX swap are indistinguishable from one. `moved_usdc` is published instead, which is exactly what we measured.","their_object":"Tokenised agents, ACP jobs, aGDP. FDV of $VIRTUAL or of a child token is not a denominator here.","caveats":["Bound on the declared agent wallet, or the ERC-6551 token-bound account when no agent wallet is declared. The token address is recorded and never bound: holders are fans, not operators.","Identities sharing a wallet with another identity in the same catalog are excluded from `bound` and never checked. One address in this catalog is declared by 84 different agents; counting each as its own live agent would multiply one operator's activity by 84. `shared_wallet_rate` publishes how often this happens.","Outbound USDC before the agent's own launch date is excluded, and counted separately as `had_history_before_launch`. A declared wallet is frequently years older than the agent declared on it.","`moved_usdc` is NOT L7. A bonding-curve buy, a token launch and a DEX swap are all outbound USDC transfers from here. L7 on this catalog needs an ACP settlement, and ACP job state is not ingested yet.","Same-funder clustering across distinct wallets is not yet applied. Read every rate as an upper bound."],"last_run":{"pages":8,"rows":1600,"new_rows":0,"with_wallet":1600,"errors":0,"total":84945},"acp":{"as_of":"2026-09-26T20:25:59.345Z","producer":"AFG-Pulse ACP job index (Base, keyless mesh, verified ABI)","contract":"0x238E541BfefD82238730D00a2208E5497F1832E0","evidence":{"published_by":"Virtuals Protocol documentation, ACP Changelogs","source_url":"https://whitepaper.virtuals.io/acp/acp-changelogs.md","verified_on_chain":"2026-09-12","on_chain_checks":["eth_getCode returns 163 bytes — an EIP-1967 proxy, not an empty address","EIP-1967 implementation slot resolves to 0x8e86fbef4a4c927561cb6447ced77fffbf3b77bc","eth_getLogs shows ~50-60 events per 1,900 blocks across five consecutive windows, so the contract is live rather than historical"],"abi_resolved":"2026-09-12. The verified implementation ABI was fetched from the block explorer's V2 API and every topic0 we had already observed on-chain decoded to a named event — independent confirmation that both the ABI and our keccak implementation are correct. Event names below are read from that ABI, never guessed.","settlement_token":"USDC on Base, 6 decimals. NOT assumed from the amount magnitude: a JobFunded event carrying raw 10000 was matched against its own transaction receipt, which contained a USDC Transfer of exactly 10000 raw. The unit is confirmed against the chain, not inferred from plausibility.","_still_not_claimed":"A PaymentReleased with amount 0 is not a payment. In a sample of 59, thirty-seven released nothing at all, so counting released events rather than released value would have reported an economy roughly three times its real size."},"settlement":{"token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","decimals":6,"_confirmed_by":"JobFunded raw 10000 matched a USDC Transfer of 10000 raw in the same transaction receipt"},"scanned_to_block":51832505,"head_block":51832504,"blocks_behind":0,"jobs":8452,"jobs_funded":5030,"jobs_completed":1867,"jobs_expired":4210,"jobs_rejected":125,"jobs_with_payout_event":1867,"jobs_actually_paid":805,"zero_value_payout_rate":0.5688,"funded_usd":167.6183,"paid_usd":56.69921,"refunded_usd":104.7994,"distinct_clients":130,"distinct_providers":194,"paid_providers":84,"virtuals_paid_providers":3,"virtuals_paid_identities":3,"virtuals_paid_usd":0.621,"erc8004_paid_actors":8,"caveats":["Amounts are USDC on Base at six decimals, confirmed by matching a JobFunded event against the USDC Transfer in its own transaction receipt — not inferred from the numbers looking plausible.","A PaymentReleased carrying zero is NOT a payment, and most of them do. `jobs_with_payout_event` and `jobs_actually_paid` are both published, and `zero_value_payout_rate` is the gap. Counting payout events as payments would overstate this economy several times over.","Tickets here are genuinely tiny — cents, sometimes fractions of a cent. That is what a working micro-payment rail looks like, and it is why dollar totals will always read small beside any DeFi figure.","Event names come from the verified implementation ABI, and every topic we observed decoded to one. No event is named by guesswork.","The index walks forward from thirty days before its first run. `blocks_behind` says how far from the chain head it has reached; figures are partial until that is zero."]}},"olas":{"attempted":0,"declared_a_wallet":0,"distinct_wallets":0,"on_shared_wallet":0,"bound":0,"qualified":0,"moved_usdc":0,"moved_and_funded":0,"repeat_counterparties":0,"had_history_before_launch":0,"moved_usd":0,"moved_float":0,"their_status_available":0,"their_status_undergrad":0,"their_status_active":0,"on_job_rail":0,"has_token":0,"distinct_operators":0,"operator_known":0,"max_identities_one_operator":0,"max_identities_on_one_wallet":0,"bind_rate":null,"shared_wallet_rate":null,"identities_per_operator":null,"moved_usdc_rate_of_qualified":null,"moved_usdc_rate_of_attempted":null,"l7":null,"l7_blocker":"Withheld. L7 needs a payment for work — an ACP settlement or an x402 ticket — and from a raw wallet read a token launch, a bonding-curve buy and a DEX swap are indistinguishable from one. `moved_usdc` is published instead, which is exactly what we measured.","blocker":"No connector. Olas identity is a service safe on the Olas stack, not an 8004 token, and we do not scrape the Pearl UI as a census. Empty until Mech settlement wallets are ingested."},"x402":{"payers":24,"tickets":279,"labeled_l7":19,"farm":9,"sub7":5,"rail_unique_payers_cited":7034,"rail_coverage":0.003412,"caveats":["These classes describe the x402 payers WE observe — wallets already bound in our graph — not the whole rail. rail_coverage says how small that is against a public index's unique-payer count for the same chain.","labeled_l7 requires a verified payment made before the first x402 ticket, or to a different counterparty. A ticket may not be the evidence that promotes its own payer.","A farm cluster here means the registration was minted by an address that minted 25 or more. It is a shape in the data, not a claim about intent.","Unique payers and ticket counts are both published: farms retry, so a ticket share always looks worse than a payer share."]},"wallets_7702":{"delegated_n":2471,"delegated_float_usd":29732.39,"eoa_visible_n":13544,"eoa_visible_float_usd":86982.72,"distinct_impls":38,"top_impl_share":0.3569,"top_impl_float_share":0,"allowlisted_share":0,"allowlisted_float_share":0,"unknown_share":1,"impls":[{"impl":"0x000100abaad02f1cfc8bbe32bd5a564817339e72","family":"unknown","n":882,"float_usd":0,"share":0.3569,"float_share":0},{"impl":"0xa46cc63ebf4bd77888aa327837d20b23a63a56b5","family":"unknown","n":591,"float_usd":0,"share":0.2392,"float_share":0},{"impl":"0x7702cb554e6bfb442cb743a7df23154544a7176c","family":"unknown","n":299,"float_usd":11246.24,"share":0.121,"float_share":0.3782},{"impl":"0x63c0c19a282a1b52b07dd5a65b58948a07dae32b","family":"unknown","n":274,"float_usd":12143.21,"share":0.1109,"float_share":0.4084},{"impl":"0xa845c74344fc9405b1fcf712f04668979573c1bf","family":"unknown","n":96,"float_usd":0.05,"share":0.0389,"float_share":0},{"impl":"0x490aac77c960b0569c8e446ac7e12490bd44ca1d","family":"unknown","n":52,"float_usd":4.45,"share":0.021,"float_share":0.0001},{"impl":"0x69007702764179f14f51cdce752f4f775d74e139","family":"unknown","n":51,"float_usd":81.5,"share":0.0206,"float_share":0.0027},{"impl":"0x612373d7003d694220f7800eeaf8e3924c0951d3","family":"unknown","n":41,"float_usd":5845.58,"share":0.0166,"float_share":0.1966},{"impl":"0xd6cedde84be40893d153be9d467cd6ad37875b28","family":"unknown","n":33,"float_usd":108.29,"share":0.0134,"float_share":0.0036},{"impl":"0x36d3cbd83961868398d056efbf50f5ce15528c0d","family":"unknown","n":25,"float_usd":191.67,"share":0.0101,"float_share":0.0064},{"impl":"0xcc0c946eecf01a4bc76bc333ea74ceb04756f17b","family":"unknown","n":21,"float_usd":68.6,"share":0.0085,"float_share":0.0023},{"impl":"0xe6cae83bde06e4c305530e199d7217f42808555b","family":"unknown","n":21,"float_usd":21.13,"share":0.0085,"float_share":0.0007}],"caveats":["Shares are given by wallet count and by float. Weight by float for blast radius: ten dust EOAs are not the same finding as one funded wallet.","An implementation outside the allowlist is unknown, not malicious.","Every rate is over wallets whose code we have actually read, never over wallets we have not looked at."]},"circle":{"l7_usdc_float":7882.17,"l7_wallets":459,"caveats":["Float on wallets bound to an actor we have observed paying. A floor, not USDC held by agents in general.","CCTP funding that precedes a first payment is not yet measured. Observed CCTP exits are zero and published as zero."]},"bankr":{"as_of":"2026-09-26T19:42:31.266Z","producer":"AFG-Pulse Bankr fee index — operator's own launch registry, their public fee endpoint, our own payment scan","registry":{"source":"https://api.bankr.bot/discover","pointed_to_by":"https://x.com/bankrbot/status/2098719596304040166","their_words":"canonical feed: bankr.bot/terminal/discover has the live registry of bankr launches","auth":"none — unauthenticated public endpoint. We hold no API key and no write key.","walk_complete":false},"launches_indexed":184491,"launches_on_base":107532,"indexed_range":{"oldest_launch":"2026-04-15T23:27:58.316Z","newest_launch":"2026-09-26T19:35:23.253Z","walk_complete":false},"head_sync":{"pages":1,"fresh":61,"caught_up":true,"resumed_gap":false,"error":false},"backfill":{"pages_this_run":14,"history_exhausted":false},"fee_recipients_with_more_than_one_launch":27870,"distinct_fee_recipients":74843,"distinct_deployers":47552,"fees":{"_whose_numbers":"Bankr's own, from their public token-fee-summary endpoint. We did not reproduce them and we label them cited, not measured.","tokens_asked":91167,"tokens_with_fees_above_zero":312,"tokens_with_no_fee_record":90855,"fee_backend":{"doppler":308,"clanker":0},"fee_record_rate_over_asked":0.0034,"fee_record_rate_by_chain":{"robinhood":{"asked":66781,"with_fees":96,"rate":0.0014},"base":{"asked":24203,"with_fees":216,"rate":0.0089},"arc":{"asked":118,"with_fees":0,"rate":0},"arbitrum":{"asked":65,"with_fees":0,"rate":0}},"base_fee_record_rate_by_launch_week":[{"week":"2026-04-13","asked":0,"with_fees":0,"rate":null},{"week":"2026-04-20","asked":0,"with_fees":0,"rate":null},{"week":"2026-04-27","asked":0,"with_fees":0,"rate":null},{"week":"2026-05-04","asked":0,"with_fees":0,"rate":null},{"week":"2026-05-11","asked":0,"with_fees":0,"rate":null},{"week":"2026-05-18","asked":0,"with_fees":0,"rate":null},{"week":"2026-05-25","asked":0,"with_fees":0,"rate":null},{"week":"2026-06-01","asked":0,"with_fees":0,"rate":null},{"week":"2026-06-08","asked":0,"with_fees":0,"rate":null},{"week":"2026-06-15","asked":0,"with_fees":0,"rate":null},{"week":"2026-06-22","asked":0,"with_fees":0,"rate":null},{"week":"2026-06-29","asked":0,"with_fees":0,"rate":null},{"week":"2026-07-06","asked":0,"with_fees":0,"rate":null},{"week":"2026-07-13","asked":231,"with_fees":2,"rate":0.0087},{"week":"2026-07-20","asked":409,"with_fees":1,"rate":0.0024},{"week":"2026-07-27","asked":334,"with_fees":2,"rate":0.006},{"week":"2026-08-03","asked":561,"with_fees":9,"rate":0.016},{"week":"2026-08-10","asked":774,"with_fees":12,"rate":0.0155},{"week":"2026-08-17","asked":12185,"with_fees":35,"rate":0.0029},{"week":"2026-08-24","asked":4875,"with_fees":45,"rate":0.0092},{"week":"2026-08-31","asked":1006,"with_fees":24,"rate":0.0239},{"week":"2026-09-07","asked":601,"with_fees":49,"rate":0.0815},{"week":"2026-09-14","asked":836,"with_fees":4,"rate":0.0048},{"week":"2026-09-21","asked":2391,"with_fees":33,"rate":0.0138}],"_how_to_read_the_rate":"Most tokens with no fee record genuinely earned nothing, but not all. Bankr's batch fee endpoint sometimes omits a token that its own per-token endpoint shows did earn, on both chains and for new and older launches alike, so the counts and totals here are under-counts. batch_coverage_crosscheck re-measures how often, split by chain and by launch age, on every run. Separately, the rate varies several-fold between launch weeks, so the blended figure describes the window we have indexed and nothing wider. It is not a floor, not an estimate, and no mechanism for the omissions is claimed.","refresh":{"stalest_check_on_a_fee_earning_token":"2026-09-26T13:49:40.905Z","omitted_this_run_but_previously_positive_kept":0,"lifetime_decreases_seen_this_run":0,"_meaning":"An omission from the endpoint is not a zero, so a token that already had fees keeps them when a batch leaves it out. Fees only rise in the token's own units, but the USD figure is Bankr's valuation and moves with prices, so a small decrease is expected when ETH falls. Decreases are written exactly as reported, because it is their number, and counted here so they are visible."},"batch_coverage_crosscheck":{"base":{"older":{"omitted_tokens_sampled":520,"found_to_have_earned":11,"since_filled_by_batch":0,"share_hidden_by_omission":0.0212},"recent":{"omitted_tokens_sampled":510,"found_to_have_earned":17,"since_filled_by_batch":0,"share_hidden_by_omission":0.0333}},"robinhood":{"older":{"omitted_tokens_sampled":520,"found_to_have_earned":23,"since_filled_by_batch":0,"share_hidden_by_omission":0.0442},"recent":{"omitted_tokens_sampled":510,"found_to_have_earned":52,"since_filled_by_batch":0,"share_hidden_by_omission":0.102}}},"_crosscheck_meaning":"Tokens the batch endpoint omitted, re-checked one at a time against Bankr's per-token endpoint, accumulated across runs and split by age at check (recent = under 48 hours since launch). found_to_have_earned counts omitted tokens that had in fact earned fees; since_filled_by_batch counts those the batch endpoint has returned a record for since, which is what separates a lag from a permanent omission. Nothing sampled here is added to the totals: the per-token endpoint reports WETH, the totals are Bankr's USD, and summing them would invent a figure neither endpoint published.","total_fees_usd":2514618.5,"platform_share_usd":1164653.31,"creator_share_usd":1253766.67},"loop":{"_whose_numbers":"Ours. This is the half nobody else can check for them.","fee_recipients_on_base":47404,"recipients_observed_paying_anyone":0,"paid_out_usd":0,"payments_to_a_named_seller":0,"recipients_paid_for_acp_work":0,"recipients_bound_to_an_agent_we_track":15,"recipients_that_are_named_sellers":4,"closes":false,"scan_scope":{"wallets_our_payment_scan_covers":588,"_meaning":"Our payment scan follows wallets bound to identities in this graph. A fee recipient outside that set cannot appear as a payer, whatever it actually does with its money.","overlap_with_fee_recipients":15},"what_this_does_and_does_not_show":"Some fee recipients are inside our scan scope, so the paying figures above are measurements rather than scope artefacts."},"caveats":["The launch registry is the operator's own canonical feed, which they pointed us to publicly. We page it; we do not infer membership from a fingerprint.","Asked whether a hook, beneficiary and token-address suffix identify a Bankr launch, Bankr said they could not confirm it gives a clean 1:1 match without false positives from other Doppler integrators. We agree, and use the registry instead of the fingerprint.","Fee figures in USD are BANKR'S OWN computation from their endpoint. They are cited, not measured by us, and are labelled that way everywhere they appear.","Market capitalisation, price and 24h volume are returned by the same endpoint and are deliberately not stored. A token's market cap is a crowd's opinion, never capital at work.","The loop closes only when a fee recipient is observed paying a seller we can name. A zero here means UNMEASURED, not disproven — see loop.scan_scope. Our payment scan covers wallets bound to identities in this graph, and a fee recipient outside that set is invisible to it by construction.","We watch a fee recipient only for payments it makes. Nothing here enters the site's own spending headline or actor count.","A launch with no fee record is the ordinary case, not a gap: the fee endpoint omits tokens it has nothing for, and we count those omissions rather than hiding them.","CORRECTION, 2026-09-14: an earlier version of this caveat called the fee-record rate a floor, on the theory that a newest-first walk skews young and young tokens have not had time to trade. The data disproved it: within each chain, OLDER launch weeks turned out to earn fees less often, not more. The claim is withdrawn. Read the rate against fee_record_rate_by_chain and base_fee_record_rate_by_launch_week, never as a property of Bankr launches in general.","OMISSIONS HIDE SOME EARNERS: Bankr's batch fee endpoint sometimes omits a token that its own per-token endpoint shows did earn fees. Seen on Base and on Robinhood Chain, for launches hours old and weeks old, so fee counts and totals here are under-counts; batch_coverage_crosscheck measures the share on every run. No mechanism is claimed. CORRECTION, 2026-09-14: two intermediate versions of this caveat described it first as a Robinhood-only omission and then as a lag affecting only the newest launches. The stratified cross-check found hidden earners among older launches on both chains, and both readings are withdrawn.","USD fee figures are Bankr's valuation and move with prices. A lifetime USD total can dip slightly when ETH falls even though the fees earned, in token units, only rise.","The index is kept current from the head of the registry on every run, then extended backwards through history with whatever budget remains. A launch the registry adds later with an old launch date is reached only by the backwards walk.","Fees are extremely concentrated: a single token can account for a third of everything cited here. A total across this set is not a typical launch multiplied by a count, and averaging it would describe no real launch.","Chains other than Base are indexed but not qualified: our payment scan is Base-only, so the loop half is computed on Base recipients alone."]}}}