Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 30 additions & 5 deletions learn/sip-03-migration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: 'SIP-03 Migration Guide'
sidebarTitle: 'SIP-03 Migration'
description: 'Practical steps and resources for users and exchanges migrating during SIP-03, including asset transfer, USDC, and exchange migration guidance.'
keywords: ['SIP-03', 'migration', 'asset transfer', 'USDC on Sei', 'Keplr', 'Leap', 'Compass', 'EVM wallet', 'exchange migration', 'FundsForwarder', 'address association', 'Ledger', 'hardware wallet', 'mnemonic', 'private key export', 'coin type 118', 'coin type 60']
keywords: ['SIP-03', 'migration', 'asset transfer', 'USDC on Sei', 'Keplr', 'Leap', 'Compass', 'EVM wallet', 'exchange migration', 'FundsForwarder', 'address association', 'Seistream', 'Ledger', 'hardware wallet', 'mnemonic', 'private key export', 'coin type 118', 'coin type 60']
---
<Danger>

Expand Down Expand Up @@ -37,7 +37,7 @@
- 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 Asset Migration Table

Check warning on line 40 in learn/sip-03-migration.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sip-03-migration.mdx#L40

Use sentence case for headings: 'IBC Asset Migration Table'.

If you hold any of the following IBC assets on Sei, take action before [Proposal #116](https://www.mintscan.io/sei/proposals/116) (disables inbound IBC transfers) passes and is activated.

Expand All @@ -45,8 +45,8 @@

| Asset | Token contract | Action(s) | Possible route(s) | Support |
| :---- | :---- | :---- | :---- | :---- |
| **USDC.n (USDC via Noble)** | [seiscan](https://seiscan.io/address/0x3894085ef7ff0f0aedf52e2a2704928d1ec074f1) [mintscan](https://www.mintscan.io/sei/assets/ibc%2FCA6FBFAF399474A06263E10D0CE5AEBBE15189D6D4B2DD9ADE61007E68EB9DB0) | Swap to native USDC or migrate via CCTP | [Saphyre](https://saphyre.xyz/swap?inputCurrency=0x3894085Ef7Ff0f0aeDf52E2A2704928d1Ec074F1&outputCurrency=0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392), [Symphony](https://symph.ag/), or [Stargate](https://stargate.finance/?srcChain=sei&srcToken=0x3894085Ef7Ff0f0aeDf52E2A2704928d1Ec074F1) | [Sei blog](https://blog.sei.io/announcements/holders-of-usdcn-need-to-swap-or-migrate/) [Sei Tech Chat](https://t.me/+KZdhZ1eE-G01NmZk) [Discord](https://discord.com/invite/sei?ref=blog.sei.io) |
| **USDT.kava (USDT via Kava)** | [seiscan](https://seiscan.io/token/0xb75d0b03c06a926e488e2659df1a861f860bd3d1) [mintscan](https://www.mintscan.io/sei/assets/ibc%2F6C00E4AA0CC7618370F81F7378638AE6C48EFF8C9203CE1C2357012B440EBDB7)| Swap via Symphony or bridge out to Kava | [Symphony](https://symph.ag/), [Stargate](https://stargate.finance/?srcChain=sei&srcToken=0xB75D0B03c06A926e488e2659DF1A861F860bD3d1) | [Sei Tech Chat](https://t.me/+KZdhZ1eE-G01NmZk) [Discord](https://discord.com/invite/sei) |
| **USDC.n (USDC via Noble)** | [seiscan](https://seiscan.io/address/0x3894085ef7ff0f0aedf52e2a2704928d1ec074f1) [mintscan](https://www.mintscan.io/sei/assets/ibc%2FCA6FBFAF399474A06263E10D0CE5AEBBE15189D6D4B2DD9ADE61007E68EB9DB0) | Swap to native USDC or migrate via CCTP | [Saphyre](https://saphyre.xyz/swap?inputCurrency=0x3894085Ef7Ff0f0aeDf52E2A2704928d1Ec074F1&outputCurrency=0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392), [Symphony](https://symph.ag/), or [CCTP Exchange](https://cctp.exchange/) | [Sei blog](https://blog.sei.io/announcements/holders-of-usdcn-need-to-swap-or-migrate/) [Sei Tech Chat](https://t.me/+KZdhZ1eE-G01NmZk) [Discord](https://discord.com/invite/sei?ref=blog.sei.io) |
| **USDT.kava (USDT via Kava)** | [seiscan](https://seiscan.io/token/0xb75d0b03c06a926e488e2659df1a861f860bd3d1) [mintscan](https://www.mintscan.io/sei/assets/ibc%2F6C00E4AA0CC7618370F81F7378638AE6C48EFF8C9203CE1C2357012B440EBDB7)| Swap to a native asset via Symphony | [Symphony](https://symph.ag/) | [Sei Tech Chat](https://t.me/+KZdhZ1eE-G01NmZk) [Discord](https://discord.com/invite/sei) |
| **USDCso (Wormhole, Solana)** | [mintscan](https://www.mintscan.io/sei/assets/factory%2Fsei189adguawugk3e55zn63z8r9ll29xrjwca636ra7v7gxuzn98sxyqwzt47l%2F9fELvUhFo6yWL34ZaLgPbCPzdk9MD1tAzMycgH45qShH) | Bridge out to Solana via Wormhole | [Portal Bridge (legacy)](https://legacy.portalbridge.com/#/transfer) | [Sei Tech Chat](https://t.me/+KZdhZ1eE-G01NmZk) [Discord](https://discord.com/invite/sei) |
| **Wormhole-bridged WETH** | [mintscan](https://www.mintscan.io/sei/assets/factory%2Fsei189adguawugk3e55zn63z8r9ll29xrjwca636ra7v7gxuzn98sxyqwzt47l%2F4tLQqCLaoKKfNFuPjA9o39YbKUwhR1F8N29Tz3hEbfP2) | Bridge out to Ethereum via Wormhole | [Portal Bridge (legacy)](https://legacy.portalbridge.com/#/transfer) | [Sei Tech Chat](https://t.me/+KZdhZ1eE-G01NmZk) [Discord](https://discord.com/invite/sei) |
| **USDCet (Wormhole, Ethereum)** | [mintscan](https://www.mintscan.io/sei/assets/factory%2Fsei189adguawugk3e55zn63z8r9ll29xrjwca636ra7v7gxuzn98sxyqwzt47l%2FHq4tuDzhRBnxw3tFA5n6M52NVMVcC19XggbyDiJKCD6H) | Bridge out to Ethereum via Wormhole | [Portal Bridge (legacy)](https://legacy.portalbridge.com/#/transfer) | [Sei Tech Chat](https://t.me/+KZdhZ1eE-G01NmZk) [Discord](https://discord.com/invite/sei) |
Expand All @@ -59,7 +59,7 @@

## Key tools and resources

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

Check warning on line 62 in learn/sip-03-migration.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sip-03-migration.mdx#L62

Use sentence case for headings: '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).

Expand All @@ -68,7 +68,7 @@
- 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

Check warning on line 71 in learn/sip-03-migration.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sip-03-migration.mdx#L71

Use sentence case for headings: '2) USDC on Sei'.

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

Expand All @@ -83,13 +83,34 @@

**Migrate (larger amounts):**

- **Manual migration:** Bridge USDC.n via [Stargate](https://stargate.finance/?srcChain=sei&srcToken=0x3894085Ef7Ff0f0aeDf52E2A2704928d1Ec074F1) to an intermediary chain with CCTP v1 and v2 (e.g., Base), then use CCTP to burn/mint native USDC back to Sei.
- Other useful bridging frontends: [CCTP Exchange](https://cctp.exchange/)
USDC.n reached Sei over IBC from Noble, so larger balances are best migrated to native USDC by routing back through Noble — this avoids the slippage of a direct DEX swap.

- IBC-transfer your USDC.n from Sei back to Noble, where it becomes native Noble USDC, then use Circle's CCTP to mint native USDC on Sei. [CCTP Exchange](https://cctp.exchange/) is a useful frontend for the CCTP leg.

Complete this **before** the SIP-03 upgrade, while IBC routing through Noble is still available.

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

- Wind down and withdraw your positions **before** migrating to native USDC. Failure to do so before the SIP-03 upgrade may result in inability to access your supplied assets.

### 3) Address Association (Seistream)

Check warning on line 96 in learn/sip-03-migration.mdx

View workflow job for this annotation

GitHub Actions / vale

[vale] learn/sip-03-migration.mdx#L96

[Sei.Headings] Use sentence case for headings: '3) Address Association (Seistream)'.
Raw output
{"message": "[Sei.Headings] Use sentence case for headings: '3) Address Association (Seistream)'.", "location": {"path": "learn/sip-03-migration.mdx", "range": {"start": {"line": 96, "column": 5}}}, "severity": "WARNING"}

Check warning on line 96 in learn/sip-03-migration.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sip-03-migration.mdx#L96

Use sentence case for headings: '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**. For USDC, USDT, ATOM, WBTC, and other IBC-bridged assets, use the [IBC Asset Migration Table](#ibc-asset-migration-table). 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.
Expand All @@ -109,6 +130,10 @@

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">
Expand Down Expand Up @@ -148,7 +173,7 @@
- **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

Check warning on line 176 in learn/sip-03-migration.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sip-03-migration.mdx#L176

Use sentence case for headings: 'FAQ'.

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

Expand Down Expand Up @@ -180,6 +205,6 @@
**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>

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

Check warning on line 208 in learn/sip-03-migration.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sip-03-migration.mdx#L208

Use sentence case for headings: 'I hold USDC.n (USDC via Noble) — what should I do?'.

You must swap or migrate your USDC.n to native USDC before the SIP-03 deprecation of Cosmos, CosmWasm and IBC related functionality, slated for **June 15, 2026**. After the upgrade, USDC.n may become inaccessible or lose its value on Sei. See the [USDC on Sei](#2-usdc-on-sei) section above for swap and migration options, or read the full announcement: [Holders of USDC.n Need to Swap or Migrate](https://blog.sei.io/announcements/holders-of-usdcn-need-to-swap-or-migrate/).
10 changes: 0 additions & 10 deletions snippets/ecosystem-contracts.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -86,21 +86,11 @@ export const EcosystemContracts = () => {
'Contract Address': '0xDe48600aA18Ae707f5D57e0FaafEC7C118ABaeb2',
'Contract Name': 'FeeLibV1'
},
{
Protocol: 'Stargate',
'Contract Address': '0x45d417612e177672958dc0537c45a8f8d754ac2e',
'Contract Name': 'StargatePoolUSDC'
},
{
Protocol: 'Stargate',
'Contract Address': '0x873cfB4bAe1Ab6A5DE753400e9d0616e10Dced22',
'Contract Name': 'Treasurer'
},
{
Protocol: 'Stargate',
'Contract Address': '0x0db9afb4c33be43a0a0e396fd1383b4ea97ab10a',
'Contract Name': 'StargatePoolMigratable'
},
{
Protocol: 'Stargate',
'Contract Address': '0x1502FA4be69d526124D453619276FacCab275d3D',
Expand Down
Loading