
REGISTRY-STATE REFERENCE
The ERC-8226 × ERC-8320 composition, run against the canonical ERC-8226 mandate registry: the agent acts only while a backing claim is live, and when the claim is suspended the action stops, even though the mandate itself is still valid. The two standards, from the same authors, composed on one asset, with neither contract modified.
canExecute returned a single bool instead of the specified
(bool, reason), and recordExecution omitted the asset
parameter. We raised it in the standard's thread. The author confirmed the documented addresses
were stale and published the current ones. This record is the composition re-run against that
canonical registry, which does match the spec: canExecute returns
(bool, reason) and recordExecution carries asset.Version 1 · 13 October 2026 Ethereum Sepolia · test network Canonical RAMS Synthetic payload
ERC-8320 says the service-provider roster is the grant table. We wired it that way. FACTOS operates the registry: it registers the asset, keeps the grant table, and runs the maker-checker lifecycle as validator and activator. A separate key authors the backing claim. In this demo the auditor role is played by a test key; the design requires a key distinct from the validator's, which in real use would belong to an independent third party, the one that reviews the reserves or the loanbook and signs. In Colombia that party would be a receivables verification agent; in the United States it is often a loan-review firm. FACTOS does not author the backing, and never authors valuation or risk.
| Registry (ERC-8320) | 0x9b8aAA5A3676227A642cC66fcdD20b3f511Ec45f · reference implementation of the authors, unmodified |
|---|---|
| Anchored asset | 0xf96eFA6D9b83181629d84579e36bE4E130477e69 · the same asset of the mandate and the anchor of the registry |
| Mandate registry (ERC-8226) | 0x7944E36415086c0ef50d59570826b79e1da8C349 · Brickken, canonical, unmodified · matches the published spec |
| FACTOS (operator) | 0x9016EfF3AC70DDaeDC15ac8fb3d839f2d3b965a5 · admin, validator, activator |
| Auditor (backing author) | 0xe970c7d30Db8C3F24fb2b3CD311adC91aa123d01 · a test key standing in for the auditor; the registry requires the validator to differ from the author |
| Backing goes live | the auditor proposes, FACTOS validates and activates · claim ACTIVE |
|---|---|
| Agent acts | 0xec74d7ec…d76045f4 · mandate OK, registry state current, backing live · executes |
| FACTOS suspends the backing | 0xbc2ec959…e056ae7c · claim ACTIVE → VALID |
| Agent retries | the mandate still answers (true, OK) on the canonical registry, yet the asset reverts NoActiveBackingClaim(7) (captured as an eth_call, no gas) |
The agent's mandate never expired and was never revoked. The action stopped because the backing that a separate party had attested was withdrawn from the ERC-8320 registry. That is the join between the two standards: an ERC-8226 execution gated on ERC-8320 published state, with neither contract modified.
state at block … is pruned. Any archive endpoint works;
https://sepolia.gateway.tenderly.co is one.# The backing claim is no longer active after the suspend: the set is empty.
cast call 0x9b8aAA5A3676227A642cC66fcdD20b3f511Ec45f \
"getActiveClaims(bytes32,uint8)((bytes32,uint8,bytes32,bytes32,uint64,uint64,uint64,uint8,bytes32[],bytes32,address,string)[])" \
0xe2a2312f5fb60f25c13b58c6bbf83d21c20f70115ef49c97ed380b8ee98360d3 5 --rpc-url <archive>
# []
# The mandate on the canonical ERC-8226 registry is still live: (true, OK=0).
cast call 0x7944E36415086c0ef50d59570826b79e1da8C349 \
"canExecute(address,address,address,bytes32,uint256)(bool,uint8)" \
0xABa7661E0bF6740f3811BFEbb6D082150513Dd6b 0x06a1cb40BeDb8f8462cF9C5E8aa84bad1Fa36929 \
0xf96eFA6D9b83181629d84579e36bE4E130477e69 \
$(cast call 0xf96eFA6D9b83181629d84579e36bE4E130477e69 "actionFor(uint256)(bytes32)" 7 --rpc-url <archive>) \
100000000000000000000 --rpc-url <archive>
# true
# 0 the authority is intact; only the backing was withdrawn
The backing claim carries a synthetic payload. Its contentHash is the hash of
a label, and its uri does not resolve to a document. This record demonstrates the
mechanics of the registry and the composition, not the content of any reserve. A production backing
claim would anchor the hash of a real evidence file and a canonical schema.