> ## Documentation Index
> Fetch the complete documentation index at: https://seilabs-docs-prop-121-ibc-outbound-disabled.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# SIP-03 Migration Guide

> Practical steps and resources for users and exchanges migrating during SIP-03, including asset transfer, USDC, and exchange migration guidance.

<Danger>
  **IBC is now disabled on Sei in both directions. IBC assets can no longer be bridged off Sei.**

  [Proposal #121](https://seistream.app/proposals/121) passed on July 31, 2026 and set the `ibc` module's `OutboundEnabled` parameter to `false`. Inbound IBC was already disabled by [Proposal #116](https://seistream.app/proposals/116) and [Proposal #120](https://seistream.app/proposals/120). Both directions are now closed.

  If you hold [USDC.n](https://seiscan.io/address/0x3894085Ef7Ff0f0aeDf52E2A2704928d1Ec074F1) (USDC via Noble), [USDT.kava](https://seiscan.io/address/0xb75d0b03c06a926e488e2659df1a861f860bd3d1) (Kava USDT), ATOM, WBTC, or any other IBC asset on Sei, **there is no longer a route to redeem or bridge it back to its origin chain**. The bridge-out and IBC-based migration routes that were previously available no longer function.

  These balances still exist on Sei and can still be transferred between Sei addresses, but they can no longer be redeemed for the underlying asset. See [IBC is disabled](#ibc-is-disabled) for the current state and [Affected IBC assets](#affected-ibc-assets) for the status of each one.
</Danger>

This page consolidates the most important, practical actions for the SIP-03 migration and links to the official resources.

<Info>
  For the full proposal text, see:

  * The [official SIP-03](https://github.com/sei-protocol/sips/blob/main/sips/sip-3.md)

  * Governance [Proposal #99](https://seistream.app/proposals/99) — initiated the migration

  * Governance [Proposal #115](https://seistream.app/proposals/115) — disabled CosmWasm code uploads and contract instantiations. No new CosmWasm contracts can be deployed on Sei.

  * Governance [Proposal #116](https://seistream.app/proposals/116) — disabled inbound IBC transfers by setting the `ibc` module's `InboundEnabled` parameter to `false`. IBC assets bridged from Cosmos chains can no longer arrive on Sei.

  * Governance [Proposal #120](https://seistream.app/proposals/120) — re-set `InboundEnabled` to `false`, leaving outbound IBC unchanged at the time. Follows up on Proposal #116.

  * Governance [Proposal #121](https://seistream.app/proposals/121) — disabled outbound IBC transfers by setting the `ibc` module's `OutboundEnabled` parameter to `false`. IBC assets can no longer leave Sei. Passed July 31, 2026.
</Info>

## What most users need to do

* If you use Keplr or Leap (Cosmos-style wallets) and hold assets on the native address (sei1...), you should move assets to an EVM-compatible address (0x...). Use the Asset Transfer tool linked below.
* If you use Compass or another EVM wallet already, you’re good — continue as normal.

## IBC is disabled

IBC (Inter-Blockchain Communication) is the Cosmos protocol that moved tokens between Sei and other Cosmos-SDK chains such as Noble, Kava, and Cosmos Hub. Assets that arrived this way exist on Sei as vouchers: an `ibc/...` denom in the bank module, backed by the real asset escrowed on the origin chain, redeemable only by sending the voucher back over the same channel it came in on.

Both directions are now closed. Two parameters on Sei's `ibc` module control this, and both are `false`:

| Parameter         | Gates                         | Current value |
| :---------------- | :---------------------------- | :------------ |
| `InboundEnabled`  | IBC transfers arriving on Sei | `false`       |
| `OutboundEnabled` | IBC transfers leaving Sei     | `false`       |

Each was set by a governance parameter change, which takes effect when the proposal executes. There is no separate upgrade or activation step. Inbound closed on May 12, 2026; outbound closed on July 31, 2026.

| Proposal                                    | Change                                                      | Effect                                    |
| :------------------------------------------ | :---------------------------------------------------------- | :---------------------------------------- |
| [#115](https://seistream.app/proposals/115) | `wasm.uploadAccess` and `wasm.instantiateAccess` → `Nobody` | No new CosmWasm contracts can be deployed |
| [#116](https://seistream.app/proposals/116) | `ibc.InboundEnabled` → `false`                              | IBC assets can no longer arrive on Sei    |
| [#120](https://seistream.app/proposals/120) | `ibc.InboundEnabled` → `false`                              | Re-applied the inbound block              |
| [#121](https://seistream.app/proposals/121) | `ibc.OutboundEnabled` → `false`                             | IBC assets can no longer leave Sei        |

### What this means in practice

**No longer possible:**

* Bridging any asset onto Sei over IBC.
* Bridging any asset off Sei over IBC, including sending a voucher back to its origin chain to redeem the underlying asset.
* IBC-based migration routes, such as sending USDC.n back to Noble to convert it to native USDC, or routing ATOM and WBTC out through Skip:Go.
* The **IBC precompile** at `0x0000000000000000000000000000000000001009`. Its transfer methods cannot succeed and there is no replacement. Do not build against it.

**Unaffected:**

* Native SEI transfers, staking, delegations, and rewards.
* The Sei EVM, ERC-20 tokens, and native and CW pointer contracts.
* Existing `ibc/...` balances in the bank module. They remain queryable and transferable between Sei addresses, including through their ERC-20 pointers. Only the redemption path off Sei is gone.
* Already-deployed CosmWasm contracts, which can still be executed and queried. [Proposal #115](https://seistream.app/proposals/115) blocked only uploads and instantiations and is a separate change from the IBC parameters.

<Note>
  If you have an IBC transfer that was submitted but never completed, contact [Sei Tech Chat](https://t.me/+KZdhZ1eE-G01NmZk) or [Discord](https://discord.com/invite/sei). Do not assume a pending transfer will settle or refund on its own now that both directions are closed.
</Note>

## Affected IBC assets

The assets below reached Sei over a bridge that is now closed. None of them has a route back to its origin chain.

| Asset                            | Token contract                                                                                                                                                         | Arrived via      | Route off Sei                  |
| :------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------- | :----------------------------- |
| **USDC.n (USDC via Noble)**      | [seiscan](https://seiscan.io/address/0x3894085ef7ff0f0aedf52e2a2704928d1ec074f1) [seistream](https://seistream.app/address/0x3894085Ef7Ff0f0aeDf52E2A2704928d1Ec074F1) | IBC (Noble)      | None (outbound IBC disabled)   |
| **USDT.kava (USDT via Kava)**    | [seiscan](https://seiscan.io/token/0xb75d0b03c06a926e488e2659df1a861f860bd3d1) [seistream](https://seistream.app/address/0xB75D0B03c06A926e488e2659DF1A861F860bD3d1)   | IBC (Kava)       | None (outbound IBC disabled)   |
| **ATOM**                         | [seistream](https://seistream.app/address/0xaF5fd7Df92B103B40b9Ed8D0d002696a5436E4D8)                                                                                  | IBC (Cosmos Hub) | None (outbound IBC disabled)   |
| **WBTC**                         | [seistream](https://seistream.app/address/0xe369ddC65Ec947FCB10262AA0E08C3fB9823001a)                                                                                  | IBC              | None (outbound IBC disabled)   |
| **USDCso (Wormhole, Solana)**    | [seistream](https://seistream.app/address/0x8eEDF32a4FC6fB78DDF231Cd3CcF6b7B8dF9D99d)                                                                                  | Wormhole         | None (Portal Bridge withdrawn) |
| **Wormhole-bridged WETH**        | [mintscan](https://www.mintscan.io/sei/assets/factory%2Fsei189adguawugk3e55zn63z8r9ll29xrjwca636ra7v7gxuzn98sxyqwzt47l%2F4tLQqCLaoKKfNFuPjA9o39YbKUwhR1F8N29Tz3hEbfP2) | Wormhole         | None (Portal Bridge withdrawn) |
| **USDCet (Wormhole, Ethereum)**  | [seistream](https://seistream.app/address/0xa272ee55434655970f7226c95eF0068a22994B84)                                                                                  | Wormhole         | None (Portal Bridge withdrawn) |
| **USDCop (Wormhole, Optimism)**  | [seistream](https://seistream.app/address/0xC489C59b1131D379Cbc3A42AD154bBD6f1050F7c)                                                                                  | Wormhole         | None (Portal Bridge withdrawn) |
| **USDTbs (Wormhole, BSC Chain)** | [seistream](https://seistream.app/address/0x0bf5F17f0a71cf2bC014DD875e35E4B02311b8F1)                                                                                  | Wormhole         | None (Portal Bridge withdrawn) |

The Wormhole-bridged assets are not IBC vouchers and were not affected by Proposals #116, #120, or #121. They are listed here because Portal Bridge (legacy) is no longer available as a route off Sei.

### What you can still do

* **Transfer within Sei.** These balances move normally between Sei addresses and through their ERC-20 pointer contracts.
* **Swap on a Sei DEX.** Swaps do not use IBC and still execute. These tokens can no longer be redeemed for the underlying asset, so the liquidity available for them is limited and may decline further. Check the quote before you trade.
* **Contact support.** For anything else, including incomplete transfers and assets not listed above, reach out via [Sei Tech Chat](https://t.me/+KZdhZ1eE-G01NmZk) or [Discord](https://discord.com/invite/sei).

The mention of third-party platforms does not constitute an endorsement. Users should do their own research before using any third-party service.

## Key tools and resources

### 1) Asset Transfer (Native ↔ EVM)

* Use the official Sei Dashboard to move assets between native (Keplr/Leap/Fin) and EVM (MetaMask/Compass etc.) addresses: [Sei Dashboard Transfer](https://dashboard.sei.io/evm-upgrade) or the Bridge tab at [Sei Dashboard Bridge](https://dashboard.sei.io/bridge).

When to use this:

* You used Keplr or Leap before and want assets available via an EVM wallet going forward.
* You need to access tokens on apps that now expect an EVM (0x) address.

### 2) USDC on Sei

Native USDC and Circle's CCTP V2 are now supported on Sei. USDC from Noble (USDC.n) is deprecated.

* QuickStart: [USDC on Sei](/evm/usdc-on-sei)
* Background: [USDC & CCTP v2 announcement](https://www.circle.com/blog/native-usdc-and-cctp-v2-are-coming-to-sei)

#### If you still hold USDC.n

<Warning>
  The route that sent USDC.n back to Noble to be reissued as native USDC required outbound IBC and **no longer works** as of [Proposal #121](https://seistream.app/proposals/121). USDC.n can no longer be redeemed through Noble or through Circle's CCTP.
</Warning>

The only remaining option on Sei is an on-chain swap, which does not use IBC:

* [DragonSwap](https://dragonswap.app/) or [Symphony](https://symph.ag/?tokenIn=0x3894085ef7ff0f0aedf52e2a2704928d1ec074f1\&tokenOut=0xe15fc38f6d8c56af07bbcbe3baf5708a2bf42392). Slippage depends on whatever liquidity remains for USDC.n.

**For DeFi suppliers of USDC.n (Yei, Takara Lend, etc.):**

* Wind down and withdraw your positions if you have not already. Supplied USDC.n cannot be redeemed off Sei.

If you are holding a balance you cannot resolve this way, contact [Sei Tech Chat](https://t.me/+KZdhZ1eE-G01NmZk) or [Discord](https://discord.com/invite/sei).

### 3) Address Association (Seistream)

[Seistream's SIP-03 migration page](https://seistream.app/migrate-sip03) links your EVM (`0x...`) and Cosmos (`sei1...`) addresses for the **native SEI token** in three guided steps. It is a community-built tool that streamlines the standard association flow.

Address association is the one-time, on-chain step that links your `0x...` and `sei1...` addresses so a single key controls both. It must be completed **before** the SIP-03 upgrade — afterward, Cosmos (`sei1...`) interfaces stop working and addresses can no longer be associated. See [Account Linking](/learn/accounts) for how association works under the hood.

What the tool does:

1. **Connect wallet** — connect any EVM wallet with an injected provider (MetaMask, Keplr, Rabby, Compass, Tangem, Trust Wallet, OKX, and most others).
2. **Gas + association** — cover the small amount of SEI needed for gas (Seistream provides a mainnet faucet to help), then submit the transaction that associates your `0x...` and `sei1...` addresses on-chain. Any outgoing EVM transaction registers the link automatically.
3. **Transfer from Cosmos** — send your existing native SEI from the old Cosmos wallet to the linked `sei1...` address, where it becomes spendable from your EVM wallet.

This is a streamlined alternative to the manual association flow in [Migrating a hardware or mnemonic-only wallet](#migrating-a-hardware-or-mnemonic-only-wallet).

<Warning>
  Seistream handles association for the **native SEI token only**. It does nothing for USDC.n, USDT.kava, ATOM, WBTC, or other IBC-bridged assets. See [Affected IBC assets](#affected-ibc-assets) for their status. Seistream is a third-party tool; its inclusion here is not an endorsement, and you should do your own research before connecting a wallet.
</Warning>

## Migrating a hardware or mnemonic-only wallet

If your wallet can export a raw private key, the simplest path is to import that key into an EVM wallet. A private key is independent of coin type, so it reproduces the same `0x...` and `sei1...` addresses in any wallet, and no funds need to move.

If your wallet cannot export a private key, you can still migrate by moving your funds to a new EVM-native account, as described below.

### When private-key export isn't an option

A raw private key always works, but two common setups do not provide one:

* **Mnemonic-only wallets.** Some wallets back up only a recovery phrase, not a raw private key. Sei's Cosmos (`sei1...`) accounts use coin type 118 (`m/44'/118'/0'/0/0`). Importing the same phrase into an EVM wallet such as MetaMask derives it on coin type 60 (`m/44'/60'/0'/0/0`), producing a different account with no access to the original funds. The underlying private key would import correctly if the wallet exposed it, but a mnemonic-only wallet does not.
* **Hardware wallets (such as Ledger).** A Ledger does not export the private key or seed under any circumstances. It only allows switching between the Cosmos app (coin type 118) and the Ethereum app (coin type 60), which control separate accounts with different addresses. The Cosmos-app account cannot be used from an EVM wallet.

For background, see [HD Paths and Coin Types](/learn/accounts#hd-paths-and-coin-types).

### Migration steps

This works because every account has exactly one EVM (`0x...`) address and one Cosmos (`sei1...`) address, both derived from the same key. Funds sent to the new account's `sei1...` address are therefore spendable from the EVM wallet that holds its `0x...` address.

<Tip>
  Prefer a guided flow? [Seistream's SIP-03 migration tool](https://seistream.app/migrate-sip03) walks through these same steps — connect an EVM wallet, cover gas, associate addresses, then transfer native SEI from the Cosmos side. See [Address Association (Seistream)](#3-address-association-seistream). It covers native SEI only; the manual steps below work for any wallet you control.
</Tip>

<Steps>
  <Step title="Create a new account in an EVM wallet you control">
    Use MetaMask, Compass, Rabby, or a Ledger running its Ethereum app. This produces a new `0x...` address.
  </Step>

  <Step title="Fund the new address with a small amount of SEI">
    Roughly 0.1 SEI is sufficient. Association is an on-chain transaction, so the account requires SEI for gas. Fund it from an exchange withdrawal or from any EVM wallet that already holds SEI.
  </Step>

  <Step title="Associate the new account on the Sei Dashboard">
    Connect the new EVM account to the [Sei Dashboard](https://dashboard.sei.io) and complete address association. This records the public key on-chain and links the `0x...` address to its `sei1...` counterpart. The dashboard then displays the linked `sei1...` address, which is the destination for the next step. See [Account Linking](/learn/accounts) for details on association.
  </Step>

  <Step title="Send a test transfer of 1 SEI">
    From the original Cosmos wallet (Keplr, Leap, the Ledger Cosmos app, and so on), send 1 SEI to the `sei1...` address from step 3. This is a standard Cosmos-to-Cosmos transfer.
  </Step>

  <Step title="Confirm receipt">
    Because the addresses are associated, the test amount should appear under the new account on the dashboard and as a spendable balance in the EVM wallet.
  </Step>

  <Step title="Transfer the remaining balance">
    Once the test transfer is confirmed, send the rest of the funds the same way. The assets are then held by an account whose key you control from an EVM wallet.
  </Step>
</Steps>

<Warning>
  Send the 1 SEI test transfer and confirm receipt before moving the full balance. Verify that the destination matches the exact `sei1...` address shown after association in step 3.
</Warning>

### Notes and limitations

* **Complete this before the SIP-03 upgrade.** After the Cosmos interface is deprecated, addresses can no longer be associated and `sei1...` transfers can no longer be broadcast. Steps 3 and 4 must be completed beforehand.
* **This procedure moves liquid balances only.** Staked SEI must be unbonded first, and the unbonding period is 21 days. See the staking question in the [FAQ](#faq).
* **Associate before sending.** Associating the new account before transferring ensures the funds arrive at the correct, immediately spendable address rather than a temporary holding address.
* **Optional verification.** To confirm the paired `sei1...` address independently, call `getSeiAddr(0x...)` on the `addr` precompile. See [Query Linked Addresses](/learn/accounts#query-linked-addresses).

## FAQ

### I am a Keplr / Leap wallet user; do I need to do anything?

Yes. Use the Asset Transfer tool to ensure your assets are available via an EVM wallet. See Asset Transfer above.

### I use Compass wallet; do I need to do anything?

No action needed. Compass ensures your assets are available via EVM. Continue connecting to Sei like any EVM chain.

### My wallet only shows a recovery phrase, or I use a Ledger — how do I migrate?

If you can export a raw private key, import it into an EVM wallet. This always works, because the key reproduces the same addresses in any wallet. If you cannot (a wallet that exports only a recovery phrase, or a Ledger that only switches between apps), create a new account in an EVM wallet you control, fund it with a small amount of SEI, associate it to reveal its paired `sei1...` address, and send your existing Cosmos funds to that address. Send a 1 SEI test transfer first. See [Migrating a hardware or mnemonic-only wallet](#migrating-a-hardware-or-mnemonic-only-wallet) for the full procedure.

### I stake SEI — do I need to do anything?

It depends on whether your Cosmos (`sei1...`) and EVM (`0x...`) addresses are **associated (linked)**. Staking on Sei is handled by the Cosmos staking module. After SIP-03, Cosmos-native transaction interfaces will no longer be available — but the underlying staking state is preserved and accessible via EVM for associated addresses.

**If your addresses are associated:** No action is needed. After the upgrade, your existing delegations, rewards, and unbonding state will be fully accessible via EVM. You can continue managing your stake through an EVM wallet using the [Staking Precompile](/evm/precompiles/staking) or the [Sei Dashboard](https://dashboard.sei.io/stake).

**If your addresses are NOT associated:** You must act before the upgrade. After SIP-03, you will not be able to associate addresses or manage delegations through a Cosmos wallet.

Your options:

1. **Associate your addresses** before the upgrade. You can do this by connecting your Cosmos wallet on the [Sei Dashboard](https://dashboard.sei.io) or by using any of the methods described in [Accounts](/learn/accounts). Once associated, your staking state becomes accessible via EVM — no need to unbond.
2. **Unbond your stake** and migrate assets to an EVM wallet using the [Asset Transfer tool](https://dashboard.sei.io/evm-upgrade). **The unbonding period is 21 days**, so you must begin this process at least 21 days before the Cosmos shutdown to ensure your tokens are liquid in time.

To check whether your addresses are linked, see [Query Linked Addresses](/learn/accounts#query-linked-addresses).

<Warning>
  **Do not confuse address linking with staking migration.** Even though `sei1...` and `0x...` addresses point to the same underlying account once associated, the chain can only recognize this link after explicit association. Without association, your staked SEI will not be accessible via EVM after the upgrade, and you will have no way to unbond or claim rewards.
</Warning>

### Can I still bridge assets into or out of Sei over IBC?

No. Inbound IBC was disabled by [Proposal #116](https://seistream.app/proposals/116) and [Proposal #120](https://seistream.app/proposals/120), and outbound IBC was disabled by [Proposal #121](https://seistream.app/proposals/121) on July 31, 2026. Both the `InboundEnabled` and `OutboundEnabled` parameters on the `ibc` module are now `false`, so no IBC transfer in either direction will be accepted. See [IBC is disabled](#ibc-is-disabled).

### I hold an IBC asset on Sei — is it gone?

The balance is not gone. It still exists in the bank module, is still visible in explorers and wallets, and can still be transferred between Sei addresses and through its ERC-20 pointer. What is gone is the ability to send it back over IBC to redeem the underlying asset on its origin chain. See [What you can still do](#what-you-can-still-do).

### I hold USDC.n (USDC via Noble) — what should I do?

USDC.n can no longer be redeemed. The migration route (sending it back to Noble over IBC and reissuing native USDC through Circle's CCTP) required outbound IBC, which [Proposal #121](https://seistream.app/proposals/121) disabled on July 31, 2026.

An on-chain swap to native USDC on a Sei DEX does not use IBC and still executes, subject to whatever liquidity remains. See [If you still hold USDC.n](#if-you-still-hold-usdcn) above, or read the original announcement for background: [Holders of USDC.n Need to Swap or Migrate](https://blog.sei.io/announcements/holders-of-usdcn-need-to-swap-or-migrate/).
