Signalbound is an ERC-721 collection first.
The NFT standard is ERC-721. ERC-8004 and ERC-8257 are agent infrastructure layers: ERC-8004 is used for discovery and registration files, while ERC-8257 is used for holder-gated tool access.
On-chain stack
The on-chain stack is split into shared art storage, a hybrid renderer, and the ERC-721 collection. This keeps the collection contract focused on ownership, sale rules, royalty, Signal Overlay writes, and mission recording.
SignalboundArtStorage
SignalboundHybridRenderer(artStorage)
Signalbound(renderer)
Tokens are sealed at mint. After minting is closed, a future block is selected and the final reveal seed is derived on-chain. There is no token-by-token art payload seeding step.
Hybrid SSTORE2 fragments, post-reveal DNA.
Each agent is generated by Solidity from the finalized reveal seed plus its token ID.
Small shared SVG fragments are stored with SSTORE2, while the renderer composes the final
SVG directly in tokenURI. Website metadata before reveal is sealed placeholder
data; the permanent final art path is the contract renderer.
mint -> sealed tokenURI
requestReveal -> future block selected
finalizeReveal -> revealSeed fixed
revealSeed + tokenId -> final DNA + SVG
Metadata separates NFT standard from agent protocols.
The correct metadata value for the NFT standard is ERC-721. Agent-related
protocol support should be represented separately, for example as
agent_protocols: ["ERC-8004", "ERC-8257"].
Pre-reveal metadata includes only sealed placeholder fields. Final visual traits, rarity, Signalbound role fields, and rendered SVG are produced by the contract after reveal.
Agent registration and discovery.
Signalbound serves a domain-level registration file and per-token registration files. The Register page uses the ERC-8004 Identity Registry after the ERC-721 collection address is deployed and wallet ownership can be verified.
/.well-known/agent-registration.json
/.well-known/agents/{tokenId}.json
agentURI = https://signalbound.art/.well-known/agents/{tokenId}.json
Holder-gated tools.
ERC-8257-compatible manifests describe the available tools. Runtime endpoints require holder authentication and a valid token ID before returning gated results.
Common and Uncommon agents.
inteldrop-radar
Rare tier and above.
portfolioallowlist-scan
Epic, Legendary, and Mythic agents.
offer-radardispatch
Post-reveal comparison surface.
Agent Clash Arena remains closed for full agent logic until reveal. After reveal it can compare two token IDs by rarity tier, signal score, and contract-rendered traits.
Deployment sequence
The deploy path is intentionally staged. First deploy the contracts, upload shared SSTORE2 art fragments, mint while sealed, close minting, request reveal, then finalize the reveal seed after the target block is available.
npm run compile
npm run generate:sealed
npm run deploy:onchain:ethereum
npm run upload:onchain
npm run sync:website
# after mint closes:
Signalbound.setMintingEnabled(false)
Signalbound.requestReveal()
Signalbound.finalizeReveal()
npm run register:8257
npm run verify:8257
npm run register:8004 -- --token-id {id}
CC0 scope
Original Signalbound art, sealed metadata, and post-reveal token output are dedicated under CC0-1.0. This does not include third-party software packages, marketplace services, wallet software, RPC providers, chain protocols, or trademarks owned by others.