
ERC-TBA: Agent Income Statements
ERC-TBA: Agent Income Statements is a draft Ethereum standard, a profile of the ERC-8004 Reputation Registry. A writer posts chained statements of what an agent's agentWallet received in one asset, with each incoming transfer a Merkle leaf, so lenders and buyers can verify earnings from x402 payments. Windows are cut at owner or wallet changes, and the post asks about statement grain, the MetadataSet requirement and who may write. The reference implementation is unaudited.
What it claims
ERC-TBA is a draft profile of the ERC-8004 Reputation Registry. Under it, a writer publishes chained statements of what an agent's agentWallet received in one asset. Statements sit under ERC-8004's revenues tag with tag2 set to x402.statement. x402 payments motivate the design, but the totals are gross receipts: every incoming transfer counts, not only x402 payments. The design goal is a public statement that a reader can check, rather than a figure the reader has to trust.
How it works
Each incoming transfer is one leaf of a Merkle root, so a contract can verify a single transfer against a posted root. Statement windows are cut at two log events: the ERC-721 Transfer of the agent token (an owner change) and MetadataSet("agentWallet") (a wallet change). Because the boundaries come from on-chain logs, a reader can rebuild every figure in a statement from the token's logs alone.
Writers are open. A reader decides which writers to trust, and the draft names no default set.
ERC-8434 (Agent Identity) connects through a facet. An AID Document can list a facet in its open namespace that points at the statements. Cumulative figures reach the Document through that facet. They are read as the latest statement per writer, never as a mean across writers. The ERC-8434 author confirmed this fit on that proposal's thread, and the draft now states it.
How to use it
The repository is priors-agents/erc-agent-income-statements on GitHub. It holds the ERC text, an on-chain verifier, a reference writer and checker, and Foundry tests. The page gives no install or run commands.
The profile depends on the registry emitting MetadataSet for every agentWallet change. ERC-8004's reference registry does this. The ERC-8004 text, however, requires the event only at registration. A deployment on a different registry implementation must be checked for this behaviour, or the window cuts will be wrong. ERC-8434 depends on the same event.
Limits
The reference implementation is unaudited. The authors state it must never be deployed without an external audit.
Three design points remain open questions in the post:
- Whether a statement should cover one asset per window or several assets from the same payer set.
- Whether ERC-8004 should require
MetadataSeton every wallet change. - Whether writing should stay open to any reader-trusted writer, or whether the draft should name a default set, such as the agent's own facilitator.
Statements report gross receipts only. The page describes no costs, refunds or other deductions, and gives no gas or verification cost figures.
Organisations named here
- priors-agents
- GitHub
- Ethereum
Technologies named here
- ERC-8004 Reputation Registry
- x402
- ERC-8434
- AID Document
- erc-agent-income-statements
- Foundry
- GitHub
- ERC-8004
- Ethereum
- Solidity
Techniques named here
- Chained agent income statements
- Windows cut at owner or wallet change logs
- Latest statement per writer
Related in agents



