Releases: ProjectOpenSea/tool-registry
Release list
v0.7.0
What's Changed
- Add Robinhood Chain (4663) deploy configuration: Robinhood RPC endpoint and Etherscan verifier settings in
foundry.tomland the matching.env.exampleentry. The canonicalToolRegistryand predicate CREATE2 addresses are identical on Robinhood. - Document Robinhood Chain (4663) in the deployed-address tables in the README.
- Add an explicit Etherscan v2
urlto themonadentry infoundry.tomlsoforge script --verifyconfig resolution no longer aborts for chain 143.
Full Changelog: ProjectOpenSea/opensea-devtools@tool-registry-v0.6.0...tool-registry-v0.7.0
v0.6.0
What's Changed
- Add Monad (chain 143) deploy configuration: Monad RPC endpoint and verifier settings in
foundry.tomland the matching.env.exampleentry. The canonicalToolRegistryand predicate CREATE2 addresses are identical on Monad. (#476) - Document Monad (143) in the deployed-address tables in the README. (#477)
Full Changelog: ProjectOpenSea/opensea-devtools@tool-registry-v0.5.0...tool-registry-v0.6.0
v0.5.0
What's Changed
- feat: add ERC20BalancePredicate for ERC-20 token-balance-gated tool access (standalone example contract, deploy script, new
ERC20Balancerequirement type, and full test coverage) - chore: set the canonical ERC20BalancePredicate address (
0x1a834FC48B5f6e119c62C12a98b32137bCFA77cD) on Ethereum mainnet and Base - feat: deploy ToolRegistry + all five canonical predicates to Shape (chain 360) and Abstract (chain 2741) via deterministic CREATE2, at addresses identical to the existing Ethereum mainnet and Base deployments
Full Changelog: ProjectOpenSea/opensea-devtools@tool-registry-v0.4.0...tool-registry-v0.5.0
v0.4.0
What's Changed
- Add
TraitGatedPredicatecontract for ERC-7496 dynamic trait gating. It combines ERC-721 ownership with an on-chain trait value match, supports a separate traits contract (e.g. a renderer), and allows a configurable trait key with up to 32 allowed values per tool. The predicate ships inscript/Deploy.s.soland a standalonescript/DeployTraitGatedPredicate.s.sol, and is deployed deterministically via the Arachnid CREATE2 factory at the canonical address0x10abF07CfA34Bf22372C57f27e8bd9C2DCF93fA1on Ethereum mainnet and Base.
Full Changelog: ProjectOpenSea/opensea-devtools@tool-registry-v0.3.0...tool-registry-v0.4.0
v0.3.0
What's Changed
Minor
Canonicalize SubscriptionPredicate v0.2 on Ethereum mainnet and Base. The predicate now ships in script/Deploy.s.sol at the deterministic CREATE2 address 0xCBe0cd9B1d99d95Baa9c58f2767246C52e461f25 (identical on chain 1 and 8453, deployed via the Arachnid factory with salt bytes32(uint256(1)) and the v0.2 registry as constructor arg).
Verified onchain — name() returns "SubscriptionPredicate", registry() returns 0x265BB2DBFC0A8165C9A1941Eb1372F349baD2cf1. Verified on Etherscan and Basescan.
Full Changelog: ProjectOpenSea/opensea-devtools@tool-registry-v0.2.0...tool-registry-v0.3.0
v0.2.0
What's Changed
Canonical v0.2 deployment on Ethereum mainnet + Base. ToolRegistry.version() now returns "0.2" and the registry validates predicates against IAccessPredicate interfaceId 0xbdf9dc18 (hasAccess + name + getRequirements).
New canonical addresses (chain 1 + chain 8453)
| Contract | Address |
|---|---|
ToolRegistry v0.2 |
0x265BB2DBFC0A8165C9A1941Eb1372F349baD2cf1 |
ERC721OwnerPredicate v0.2 |
0xc8721c9A776958FfFfEb602DA1b708bf1D318379 |
ERC1155OwnerPredicate v0.2 |
0x77373Dc3c1AE9A1e937eF3e5E08F4807D47c7c11 |
Same deterministic CREATE2 address on both chains.
Pre-beta breaking change
The earlier v0.1 Base deployment (0x7291...4856 registry + 0x4eC9... ERC721 predicate) is no longer canonical. Tools registered there must be re-registered against the v0.2 registry.
Full Changelog: ProjectOpenSea/opensea-devtools@tool-registry-v0.1.2...tool-registry-v0.2.0
v0.1.2
What's Changed
Documentation-only patch release. ~7% reduction in ERC-draft length (104 net lines off) with no normative rules changed.
- Folded
Manifest Hex-Field Casingsubsection into Canonical Manifest Bytes (#259). The standalone subsection's per-field grammar table duplicated regexes already inline in each field's row in §2/§4/§5. Six cross-references repointed. - Trimmed Appendix A semantic-input duplication (#259). Free-Tool / Paid-Tool semantic-input JSON blocks were byte-identical to the §2 examples; replaced with anchor-pointers. Pinned
manifestHashtest vectors still verify. - Collapsed
Verifiability Trust Modeloverlap with §5 (#259). Trust-spectrum bullets restated §5 verbatim; replaced with a single intro paragraph that cross-references §5. Kept the unique normative content (network egress under TEE, attestation freshness/revocation, MUST-NOT-grant-elevated-trust, MUST-distinguish-verified-vs-unverified). - Merged
Registry Self-Reference and Predicate Selector CollisionintoPredicate Validation at Registration(#259). The two sections cross-referenced each other and shared the selector-collision motivation; one merged section is clearer. - Trimmed
hasAccessdocstring (#259). Replaced the inline restatement of strict ABI-bool decode rules with a single cross-reference totryHasAccess(the canonical place for them).
No Solidity changes, no ABI changes, no deployment changes.
Full Changelog: ProjectOpenSea/opensea-devtools@tool-registry-v0.1.1...tool-registry-v0.1.2
v0.1.1
What's Changed
Documentation-only patch release rolling up three ERC-draft clarification PRs. No Solidity, ABI, or deployment changes.
- Close logic gaps in the ERC draft (#255). Restated
ToolNotFound/ToolIsDeregisteredreverts in each function's docstring; reconciledsetAccessPredicateMUST-validate with the idempotent no-op carve-out; made the verifiabilitytierconsistency check bidirectional; extended the 256-bytename()cap toversion(); renumbered Access (§4) and Verifiability (§5), bumping Origin-Binding to §6, Creator Binding to §7, Manifest Hash Commitment to §8, ERC-165 Support to §9. - Second-pass logic fixes (#256). Tightened manifest hex-field casing to strict lowercase across
creatorAddress,access[].kind/data,attestation.enclaveHash, andreproducibleBuild.buildHashfor JCS-byte determinism, with uppercase hex listed as a verification failure. Mirrored onchaingetRequirementscaps (256 entries, 4,096-byte hex-decodeddata, 256-bytelabel) into the manifest parser. Restrictedaccess[].linksvalues to HTTPS URLs. Fixed aMUST NOTinversion in thetryHasAccessdocstring. - Cap-feasibility note (#257). Clarified that the per-axis caps in Manifest Parser Hardening don't jointly compose under the 1 MiB ceiling.
Full Changelog: ProjectOpenSea/opensea-devtools@tool-registry-v0.1.0...tool-registry-v0.1.1
v0.1.0
What's Changed
Initial pre-release of the OpenSea Tool Registry — onchain registry for AI agent tools (ERC-Draft).
Includes:
- Core registry contract with
name()/version()introspection - Predicate gating primitives:
ERC721OwnerPredicate,ERC1155OwnerPredicate,CompositePredicate - F18 access-requirement introspection (
getRequirements) and F19 manifest access block - Verifiability metadata in tool manifest schema
- CREATE2 deploy script for Base
- Base mainnet beta deployment
Full Changelog: https://github.com/ProjectOpenSea/opensea-devtools/commits/tool-registry-v0.1.0