Skip to content

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:

  • Metadataname, symbol, tokenURI.
  • EnumerabletotalSupply, 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.

Released under License.