Skip to main content
This guide walks through bringing an existing ERC-20 token from Ethereum to Injective and making it fully operational - visible in MetaMask, tradeable on the native orderbook, and composable with DeFi protocols.

What You Get Out of the Box

Peggy Bridge

Decentralized, validator-operated bridge between Ethereum and Injective. Your ERC-20 becomes a native Injective denom.

MultiVM Token Standard

One token, one balance across EVM and Native Injective. MetaMask, Solidity contracts, and native modules all see the same asset.

Native CLOB

Launch a spot market for your token in one transaction. On-chain orderbook with maker rebates and FBA protection.

USDC Liquidity

Native USDC already live on Injective via CCTP. Pair your token against USDC for instant liquidity.

Step by Step

Bridge and deploy flow: Ethereum to Injective

1. Bridge via Peggy

Send your ERC-20 token from Ethereum to Injective using the Peggy bridge contract. On Ethereum, two transactions:
  1. Approve the Peggy contract to spend your token
  2. sendToInjective on the Peggy contract with the token address, your Injective address, and amount
The first bridge transaction for a given ERC-20 automatically creates the denom on Injective as peggy0x{CONTRACT_ADDRESS}.
Peggo relayers typically process deposits within 2 minutes. You can verify your balance via the Injective testnet explorer or the REST API.
For full details, see the Peggy bridge guide.

2. Create MTS Token Pair

Create a token pair to make your Peggy denom accessible from the EVM side (MetaMask, Solidity contracts, Blockscout).
Gas requirement: This transaction requires --gas=3000000 minimum. The ERC20 module internally deploys an EVM contract with a hardcoded 2M gas limit. Any gas value below ~2.1M will fail with a gas computation overflow/underflow error.
For Peggy denoms, anyone can create the token pair - no admin required. The module deploys a FixedSupplyBankERC20 contract automatically. After the transaction succeeds, query the new ERC20 address:
For full details, see the ERC20 module docs.

3. Set Token Metadata

Token metadata (name, symbol, decimals) determines how your token appears in MetaMask, Blockscout, and any EVM tool that calls symbol(), name(), or decimals() on the contract.
Peggy-bridged tokens do not inherit metadata from Ethereum automatically. The MTS ERC20 contract reads metadata from Injective’s bank module. If bank metadata is not set, the token will display with a blank name, blank symbol, and 0 decimals.
For Peggy denoms (peggy0x...): Metadata must be set via a governance proposal. This is because Peggy denoms have no admin authority - only governance can write to the bank module’s metadata store. See the token metadata guide for the full proposal template and how to coordinate with the team for testnet validator votes. For TokenFactory denoms (factory/...): The denom admin can call MsgSetDenomMetadata directly. See TokenFactory examples. For frontend display in Injective dApps: Submit your token to injective-lists. This is separate from on-chain metadata and does not affect MetaMask or Blockscout.

What You Can Do Next

Once your token is live on Injective with MTS (after Step 3), these are all independent options:

Launch a Spot Market

Create an orderbook for your token on the native CLOB. One transaction, maker rebates, 40% fee share.

DeFi Integration

Build lending protocols, collateralized borrowing, or yield products using your token with Injective’s native modules and precompiles.

Set Up Oracle Feeds

Register a custom oracle provider to publish off-chain valuations on-chain for pricing or collateral.

Add Permissions

Role-based compliance controls for institutional use. Map consortium roles to on-chain permissions with contract hooks for KYC/AML.

Vault Strategies

Automated yield strategies on Mito or custom vault contracts.

Cross-Chain Flows

Native USDC via CCTP for cross-chain transfers. Bridge proceeds to Ethereum or other supported networks.

Working Example

The ACME bridge example provides a complete working codebase that covers every step above - from deploying an ERC-20 on Sepolia through creating the MTS token pair and setting metadata.
Last modified on September 9, 2026