ERC-20 Compatible: TIP-20 tokens are fully compatible with existing ERC-20 infrastructure, tools, and integrations. The extensions are additive.
Why TIP-20?
Traditional ERC-20 tokens lack features critical for institutional payment infrastructure:No Payment Reconciliation
Standard transfers have no native way to attach invoice numbers, references, or memo fields.
Unpredictable Throughput
Token transfers compete for block space with all other transactions, causing congestion.
Per-Token Compliance
Each token implements its own transfer restrictions, causing inconsistency and integration overhead.
High Gas Costs
Standard ERC-20 transfers cost 65k-100k+ gas due to inefficient storage patterns.
Core Features
1. Payment Lanes
TIP-20 transfers access dedicated payment lanes with guaranteed capacity:- 450M gas/block reserved for payment transactions
- General transactions capped at 30M gas, ensuring payment throughput
- Predictable inclusion: Payment lane priority prevents noisy-neighbor problems
At 50,000 gas per TIP-20 transfer and 450M gas payment capacity, Tempo can process ~9,000 transfers per block or ~18,000 TPS at 500ms block times.
2. On-Transfer Memos
Attach 32-byte memo fields directly to transfers for reconciliation:3. Commitment Patterns
For large data or PII, use hash commitments to keep sensitive data off-chain:Hash Commitment
Hash Commitment
Store a hash of off-chain data on-chain for verification:Verification: Recipients can verify received data matches the hash commitment.
Locator Pattern
Locator Pattern
Store a reference to external data (URL, database key, etc.):Use case: Large documents, multi-page invoices, detailed transaction metadata.
4. TIP-403 Policy Registry
Shared compliance policies across multiple tokens:- Single update propagates: Change compliance rules for all tokens at once
- Consistent enforcement: Same rules across token portfolio
- Reduced integration overhead: Deploy hooks contract once, apply to many tokens
TIP-403 Specification
Complete documentation of the Policy Registry system
Token Lifecycle
Deployment via TIP-20 Factory
TIP-20 tokens are deployed through the TIP-20 Factory precompile for gas efficiency:0x20c0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- All TIP-20 tokens share the
0x20c0prefix - Remaining 18 bytes uniquely identify the token
- Enables efficient precompile routing
Token Roles
TIP-20 implements OpenZeppelin-style role-based access control:Owner
Full control over token configuration, role assignments, and critical operations.
Minter
Can mint new tokens to any address (if not immutably capped).
Burner
Can burn tokens from any address (for redemptions, deflationary mechanics).
Pauser
Can pause/unpause transfers (emergency stop mechanism).
Gas Costs
TIP-20 is optimized for low-cost transfers:| Operation | Gas Cost | USD @ 0.1¢/50k gas |
|---|---|---|
| Transfer to existing address | ~50,000 | $0.001 (0.1¢) |
| Transfer to new address | ~300,000 | $0.006 (0.6¢) |
| Transfer with memo | ~52,000 | $0.001 (0.1¢) |
| Approve | ~45,000 | $0.0009 (0.09¢) |
| Mint | ~55,000 | $0.0011 (0.11¢) |
| Burn | ~55,000 | $0.0011 (0.11¢) |
New address cost: First-time transfers to an address cost ~250k gas more due to TIP-1000 state creation pricing (anti-spam measure).
Comparison with ERC-20
Why TIP-20 is cheaper:- Enshrined precompile (no contract call overhead)
- Optimized storage layout
- Efficient balance tracking
- Payment lane reduces contention
Advanced Features
Permit (EIP-2612)
Gasless approvals via off-chain signatures:Rewards Distribution
Protocol-level reward accrual for validators:Rewards are distributed to validators based on their participation in consensus and block production. Token holders do not need to do anything.
Quote Token (DEX Integration)
Tokens can specify a quote token for automated DEX pairing:Compliance & Transfer Policies
Transfer Hooks (TIP-403)
Transfer policies are enforced via hooks contracts registered in TIP-403:- KYC/AML: Verify sender/recipient are on whitelist
- Transfer limits: Enforce daily/monthly caps
- Jurisdiction restrictions: Block transfers to sanctioned addresses
- Business hours: Only allow transfers during specific times
Pause Mechanism
Emergency transfer halt:Integration Guide
Querying Token Metadata
Watching Transfer Events
Allowance Pattern
Compatibility Matrix
| ERC-20 Feature | TIP-20 Support | Notes |
|---|---|---|
transfer | ✅ Full | Standard transfer |
transferFrom | ✅ Full | Allowance-based transfer |
approve | ✅ Full | Set spending allowance |
balanceOf | ✅ Full | Query balance |
totalSupply | ✅ Full | Query total supply |
decimals | ✅ Full | Token decimals |
name | ✅ Full | Token name |
symbol | ✅ Full | Token symbol |
permit (EIP-2612) | ✅ Full | Gasless approvals |
transferWithMemo- Transfer with 32-byte memosetPolicyId- Apply TIP-403 policysetQuoteToken- Configure DEX pairing- Role-based minting/burning/pausing
Best Practices
Always Use Memos for Business Payments
Always Use Memos for Business Payments
Attach invoice numbers, order IDs, or reference codes to enable automatic reconciliation. Use hash commitments for sensitive data.
Deploy Through Factory
Deploy Through Factory
Use the TIP-20 Factory precompile for gas-efficient deployment and guaranteed address format.
Implement Transfer Policies Early
Implement Transfer Policies Early
Define your compliance requirements before mainnet. TIP-403 makes updates easy, but design thoughtfully.
Use Multi-Sig for Privileged Roles
Use Multi-Sig for Privileged Roles
OWNER, MINTER, and PAUSER roles should be controlled by multi-sig or governance contracts in production.
Test Policy Updates
Test Policy Updates
TIP-403 policies affect all tokens using that policy. Test updates thoroughly on testnet before applying to mainnet.
SDK Examples
TypeScript SDK
Complete TIP-20 integration examples with memos, policies, and advanced features.
Rust SDK
Type-safe TIP-20 contract bindings for Rust applications.
Further Reading
TIP-20 Specification
Complete technical specification of the TIP-20 standard
TIP-403 Policy Registry
Shared compliance policies across multiple tokens
Stablecoin DEX
On-chain order book for stablecoin swaps
Fee AMM
Multi-currency fee payment mechanism