Appearance
Certificate contract
Each certificate collection is an ERC-721 contract instantiated from the shared blueprint. It stores a certificate struct per token and exposes standard NFT and permit interfaces.
ERC-721 surface
The implementation includes:
- Metadata —
name,symbol,tokenURI. - Enumerable —
totalSupply,tokenByIndex,tokenOfOwnerByIndex. - Transfers and approvals — Standard ERC-721 flows, plus EIP-712 permit where enabled.
- Burn — As exposed by the integrated ERC-721 module.
Minting
- Only the minter (set when the factory deploys the collection) may call
mint(owner_, certificate_). - Returns the new token id.
Reading certificate data
certificate(token_id_)returns the full onchain struct for that token.
Updates (owner)
The owner of the collection contract may update stored fields, either in one shot or field-by-field, depending on the contract API (e.g. update_certificate or granular update_certificate_* helpers). Updates emit ERC-4906-style metadata events (CertificateUpdated) so indexers and marketplaces can refresh.
HTTP API
Per-collection routes are under /certificates/:address. See Certificate routes for minting, reads, permit, and metadata URLs.