Arc
aefi is built for Arc’s agent-commerce stack: stablecoin settlement,
memos, identity, and jobs. Live ingest today is Arc testnet
(5042002).
Allowlist (P0)
| Family | Address | Why |
|---|---|---|
| System USDC Transfer | 0xff…fe |
EIP-7708 settlement truth, 18 decimals |
| Memo / BeforeMemo | 0x5294…e505 |
Invoice / job / payout context on the same tx |
| ERC-8004 identity | 0x8004A818…BD9e |
Agent identity NFT |
| ERC-8004 reputation | 0x8004B663…8713 |
Feedback events |
| ERC-8004 validation | 0x8004Cb1B…4272 |
Validation registry |
| ERC-8183 | 0x0747…4583 |
Job lifecycle + escrow |
Memos
Arc transaction memos attach structured context to a call without
changing the target contract. aefi joins Memo to
system USDC by tx_hash, and lifts job_id
from decoded payload when present. Memo must be invoked by an EOA;
AA callers are a known gap.
What goes in the graph
Postgres stores the allowlisted stream, including USDC. Neo4j only
projects payments that touch known agent wallets (8004
agentWallet / 8183 parties) or share a tx with a job
event / job-id memo. That keeps the evidence graph on agent commerce
instead of every testnet transfer.
Mainnet
Graph ids and matcher watermarks are chain_id-scoped.
Turning on Arc mainnet is a new indexer + matcher worker against the
mainnet allowlist, not a new product. This site will say testnet
until that worker is live.
Rules we enforce
- Prefer system emitter Transfer; do not double-count ERC-20 USDC.
- Order by
(block, log_index). - Attribute Memo activity to the original sender.
- Gas is not a Transfer.