ERC-721 is the Ethereum standard for non-fungible tokens (NFTs): each token has a unique tokenId, a single owner and its own metadata. While it became famous through digital art, its real power for businesses is representing things that are one of a kind — a property title, a shipping document, a certificate of origin, a specific loan agreement, a piece of fine art or a vehicle. If two units of your asset are not interchangeable, ERC-721 (or ERC-1155 with supply one) is usually the right model.
Key takeaways
- ERC-721 tracks ownership of unique items:
ownerOf(tokenId)always returns exactly one address. - It is a strong fit for documents of title — we tokenized electronic bills of lading as one NFT per e-BL on Hedera.
- Fractional ownership of a unique asset usually combines an ERC-721 “title” with fungible shares (ERC-20, ERC-3643 or ERC-1155) held by an SPV or vault.
- Extensions add royalties (ERC-2981), rentals (ERC-4907), smart accounts (ERC-6551) and non-transferability (ERC-5192).
How ERC-721 works
| Function / event | Purpose |
|---|---|
balanceOf(owner) |
Number of NFTs an address holds |
ownerOf(tokenId) |
Owner of a specific token |
safeTransferFrom(from, to, tokenId) |
Transfer with a receiver check (onERC721Received) |
transferFrom(from, to, tokenId) |
Transfer without the check |
approve(to, tokenId) / getApproved |
Approve one address for one token |
setApprovalForAll(operator, bool) |
Approve an operator for all tokens |
Transfer, Approval, ApprovalForAll |
Events for indexers and wallets |
The optional metadata extension adds name, symbol and tokenURI(tokenId), which points to a JSON document describing the item — typically stored on IPFS so its content hash can be verified. The enumerable extension adds on-chain listing of all tokens, at a gas cost.
Ideal real-world use cases
Documents of title: bills of lading and warehouse receipts
A bill of lading confers ownership of goods in transit. Because there is exactly one valid original, it maps naturally to an NFT. In our e-BL tokenization project, the carrier creates the document in Open Attestation format and an NFT is minted to its account; title then moves to the shipper, exporter bank, importer bank and consignee, each verifying and endorsing, until the token is surrendered to an expiry account. Read the full guide: electronic bill of lading tokenization.
Property titles and deeds
Land registries and title companies are piloting NFT-based title records. A deed NFT can hold the parcel identifier, legal description hash and encumbrances, while fractional economic interest sits in a separate fungible token. See our real estate tokenization guide.
Loan and lease agreements
Each loan or lease is unique — borrower, principal, rate, schedule. An NFT per agreement gives lenders a clean, transferable record. Pools of such NFTs can then back fungible investor tokens.
Certificates and credentials
Certificates of origin, quality, insurance or authenticity benefit from tamper-evident, verifiable issuance. When the certificate should never be transferred, use a soulbound variant (ERC-5192).
Unique physical assets
Fine art, wine, watches, cars and machinery can be represented by NFTs linked to custody records, inspection reports and IoT data.
Fractionalising a unique asset
ERC-721 does not itself support fractions. Common patterns are:
- SPV + fungible shares — the legal owner of the asset is an SPV; investors hold ERC-20/ERC-3643 shares in the SPV. The NFT is an optional on-chain twin of the title.
- Vault + shares — the NFT is locked in a vault contract that issues fungible fractions (often ERC-20). Simple for collectibles, but securities rules usually still apply.
- ERC-1155 — one token ID with a fixed supply represents fractions directly. See ERC-1155.
Compliance considerations
Like ERC-20, plain ERC-721 lets anyone transfer to anyone. For regulated or high-value items, add:
- Transfer restrictions checked in the internal update hook, or an ERC-7943 interface (it has an ERC-721 variant with per-token freezing).
- Role-based admin controls for issuance, freezing and forced transfer.
- Off-chain storage of personal data with only hashes on-chain.
Implementation tips from our projects
- Metadata integrity — store documents on IPFS (or encrypted in private storage) and anchor hashes on-chain; never put personal data in public metadata.
- Lifecycle states — model issued, endorsed, surrendered, retired explicitly. Moving surrendered e-BLs to a non-transferable expiry account made state obvious to every participant.
- Wallet choice — corporate users need platform-managed, software or hardware wallet options and role-based permissions.
- Mint gas — for large collections, consider ERC-2309 consecutive transfer events or lazy minting.
ERC-721 vs ERC-1155
| Question | ERC-721 | ERC-1155 |
|---|---|---|
| One contract per collection? | Typically yes | One contract can hold many collections |
| Fractions of one item? | No (needs wrapper) | Yes (supply > 1) |
| Batch transfers? | No (extensions exist) | Native |
| Tooling and marketplace support | Very broad | Broad |
Designing metadata for real-world NFTs
For art, metadata is mostly an image and a description. For real-world assets it is evidence. A useful structure for a document-of-title or asset NFT:
{
"name": "e-BL 2026-000184",
"description": "Electronic bill of lading for container MSKU1234567",
"document_hash": "0x9f3c…e21a",
"document_format": "OpenAttestation v3",
"issuer": "did:hedera:mainnet:…",
"status": "ISSUED",
"jurisdiction": "SG",
"external_url": "https://platform.example/ebl/2026-000184",
"attributes": [
{"trait_type": "Port of loading", "value": "Nhava Sheva"},
{"trait_type": "Port of discharge", "value": "Rotterdam"}
]
}
Notice what is not included: names, addresses, cargo values or anything personal. Sensitive content stays encrypted off-chain; the NFT carries a hash so any holder can verify the document they received is the authentic one.
Modelling lifecycle states
Unique real-world items move through states, and the contract should make those states explicit rather than inferred:
| State | Meaning | Allowed actions |
|---|---|---|
| Issued | Token minted, held by issuer | Transfer to first holder |
| Active | In circulation | Transfer, endorse, pledge |
| Pledged | Used as collateral | Transfer only by pledgee or on release |
| Surrendered / Redeemed | Purpose fulfilled | None — moved to expiry account or burned |
| Cancelled | Issued in error or replaced | None |
In our e-BL platform, surrendered tokens move to an expiry account where they can never be transferred again, so the registry always shows unambiguous status.
Pairing ERC-721 with fractional ownership
Many investors want a share of a unique asset rather than the whole thing. A clean architecture separates the record from the economics:
- An ERC-721 represents the asset record (title reference, documents, inspections).
- An SPV legally owns the asset.
- Permissioned fungible tokens (ERC-3643 or ERC-1155 IDs) represent investors’ shares in the SPV.
- A distribution contract pays income to shareholders.
This keeps each standard doing what it does best and makes the legal story easy to explain. See SPV structures.
Gas and scale considerations
- Minting thousands of NFTs one by one is expensive on busy chains; use batch minting patterns, lazy minting or lower-cost networks such as L2s or Hedera.
- Avoid on-chain enumeration unless you truly need it; indexers can provide lists more cheaply.
- Keep
tokenURIstable and content-addressed; changing metadata should emit an update event (ERC-4906) so marketplaces and indexers refresh.
Frequently asked questions
Only if the law or the legal documents say so. In most jurisdictions the NFT is a digital record linked to an off-chain title or to shares in an SPV that owns the property.
The standard is mature. Security depends on the implementation, key management and admin controls — have contracts audited and keep privileged roles on multisig.
ERC-721 gives every token a unique ID with one owner. ERC-1155 manages many token types, fungible or not, in one contract and supports batch operations.
Yes, by adding transfer checks or implementing ERC-7943’s ERC-721 interface, which includes eligibility checks and per-token freezing.
Yes. The NFT records identity, documents and history; legal ownership still follows local vehicle or property registration rules unless the law recognises the token.
Keep a content-addressed history, restrict updates to authorised roles, and emit metadata-update events so indexers refresh.
Yes. Lending contracts or custodians can hold the NFT (or a pledge state) until the loan is repaid.
This article is for general information only and is not legal, tax or investment advice. Token standards evolve — always confirm the current status of an ERC at eips.ethereum.org and take advice from qualified counsel in each jurisdiction before issuing tokens.


