Token Transfers

IU2U Protocol enables seamless token transfers across multiple blockchain networks through a secure burn-and-mint mechanism powered by a decentralized relayer network.

Overview

Cross-chain token transfers allow users to move IU2U tokens and other supported assets between different blockchains while maintaining security and decentralization principles.

Transfer Mechanism

Burn-and-Mint Model

Lock-and-Release Model (For Native Tokens)

For non-IU2U tokens, the protocol uses a lock-and-release mechanism:

Implementation

Basic Token Transfer

interface IIU2UGateway {
    function sendToken(
        string memory destinationChain,
        string memory destinationAddress,
        string memory symbol,
        uint256 amount
    ) external;
}

Example Usage

Advanced Transfer with Data

Supported Tokens

Native IU2U Token

Chain
Contract Address
Decimals
Type

CrossFi

0x...

18

Native

Ethereum

0x...

18

Wrapped

BSC

0x...

18

Wrapped

Polygon

0x...

18

Wrapped

Arbitrum

0x...

18

Wrapped

Optimism

0x...

18

Wrapped

Avalanche

0x...

18

Wrapped

Wrapped Tokens

The protocol supports wrapping of various tokens for cross-chain transfers:

Transfer Types

1. Simple Transfer

Direct token transfer between addresses on different chains:

2. Transfer with Contract Call

Transfer tokens and execute a function on the destination chain:

3. Batch Transfers

Transfer multiple tokens in a single transaction:

Security Features

Multi-Signature Validation

All token transfers require validation from multiple relayers:

Rate Limiting

Transfer limits prevent large-scale attacks:

Replay Protection

Command IDs prevent duplicate token minting:

Fee Structure

Transfer Fees

Fee Calculation

Fee Payment Options

  1. Native Token: Pay fees in the source chain's native token

  2. IU2U Token: Pay fees using IU2U tokens

  3. Deducted from Transfer: Fees deducted from transfer amount

Gas Management

Gas Estimation

Gas Payment Models

Prepaid Gas

Token-Based Gas

Error Handling

Transfer Failures

Automatic Rollback

Advanced Features

Scheduled Transfers

Conditional Transfers

Monitoring and Analytics

Transfer Tracking

Transfer Status

Integration Examples

DeFi Integration

Gaming Integration

Best Practices

For Users

  1. Verify Addresses: Double-check destination addresses and chains

  2. Check Fees: Understand fee structure before transferring

  3. Monitor Status: Track transfer status until completion

  4. Use Proper Gas: Provide adequate gas for complex transfers

For Developers

  1. Implement Timeouts: Set reasonable timeouts for transfers

  2. Handle Failures: Implement proper error handling and recovery

  3. Test Thoroughly: Test transfers on all supported chains

  4. Monitor Events: Listen for transfer events and status updates

Security Guidelines

  1. Validate Inputs: Always validate transfer parameters

  2. Rate Limiting: Implement appropriate rate limiting

  3. Access Control: Restrict sensitive functions properly

  4. Audit Regularly: Regular security audits for transfer logic

Resources

Last updated