Skip to content

ERC20 Tokens

With the development of Nibiru EVM, the network supports Ethereum smart contracts, allowing for the deployment of ERC20 tokens. Each ERC20 token is a fungible digital asset on the Nibiru blockchain.

TIP

New to ERC20 tokens? Go to this section to learn more.

FunToken Mapping Mechanism

How this works is that a canonical mapping called a "FunToken mapping" can be created between a ERC20 and Bank Coin. This mapping ties a unique connection between the two fungible token representations and enables all accounts to freely convert between both forms.

How do Bank Coins differ from ERC20 tokens?

AspectBank CoinsERC20 Tokens
State ManagementManaged directly by the Bank module in its own key-value storeManaged within each token's smart contract state
Creation ProcessCreated through governance proposals, permissioned modules, or the Tokenfactory moduleCreated by deploying new smart contracts
EfficiencyTypically more gas-efficient due to native implementationGenerally consume more gas due to smart contract execution
StandardizationAll follow the same standard and are handled uniformly by the blockchainCan have variations in implementation, though most follow a standard interface
Balance QueriesQueried through the Bank module's API, which is easy to manage because the same generic query is used for all coins.Queried by calling the ERC20 token's smart contract, as balances are individually stored on each contract.
Transfer MechanismExecuted directly by the Bank moduleExecuted by calling the token's transfer function
Supply ManagementControlled by authorized modules or governanceManaged by the token's smart contract logic
Permissionless CreationPossible via the Tokenfactory moduleInherent (anyone can deploy a new token contract)
Storage EfficiencyMore efficient as all coins share the same infrastructureEach token contract stores its own data separately
InteroperabilityNative to the Bank Module but can be converted to ERC20 via the FunToken systemNative to EVM environments (Nibiru EVM in this case) but can be converted to Bank Coins via the FunToken system

Bridged USDC Standard

Circle's Bridged USDC Standard will be deployed on the Nibiru EVM when V2 hits mainnet.

"Bridged USDC Standard is a specification and process for deploying a bridged form of USDC on EVM blockchains with optionality for Circle to seamlessly upgrade to native issuance in the future.

The result is a secure and standardized way for any EVM blockchain and rollup team to transfer ownership of a bridged USDC token contract to Circle to facilitate an upgrade to native USDC, if and when both parties deem appropriate." - Circle Blog.

More information on this is coming soon.

LayerZero Assets

More information on this is coming soon.

ERC20 Token Standard

ERC20, introduced in 2015 as part of an Etheruem Improvement Proposal (EIP-20), is the most widely adopted standard for fungible tokens on Ethereum-compatible blockchains, such as Nibiru. The ERC20 standard defines a set of rules that tokens must adhere to, ensuring compatibility with wallets, dApps, and other blockchain tools.

At its core, each ERC20 token is implemented as a smart contract—self-executing code on the blockchain—that handles all token functionality, including managing balances, transfers, and allowances.

The ERC20 standard specifies several core functions and events, which include:

  • balanceOf(address owner): Returns the balance of tokens for the given address.
  • transfer(address to, uint256 value): Moves tokens to another address.
  • approve(address spender, uint256 value): Sets an allowance for another address to spend tokens.
  • allowance(address owner, address spender): Returns the remaining number of tokens a spender can transfer on behalf of the owner.
  • transferFrom(address from, address to, uint256 value): Transfers tokens from one address to another using an allowance.
  • totalSupply(): Returns the total number of tokens in existence.

These functions allow apps to interact with ERC20 tokens in a standardized manner.