Choosing a Tokenizer
Decision framework for selecting the right tokenizer from Integra's 23 implementations across ERC-721, ERC-20, and ERC-1155 standards.
Overview
Integra provides 23 tokenizer implementations that bind on-chain records to ERC-standard tokens. Each tokenizer is optimized for a specific ownership model -- single-owner credentials, multi-party agreements, fractional shares, or specialized instruments like options, insurance, and supply chain tracking.
Choosing the right tokenizer involves evaluating three factors:
- Ownership model -- Is ownership unique, shared, or fractional?
- Token standard -- Does the use case need ERC-721 (non-fungible), ERC-1155 (multi-token), or ERC-20 (fungible)?
- Domain features -- Does the record need specialized lifecycle management (escrow, vesting, rental periods, compliance)?
All 23 tokenizers share the same ITokenizerV1 interface and follow the same reserve-claim lifecycle. The difference lies in the token standard used underneath and the domain-specific logic each tokenizer adds.
Quick Selection Matrix
| Use Case | Recommended Tokenizer | Standard |
|---|---|---|
| Property deed (single owner) | OwnershipTokenizerV1 | ERC-721 |
| University degree (credential) | SoulboundTokenizerV1 | ERC-721 |
| Software license | LicenseTokenizerV1 | ERC-721 |
| Gym membership | MembershipTokenizerV1 | ERC-721 |
| Escrow agreement | EscrowTokenizerV1 | ERC-721 |
| Collateral custody | VaultTokenizerV1 | ERC-721 |
| Stock option grant | OptionsTokenizerV1 | ERC-721 |
| Trade receivable | InvoiceTokenizerV1 | ERC-721 |
| Insurance policy | InsuranceTokenizerV1 | ERC-721 |
| Promissory note | DebtTokenizerV1 | ERC-721 |
| Shipment tracking | SupplyChainTokenizerV1 | ERC-721 |
| Company shares | SharesTokenizerV1 | ERC-20 |
| Regulated securities | SecurityTokenTokenizerV1 | ERC-20 |
| DAO governance token | GovernanceTokenizerV1 | ERC-20 |
| Fractional real estate | FractionalTokenizerV1 | ERC-20 |
| Payment streaming / vesting | StreamTokenizerV1 | ERC-20 |
| Purchase agreement (buyer + seller) | MultiPartyTokenizerV1 | ERC-1155 |
| Multi-party agreement with dispute resolution | AgreementTokenizerV1 | ERC-1155 |
| Course completion badges | BadgeTokenizerV1 | ERC-1155 |
| Music royalties (revenue split) | RoyaltyTokenizerV1 | ERC-1155 |
| Trust agreement (beneficiary interests) | TrustTokenizerV1 | ERC-1155 |
| Event tickets (semi-fungible) | SemiFungibleTokenizerV1 | ERC-1155 |
| Property rental (time-based) | RentalTokenizerV1 | ERC-1155 |
Decision Framework
Is ownership unique and indivisible?
|
+-- YES --> Is the token transferable?
| |
| +-- NO --> Is there domain-specific lifecycle?
| | |
| | +-- License mgmt --> LicenseTokenizerV1
| | +-- Membership tiers --> MembershipTokenizerV1
| | +-- Simple credential --> SoulboundTokenizerV1
| |
| +-- YES --> Does the record need domain logic?
| |
| +-- Escrow lifecycle --> EscrowTokenizerV1
| +-- Collateral tracking --> VaultTokenizerV1
| +-- Option exercise --> OptionsTokenizerV1
| +-- Invoice payments --> InvoiceTokenizerV1
| +-- Insurance claims --> InsuranceTokenizerV1
| +-- Debt servicing --> DebtTokenizerV1
| +-- Custody chain --> SupplyChainTokenizerV1
| +-- Simple ownership --> OwnershipTokenizerV1
|
+-- NO --> Is ownership fractional (fungible shares)?
|
+-- YES --> Does the use case need...
| |
| +-- Transfer restrictions --> SecurityTokenTokenizerV1
| +-- On-chain voting --> GovernanceTokenizerV1
| +-- Linear vesting --> StreamTokenizerV1
| +-- Buyout/distribution --> FractionalTokenizerV1
| +-- Simple shares --> SharesTokenizerV1
|
+-- NO --> Multiple distinct parties or roles?
|
+-- Distinct roles (buyer/seller) --> MultiPartyTokenizerV1
+-- Agreement with dispute resolution --> AgreementTokenizerV1
+-- Revenue split (basis points) --> RoyaltyTokenizerV1
+-- Beneficiary classes --> TrustTokenizerV1
+-- Time-based access --> RentalTokenizerV1
+-- Achievement badges --> BadgeTokenizerV1
+-- Quantity-based types --> SemiFungibleTokenizerV1ERC-721 Tokenizers (11)
ERC-721 tokenizers mint one unique NFT per record. The token represents sole ownership or a specific right tied to that record.
OwnershipTokenizerV1
Standard: ERC-721 | Transferable: Yes The simplest tokenizer. A thin wrapper over ERC-721 with no domain logic. Use it when a record represents a single-owner transferable entity -- property deeds, vehicle titles, certificates of ownership.
SoulboundTokenizerV1
Standard: ERC-721 (ERC-5192 soulbound) | Transferable: No Mints non-transferable tokens permanently bound to the recipient. Transfers between addresses are blocked at the contract level. Use for credentials that must not be sold or reassigned -- university degrees, professional certifications, identity documents.
LicenseTokenizerV1
Standard: ERC-721 (ERC-5192 soulbound) | Transferable: No Extends the soulbound model with license lifecycle management: license types (Perpetual, Subscription, Trial, Academic, Enterprise), expiration dates, renewal, and revocation. Use for software licenses, professional permits, and regulated licenses.
MembershipTokenizerV1
Standard: ERC-721 (ERC-5192 soulbound) | Transferable: No Extends the soulbound model with membership features: tiers (Basic, Silver, Gold, Platinum, Diamond), points accumulation, expiration, and tier upgrades. Use for organization memberships, loyalty programs, and subscription services.
EscrowTokenizerV1
Standard: ERC-721 | Transferable: Yes Manages escrow agreements with multi-currency support (ETH + ERC-20) and a full escrow lifecycle: Pending, Funded, Released, Disputed, Refunded. Use for conditional fund release, real estate closings, and freelance milestone payments.
VaultTokenizerV1
Standard: ERC-721 | Transferable: Yes Represents custody rights with collateral value tracking and daily withdrawal limits. Use for collateral agreements, vault receipts, and asset custody documentation.
OptionsTokenizerV1
Standard: ERC-721 | Transferable: Yes Models financial options with option types (Call, Put, Convertible), exercise styles, vesting schedules, and immutable strike prices. Use for stock options, warrants, and convertible instruments.
InvoiceTokenizerV1
Standard: ERC-721 | Transferable: Yes Tracks invoice lifecycle: Issued, Approved, PartiallyPaid, Paid, Overdue, Disputed, WrittenOff. Use for invoices, trade receivables, and accounts payable automation.
InsuranceTokenizerV1
Standard: ERC-721 | Transferable: Yes Manages insurance policy lifecycle: Active, Lapsed, ClaimPending, ClaimApproved, ClaimPaid, Expired, Cancelled. Tracks premium payments and claims workflow. Use for insurance policies and warranty agreements.
DebtTokenizerV1
Standard: ERC-721 | Transferable: Yes Tracks debt instruments with principal, interest rate (basis points), and maturity date. Use for promissory notes, bonds, and loan agreements.
SupplyChainTokenizerV1
Standard: ERC-721 | Transferable: Yes Enables custody chain tracking with custody transfers, checkpoint logging, and flexible status progression. Use for shipment tracking, chain-of-custody documentation, and logistics records.
ERC-20 Tokenizers (5)
ERC-20 tokenizers mint fungible tokens where each unit is interchangeable. The total supply represents fractional ownership of the underlying record.
SharesTokenizerV1
Standard: ERC-20 (+ ERC-2612 Permit) | Transferable: Yes Supports both named and anonymous reservations. Use for company equity, partnership interests, cooperative memberships, and fractional real estate.
SecurityTokenTokenizerV1
Standard: ERC-20 (+ ERC-2612 Permit) | Transferable: Restricted Adds whitelist-based transfer restrictions on top of ERC-20 for regulatory compliance. Only approved addresses can receive tokens. Use for regulated stocks, bonds, compliant token offerings, and accredited investor shares.
GovernanceTokenizerV1
Standard: ERC-20 (+ ERC-2612 Permit + ERC20Votes) | Transferable: Yes Adds on-chain delegation and checkpoint-based voting power via OpenZeppelin's ERC20Votes extension. Use for DAO governance tokens, voting rights, and protocol decision-making.
FractionalTokenizerV1
Standard: ERC-20 (+ ERC-2612 Permit) | Transferable: Yes Full asset lifecycle management with distribution mechanisms, buyout voting, and snapshot-based quorum calculations. Use for fractional ownership of high-value assets where governance over the asset is needed.
StreamTokenizerV1
Standard: ERC-20 (+ ERC-2612 Permit) | Transferable: Yes Linear vesting with cliff support, per-stream accounting, and stream cancellation. Tokens vest over time according to a configurable schedule. Use for payment streaming, employee vesting, and time-locked distributions.
ERC-1155 Tokenizers (7)
ERC-1155 tokenizers manage multiple token types per record. Token IDs typically represent distinct roles or categories within a multi-stakeholder agreement.
MultiPartyTokenizerV1
Standard: ERC-1155 | Transferable: Yes The primary multi-party tokenizer. Token IDs represent roles (e.g., ID 1 = Buyer, ID 2 = Seller). Features bitmap-based completion tracking that achieves 95% gas savings on completion checks and anonymous reservations with encrypted labels.
// Reserve roles for a purchase agreement
multiPartyTokenizerV1.reserveTokenAnonymous(integraHash, 1, 1, encrypt("buyer"), processHash);
multiPartyTokenizerV1.reserveTokenAnonymous(integraHash, 2, 1, encrypt("seller"), processHash);
// Each party claims their role independentlyAgreementTokenizerV1
Standard: ERC-1155 | Transferable: Yes Agreement tokenizer that binds multiple parties (buyer, seller) to a record with integrated dispute resolution via AAAResolverV1. Use for multi-party agreements that require on-chain arbitration and structured resolution workflows.
BadgeTokenizerV1
Standard: ERC-1155 | Transferable: Yes Issues achievement badges and transferable credentials. Supports badge revocation. Use for course completion badges, skill credentials, access-level badges, and event attendance tokens.
RoyaltyTokenizerV1
Standard: ERC-1155 | Transferable: Yes Models revenue splits using basis points. Token amounts represent percentage allocation (10,000 = 100%). The total allocation across all parties must equal exactly 10,000. Supports a configurable recipient cap.
// Music royalty split: artist 40%, producer 30%, label 30%
royaltyTokenizerV1.reserveToken(integraHash, 1, artistAddress, 4000, processHash);
royaltyTokenizerV1.reserveToken(integraHash, 2, producerAddress, 3000, processHash);
royaltyTokenizerV1.reserveToken(integraHash, 3, labelAddress, 3000, processHash);
// Total: 10000 (100%)TrustTokenizerV1
Standard: ERC-1155 | Transferable: Configurable Models trust agreements with multiple beneficiary classes, distribution tracking, and optional transfer restrictions. Use for legal trusts, beneficiary interest management, and structured distribution plans.
SemiFungibleTokenizerV1
Standard: ERC-1155 | Transferable: Yes Hybrid fungible/non-fungible model where token IDs represent types and quantities per type can vary. Use for event tickets (VIP, General Admission), game items, limited edition series, and batch credentials.
RentalTokenizerV1
Standard: ERC-1155 | Transferable: Yes Time-based access rights with expiration tracking per token. Use for property rentals, equipment leases, subscription access, and temporary licenses.
Feature Comparison
| Feature | ERC-721 (11) | ERC-20 (5) | ERC-1155 (7) |
|---|---|---|---|
| Unique per record | Yes | No | No |
| Fractional | No | Yes | Varies |
| Multi-party roles | No | No | Yes |
| Anonymous reservation | Most | No (ERC-20 limitation) | All |
| Transferable | Varies | Varies | All |
Industry Recommendations
Real Estate
- Deeds and titles: OwnershipTokenizerV1
- Fractional ownership: FractionalTokenizerV1
- Rental agreements: RentalTokenizerV1
- Escrow: EscrowTokenizerV1
- Custody/vault: VaultTokenizerV1
Finance
- Company equity: SharesTokenizerV1
- Regulated securities: SecurityTokenTokenizerV1
- Revenue splits: RoyaltyTokenizerV1
- Stock options: OptionsTokenizerV1
- Debt instruments: DebtTokenizerV1
- Invoices: InvoiceTokenizerV1
- Payment streaming: StreamTokenizerV1
Education and Credentials
- Degrees and diplomas: SoulboundTokenizerV1
- Course badges: BadgeTokenizerV1
- Professional licenses: LicenseTokenizerV1
Insurance
- Policies and claims: InsuranceTokenizerV1
Supply Chain
- Shipment tracking: SupplyChainTokenizerV1
- Multi-party logistics: MultiPartyTokenizerV1
Legal
- Multi-party contracts: MultiPartyTokenizerV1
- Trust agreements: TrustTokenizerV1
- Compliance records: SecurityTokenTokenizerV1
Media and Entertainment
- Music royalties: RoyaltyTokenizerV1
- Event tickets: SemiFungibleTokenizerV1
DAOs and Governance
- Governance tokens: GovernanceTokenizerV1
- Memberships: MembershipTokenizerV1
Common Patterns
Single-Owner Record
// Register record and reserve token for buyer
bytes32 integraHash = integraRecordV1.registerRecord(contentHash, ...);
ownershipTokenizerV1.reserveToken(integraHash, 0, buyerAddress, 1, processHash);
// Buyer claims with valid attestation
ownershipTokenizerV1.claimToken(integraHash, tokenId, attestationUID, processHash);
// Result: buyer holds an ERC-721 NFT bound to the recordMulti-Party Agreement
// Reserve roles for buyer and seller
multiPartyTokenizerV1.reserveTokenAnonymous(integraHash, 1, 1, encrypt("buyer"), processHash);
multiPartyTokenizerV1.reserveTokenAnonymous(integraHash, 2, 1, encrypt("seller"), processHash);
// Each party claims with their attestationSoulbound Credential
// Issue non-transferable degree
soulboundTokenizerV1.reserveToken(integraHash, 0, graduateAddress, 1, processHash);
soulboundTokenizerV1.claimToken(integraHash, tokenId, attestationUID, processHash);
// Result: non-transferable credential NFT
// Any transfer attempt revertsShared Architecture
All 23 tokenizers inherit from BaseTokenizerV1 and share these properties:
- UUPS upgradeable with progressive ossification governance
- Attestation-gated claiming via
AttestationAccessControlV1 - Per-record executor authorization (zero-trust model)
- Encrypted labels for privacy-preserving anonymous reservations
- processHash correlation for audit trail linkage
- Emergency pause controlled by governance
- ERC-2771 meta-transactions for gasless operation
- Batch operations up to 50 items per transaction
- Token ID cap of 255 (aligned with bitmap tracking)