Thanks for writing this up! A few questions regarding this ERC:
-
What exactly is the definition of an Agent Tool? In the manifest schema I see fields for
endpoint, inputs, outputsso is it intended to be an https-only callable endpoint with query/body params? A canonical definition would help here I think (or a link to an established definition if one exists). -
On manifest trust anchor: origin binding + self-attestation is probably sufficient here. Though, leaving the door open for signed manifests and ENS resolution would be great.
-
On pricing hints: an opaque string works fine here, however perhaps there should be a list of canonical strings to avoid variations of the same protocol (e.g. “native-transfer“ vs. “native_transfer“)
-
On payment settlement: this protocol should remain payment-free IMO. Unless I’m misunderstanding, adding a settlement primitive would involve routing payments through this contract which may interrupt certain payment flows. For example an x402 payment would have to route through this contract instead of being a direct payment to an x402 resource address. Also, the core USDC contract doesn’t have hook functions so composability is limited there unless you use a wrapper contract (like CCTP from Circle).
-
Last month I authored ERC-8239: Agent Skill Registry which is remarkably similar to what is proposed here. The contract reference implementations are nearly identical in logic (register skill/tool identity, set manifest and hash, define attestations, interact via CLI tool, etc) so trying to map out the scope of overlap between our proposals. A few differences I noted:
- ASR follows the ERC-8004 template by minting ERC-721 tokens for each skill registration so
skillId == tokenId. ATR stores aToolConfigobject in a mapping keyed bytoolId. - ASR manifest schema acts like an onchain package manager with an array of registered targets that can be resolved to access agent skill files. ATR seems to define an HTTPS API endpoint and its call structure.
- ATR explicitly defines onchain access/policy control as a predicate contract. ASR supports this but doesn’t prescribe a pattern in the spec.
- ASR follows the ERC-8004 template by minting ERC-721 tokens for each skill registration so
Great work on drafting this btw! Would love to collaborate since it seems we’re both aiming for nearly the same idea ![]()