Why Institutions Tokenize Commodities
Eliminate Intermediaries
Remove custodians, transfer agents, and settlement intermediaries with on-chain verification
Instant Liquidity
Transform illiquid physical assets into tradable collateral with 24/7 market access
Automated Compliance
Reserve ratios validate on-chain before every mint, preventing over-issuance automatically
Flexible Redemption
Support physical delivery, cash settlement, or unit-based redemption based on asset requirements
Reserve Management
Issuers maintain physical commodity reserves in verified vaults and publish attestations on-chain. Each token locks to a fixedgramsPerToken ratio established at deployment—for gold, this might be 1 gram per token. The contract validates that totalSupply × gramsPerToken ≤ totalGramsReserve × 10^18 before executing any mint operation.
Reserve attestations point to third-party audit reports, vault certifications, or quality grading documentation through IPFS URIs or similar content-addressed storage. Issuers update these attestations as new audits complete without requiring contract redeployment. The vaultLocationHash provides cryptographic verification of physical storage locations while maintaining operational security.
Reserve Validation Example
Reserve Validation Example
Consider a gold token with If the issuer tries minting 2000 tokens instead, the transaction reverts because the reserve would be insufficient (6500 < 7000).
gramsPerToken = 1e18 (1 gram per token):Sub-Issuer Architecture
Multiple financial institutions can issue tokens against the same commodity type through the factory deployment pattern. Each institution becomes a sub-issuer with independent mint limits, fee structures, and redemption processes—but all tokens share the same contract implementation.| Single Issuer Model | Sub-Issuer Model |
|---|---|
| One institution controls all minting | Multiple authorized issuers mint independently |
| Centralized reserve management | Each sub-issuer maintains separate reserves |
| Single point of failure | Distributed issuance reduces systemic risk |
| Limited liquidity pools | Combined liquidity across all sub-issuers |
mintLimit caps that prevent any single institution from dominating supply. The main issuer approves sub-issuer applications and can revoke minting privileges if reserve compliance fails. This creates a federated model where multiple banks or exchanges can offer the same commodity token while maintaining independent operations.
Redemption Modes
Commodity Tokens support three distinct redemption patterns that accommodate different asset types and regulatory requirements:- Physical Delivery
- Cash Settlement
- Hybrid Approach
Users burn tokens to receive physical commodity units. The contract enforces minimum redemption amounts through
minTokensForAsset to match standard unit sizes (e.g., 1kg gold bars require at least 1000 tokens if each represents 1 gram).When unitsEnabled = true and unitWeightGrams is set, redemptions must align to physical unit boundaries. Attempting to redeem 1500 grams when units are 1000 grams will revert—users must burn multiples of the unit size.Request Workflow System
Commodity Tokens implement four request types that balance automation with compliance oversight:Fee Distribution
Minting and burning operations can include configurable fees split between the main issuer and the platform. SetmintFeeBps and burnFeeBps to values between 0-1000 basis points (0-10%).
Deployment Options
Deploy Commodity Tokens through the Trusset dashboard for guided setup or directly via factory contracts for programmatic control. Both paths generate UUPS upgradeable proxies that share implementation logic while maintaining isolated state.Factory Deployment Parameters
Factory Deployment Parameters
When calling
createCommodityToken on the factory contract:name/symbol: Token identificationgramsPerToken: Fixed reserve ratio (e.g., 1e18 for 1 gram per token)mainIssuer: Address with full administrative controlredemptionAddress: Where unredeemed tokens routemaxSupply: Hard cap on total supply (0 = unlimited)kycRequired: Enforce identity verification on transfersuseCustomRegistry: Override factory default KYC registrycustomRegistry: Custom identity registry address (if enabled)
API Reference
Integration endpoints for Commodity Token deployment
Identity Registry
KYC verification integration
