Skip to main content

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:

  1. Ownership model -- Is ownership unique, shared, or fractional?
  2. Token standard -- Does the use case need ERC-721 (non-fungible), ERC-1155 (multi-token), or ERC-20 (fungible)?
  3. 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 CaseRecommended TokenizerStandard
Property deed (single owner)OwnershipTokenizerV1ERC-721
University degree (credential)SoulboundTokenizerV1ERC-721
Software licenseLicenseTokenizerV1ERC-721
Gym membershipMembershipTokenizerV1ERC-721
Escrow agreementEscrowTokenizerV1ERC-721
Collateral custodyVaultTokenizerV1ERC-721
Stock option grantOptionsTokenizerV1ERC-721
Trade receivableInvoiceTokenizerV1ERC-721
Insurance policyInsuranceTokenizerV1ERC-721
Promissory noteDebtTokenizerV1ERC-721
Shipment trackingSupplyChainTokenizerV1ERC-721
Company sharesSharesTokenizerV1ERC-20
Regulated securitiesSecurityTokenTokenizerV1ERC-20
DAO governance tokenGovernanceTokenizerV1ERC-20
Fractional real estateFractionalTokenizerV1ERC-20
Payment streaming / vestingStreamTokenizerV1ERC-20
Purchase agreement (buyer + seller)MultiPartyTokenizerV1ERC-1155
Multi-party agreement with dispute resolutionAgreementTokenizerV1ERC-1155
Course completion badgesBadgeTokenizerV1ERC-1155
Music royalties (revenue split)RoyaltyTokenizerV1ERC-1155
Trust agreement (beneficiary interests)TrustTokenizerV1ERC-1155
Event tickets (semi-fungible)SemiFungibleTokenizerV1ERC-1155
Property rental (time-based)RentalTokenizerV1ERC-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 --> SemiFungibleTokenizerV1

ERC-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 independently

AgreementTokenizerV1

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

FeatureERC-721 (11)ERC-20 (5)ERC-1155 (7)
Unique per recordYesNoNo
FractionalNoYesVaries
Multi-party rolesNoNoYes
Anonymous reservationMostNo (ERC-20 limitation)All
TransferableVariesVariesAll

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
  • 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 record

Multi-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 attestation

Soulbound 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 reverts

Shared 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)