The ERC-721 NFT standard, explained for engineers — with a live on-chain viewer.
A minimalist, open-source resource for engineers who land here from a Google search and want to actually understand ERC-721 — the spec, the mechanics, the history, and how to inspect any NFT on-chain.
Live at erc721.xyz.
Available in English (/), 日本語 (/ja/), and 简体中文 (/zh/). PRs adding more languages welcome — see CONTRIBUTING.md.
/— landing page with the interface in 9 lines./spec— full ERC-721 spec, function selectors, interface IDs, metadata schema, related EIPs./history— Quantum (2014) → today's blue chips, with representative images committed underpublic/images/history/./viewer— paste a contract address + token ID, get the NFT. Works on Ethereum, Polygon, Base, and Arbitrum. No wallet, no backend.
- Astro 5 — minimal JS, static HTML output.
- Vanilla TypeScript for the interactive viewer (no React/framework runtime).
- Hand-rolled JSON-RPC client — selectors and ABI decoding inlined so engineers can read the actual mechanics.
- Public RPC endpoints by default (Cloudflare ETH, Polygon RPC, Base, Arbitrum). Users can paste their own Alchemy/Infura URL in the viewer.
- Public IPFS gateway (ipfs.io) by default; user-overridable.
- GitHub Pages deployment via GitHub Actions.
No tracking, no analytics, no wallets, no backend.
npm install
npm run dev # http://localhost:4321
npm run build # static output to ./dist
npm run preview # preview the production buildRequires Node 20+.
Pushing to main triggers .github/workflows/deploy.yml, which builds the site with Astro and publishes dist/ to GitHub Pages.
To set up:
- In the GitHub repo settings → Pages, set "Build and deployment" source to GitHub Actions.
- Configure the custom domain
erc721.xyz(thepublic/CNAMEfile is already in place). - Push to
main— the action deploys automatically.
Issues and PRs are welcome — corrections, improvements, new content, and translations.
- See CONTRIBUTING.md for the full guide.
- For translations specifically, see the Adding a translation section.
MIT — see LICENSE.