Docs — 書

How Dojo works

Launching a coin against another coin, trading it from anywhere, where every fee goes, and what the protocol token is for.


05Launch発行

Native Injective coins

A coin launched on Dojo is not an EVM token that Injective's Cosmos side cannot see. It is a bank-module coin: its balances live in Injective's own bank module, and its ERC-20 contract is the face that module shows the EVM. One asset, visible and usable on both sides of the chain at once.

erc20:0x…
its denom on the Cosmos side, named after its contract
Keplr · Leap · Hub
where it shows up, with no bridge and no wrapped copy
IBC
it can leave Injective like any native asset
1 INJ
Injective's fee to register it, paid inside the launch

What that means for you

  • Holders see it in their Cosmos wallets. Keplr, Leap and the Injective Hub read the bank module, and the bank module is where the coin's balances are. An inj1… address and the 0x… address with the same 20 bytes are the same wallet, holding the same coin.
  • It can move over IBC, as any bank denom can.
  • It trades exactly as before on the EVM side: in its Infinity pool, through any router that trades ERC-20s. Choice, aggregators and wallets see an ordinary ERC-20.
  • It is listed by Injective automatically. InjectiveLabs' token list, which wallets and the Hub read names and logos from, is generated from the chain's denoms, so each coin appears there on its own — as unverified until its metadata is added by a pull request to injective-lists.

How it is made

Injective's MultiVM Token Standard gives every bank denom created by a contract the name erc20:<contract address>, and exposes the bank module to the EVM through a precompile at 0x…64. Dojo's BankPairToken is that contract:

  1. 1The launchpad deploys the coinat the address your salt picked, with no constructor arguments — it reads its name, symbol and supply back from the launchpad.
  2. 2It registers its denomone call, initialize, only the launchpad can make and only once. It sets the denom's metadata (name, symbol, 18 decimals) in the bank module and pays Injective's 1 INJ denom creation fee, which the launchpad forwards from what you sent.
  3. 3It mints the whole supply, oncestraight into the launch's pool. Nothing in the contract can call the bank module's mint or burn again.
  4. 4Everything else is the bank module'sbalances, transfers and total supply are read from and moved by the bank module; allowances and EIP-2612 permits stay in the contract, since the bank module has neither.

What stays the same

Fixed supply, no mint after launch, no burn function, no owner, no transfer tax, no blacklist, no pause. Every BankPairToken has byte-identical code, so verifying one on Blockscout verifies them all.

Coins from before

The first launchpad (retired on 2026-09-29) minted plain ERC-20s, PairToken, whose balances live in the contract. They keep trading as before and the site lists them alongside the rest, but they have no bank denom, so Cosmos wallets do not see them.