Lenders to ERC-8004 agents are appearing, and each has its own ABI, so every wallet, payment client and MCP server integrates every lender separately. This draft is one lender-neutral interface for revolving credit to agent identities: how much an identity can borrow now (availableCredit), what a draw would cost (quote), draw it with a fee cap (borrow), what closes it (amountDue), repay it (anyone may), and mark it defaulted once overdue (anyone may). Three events, Borrowed, Repaid and Defaulted, record every loan, so a credit reader works with any conforming lender through one ABI. Each loan records the identity’s owner at the draw, and a default names that owner.
- Repository (text, interface, reference lender, Foundry tests, eipw lint in CI): GitHub - priors-agents/ERC-8450: Draft ERC: one interface for revolving credit to agent identities (quote, borrow, repay, default), so any client works with any conforming lender · GitHub
Differences from what exists: ERC-7565 locks an NFT as collateral and hands it to the lender on default, while here the identity is not collateral and a default marks its owner; EIP-6882 (closed) had one borrowing ABI for collateralized pool debt with no loan ids, terms or defaults; ERC-3156 loans close in the same transaction.
We would especially like a second lender to agents to check the interface against its own contracts. Questions:
- Is
isController(owner or an accepted delegate) the right hook for wallets and agent runtimes? - Should the owner’s consent to a line (an EIP-712 message naming who backs it and the most it may charge) be part of the core, or a separate extension as drafted?