# Guide: Enabling Namada support for a new IBC token

**URL:** <https://forum.namada.net/t/guide-enabling-namada-support-for-a-new-ibc-token/1620>\
**Category:** Ideas & initiatives\
**Created:** [20 March 2025 13:22 UTC](https://forum.namada.net/t/guide-enabling-namada-support-for-a-new-ibc-token/1620 "2025-03-20T13:22:53Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Gavin](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.namada.net/gavin/32/16_2.png) [@Gavin](https://forum.namada.net/u/Gavin)\
**Post date:** [20 March 2025 13:22 UTC](https://forum.namada.net/t/guide-enabling-namada-support-for-a-new-ibc-token/1620/1 "2025-03-20T13:22:53Z")

</div>

Namada is permissionless, which means there’s coordination that needs to happen to make changes. I think we’d benefit from having a resource to help guide people who want to enable support for a new token on Namada.

It would be great for someone to champion the creation of a clear, concise guide to adding a new IBC token to Namada. This can be a first draft, it doesn’t have to be exhaustive, and we can engage in this as a community.

(more opportunities here: [Namada Ecosystem Opportunities - Contribute, Collaborate, and Make an Impact](https://namada.community/ecosystem-opportunities))

---

<div class="post-metadata">

**Author:** ![mindstyle85](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.namada.net/mindstyle85/32/968_2.png) [@mindstyle85](https://forum.namada.net/u/mindstyle85)\
**Post date:** [9 July 2025 11:50 UTC](https://forum.namada.net/t/guide-enabling-namada-support-for-a-new-ibc-token/1620/2 "2025-07-09T11:50:31Z")

</div>

hey, me and my team are interested in doing this one! will post back once we have at least an initial draft

---

<div class="post-metadata">

**Author:** ![mindstyle85](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.namada.net/mindstyle85/32/968_2.png) [@mindstyle85](https://forum.namada.net/u/mindstyle85)\
**Post date:** [17 July 2025 16:17 UTC](https://forum.namada.net/t/guide-enabling-namada-support-for-a-new-ibc-token/1620/3 "2025-07-17T16:17:29Z")

</div>

Hello, here is the first version. I think we mostly got everything in:

# Guide to Adding a New IBC Token to Namada

## Overview

Adding a new IBC (Inter-Blockchain Communication) token to Namada involves several steps, including preparing the necessary governance proposal, updating the Namada registry, and ensuring the token is correctly integrated into the Namada network. This guide will walk you through the process using the provided resources.

## Step 1: Opening and Testing IBC Channels on the Campfire Testnet

Ensure you have the necessary tools and dependencies installed. Please see [hardware requirements](https://docs.namada.net/operators/hardware), [node configuration](https://docs.namada.net/operators/ledger/env-vars) and [IBC relaying](https://docs.namada.net/operators/ibc) documentation.

## Step 2: Verifying Compatibility and Completing Integration Testing on the Campfire Testnet

### 2.1 Verify Token Compatibility

Ensure that the token you want to add is compatible with Namada’s IBC module. Check the token’s denom and ensure it matches the expected format.

### 2.2 Perform Integration Testing

Conduct thorough integration testing to ensure that the token can be successfully transferred and managed within the Namada network. This includes testing both sending and receiving transactions.

Testing Action Items:

- Each token can be IBC transferred into a Namada transparent address
- Each token can be directly shielded into Namada over IBC
- Each token can be unshielded natively within Namada and out of directly out of Namada over IBC
- Shielded transfers of these tokens are working
- Each token can be used for gas payment
- The rate limit caps work as intended, e.g. an IBC transfer of more than 20 tokens for any of the tokens can never succeed in either direction
- NAM can still not be transferred or shielded
- No shielded rewards are minted
- Staking rewards and other proof-of-stake actions still work as in Phase 2
- All of the above functionality works via the CLI and Namadillo  
Example report: [Housefire testnet Phase 3 Checklist - #4 by Daniel](https://forum.namada.net/t/housefire-testnet-phase-3-checklist/1503/4)

## Step 3: Governance Proposal to Add the IBC Token on mainnet

### 3.1 Create the Proposal

Draft a governance proposal to add the new IBC token in the [forums](https://forum.namada.net/c/governance-ops/proposal/24). You can refer to the following [proposal](https://forum.namada.net/t/proposal-add-support-for-usdc-usdy-um-nym-ntrn/1648/1) for structure and content.

### 3.2 Submit the Proposal

Submit the proposal using the Namada governance module. Please refer to documentation for [proposal structure](https://docs.namada.net/users/governance/proposal-structure), [default proposal type](https://docs.namada.net/users/governance/proposal-types#default-proposal) and [governance actions](https://docs.namada.net/users/governance/governance-actions).

Please refer to this [section](https://docs.namada.net/users/governance/governance-actions#submit-a-governance-proposal-with-wasm-code-attached) on how to create wasm code. Additionally the following [example](https://github.com/namada-net/namada-governance-upgrades/blob/cccbb06948f258ceae935806ec17019f8838879e/phase3/src/lib.rs) can be used as reference.

Please keep in mind that when adding a new IBC token, the following values have to be correctly added:

ChannelId  
BaseToken  
MintTokenLimit  
ThroughtputTokenLimit  
MinimumGasPrice

Refer to an example below:

```auto
    (
        "channel-4", // ChannelId - the id of the IBC channel
        "upenumbra", // BaseToken - base token and denom to be added, default is usually "utoken"
        MintTokenLimit::from_u64(5000000000000), // 5M UM - the amount of token that can be minted on Namada, in "utoken"
        ThroughtputTokenLimit::from_u64(1000000000000), // 1M UM - the maximum amount allowed within 24 hours
        Some(Gas::from_u64(10)), // 10 upenumbra / gas unit - how many IBC tokens per gas unit are needed to pay for transaction fees
    )

```

Notes:

Non-native token gas payment such that the minimum tx cost in a non-native asset will be in the approximate $0.20 - $0.30 range  
Global mint limit of ~$5M of a given non-native asset allowed into Namada  
Throughput limit of ~$1M of a given non-native asset to flow into/out of Namada per epoch

Finally, submit the proposal on-chain:

`namadac init-proposal --data-path proposal.json --gas-limit 500000`

## Step 4: Opening IBC Channels on mainnet

Ensure you have the necessary tools and dependencies installed. Please see [hardware requirements](https://docs.namada.net/operators/hardware), [node configuration](https://docs.namada.net/operators/ledger/env-vars) and [IBC relaying](https://docs.namada.net/operators/ibc) documentation.

## Step 5: Add the Assets to Chain Registry

### 5.1 Update the Chain Registry IBC channels

Update the Namada [chain registry](https://github.com/namada-net/namada-chain-registry) and [Namada ecosystem repo from Luminara](https://github.com/Luminara-Hub/namada-ecosystem/tree/main/user-and-dev-tools/mainnet/ibc-relayers), to include the new IBC channels. Refer to the [pull request](https://github.com/namada-net/namada-chain-registry/pull/54) for an example of how to update the registry.

An example to add Penumbra:

Create namada-penumbra.json with the following:

```auto
{
  "$schema": "../ibc_data.schema.json",
  "chain_1": {
    "chain_name": "namada",
    "client_id": "07-tendermint-6",
    "connection_id": "connection-4"
  },
  "chain_2": {
    "chain_name": "penumbra",
    "client_id": "07-tendermint-18",
    "connection_id": "connection-14"
  },
  "channels": [
    {
      "chain_1": {
        "channel_id": "channel-4",
        "port_id": "transfer"
      },
      "chain_2": {
        "channel_id": "channel-13",
        "port_id": "transfer"
      },
      "ordering": "unordered",
      "version": "ics20-1"
    }
  ]
}

```

### 5.2 Update the Chain Registry IBC tokens

Update the Namada [chain registry](https://github.com/namada-net/namada-chain-registry) to include the new IBC tokens. Refer to the [pull request](https://github.com/namada-net/namada-chain-registry/pull/55) for an example of how to update the registry.

An example to add Penumbra:

```auto
 {
      "description": "The native token of Penumbra.",
      "denom_units": [
        {
          "denom": "ibc/9473AE955A0A5E6EFDDB8C529E777814DBE3D0FE2FD2ECB9D7208920E0FD62D3",
          "exponent": 0,
          "aliases": ["upenumbra"]
        },
        {
          "denom": "penumbra",
          "exponent": 6
        }
      ],
      "type_asset": "ics20",
      "base": "ibc/9473AE955A0A5E6EFDDB8C529E777814DBE3D0FE2FD2ECB9D7208920E0FD62D3",
      "name": "Penumbra",
      "display": "penumbra",
      "symbol": "UM",
      "address": "tnam1pk288t54tg99umhamwx998nh0q2dhc7slch45sqy",
      "traces": [
        {
          "type": "ibc",
          "counterparty": {
            "chain_name": "penumbra",
            "base_denom": "upenumbra",
            "channel_id": "channel-13"
          },
          "chain": {
            "channel_id": "channel-4",
            "path": "transfer/channel-4/upenumbra"
          }
        }
      ],
      "logo_URIs": {
        "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/penumbra/images/um.png",
        "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/penumbra/images/um.svg"
      },
      "images": [
        {
          "image_sync": {
            "chain_name": "penumbra",
            "base_denom": "upenumbra"
          },
          "png": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/penumbra/images/um.png",
          "svg": "https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/penumbra/images/um.svg",
          "theme": {
            "circle": true,
            "primary_color_hex": "#c7b07f"
          }
        }
      ]
    }

```

---

<div class="post-metadata">

**Author:** ![mindstyle85](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.namada.net/mindstyle85/32/968_2.png) [@mindstyle85](https://forum.namada.net/u/mindstyle85)\
**Post date:** [22 July 2025 15:55 UTC](https://forum.namada.net/t/guide-enabling-namada-support-for-a-new-ibc-token/1620/4 "2025-07-22T15:55:30Z")

</div>

looking for some feedback, otherwise if its wholesome enough, anyone is welcome to add this to the docs

---

<div class="post-metadata">

**Author:** ![maxpower-01](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.namada.net/maxpower-01/32/672_2.png) [@maxpower-01](https://forum.namada.net/u/maxpower-01)\
**Post date:** [22 July 2025 16:38 UTC](https://forum.namada.net/t/guide-enabling-namada-support-for-a-new-ibc-token/1620/5 "2025-07-22T16:38:24Z")

</div>

You did very well.

What I’m missing is a reference to the GitHub repo of [GitHub - Luminara-Hub/namada-ecosystem](https://github.com/Luminara-Hub/namada-ecosystem).

Maybe also double-check with Daniel.

---

<div class="post-metadata">

**Author:** ![mindstyle85](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.namada.net/mindstyle85/32/968_2.png) [@mindstyle85](https://forum.namada.net/u/mindstyle85)\
**Post date:** [23 July 2025 11:24 UTC](https://forum.namada.net/t/guide-enabling-namada-support-for-a-new-ibc-token/1620/6 "2025-07-23T11:24:11Z")

</div>

Thanks, added that!
