NOTE: The below tutorial is outdated. Cross Chain Transfers are now available in Core web's Stake! Please refer to this tutorial on how to Cross Chain transfer AVAX between the X, P, and C-Chains in Stake.
Introduction
AVAX tokens exist on the X-Chain, where they can be traded, on the P-Chain, where they can be provided as a stake when validating the Primary Network, and on the C-Chain, where they can be used in smart contracts or to pay for gas. Avalanche supports movement of AVAX between these chains. In this tutorial, we’ll send AVAX tokens between the C-Chain and P-Chain.
Transferring AVAX Using the Web Wallet
The easiest way to transfer AVAX between chains is to use the Avalanche Wallet, which is a non-custodial and secure way to access and move AVAX.
The Avalanche Wallet source code can be found here.
Step 1 - Open the Avalanche Wallet
Select Access Wallet to enter your wallet. To connect the wallet to a network other than the main Avalanche network, select Mainnet and choose the network to connect to.
Step 2 - Log In to Your Wallet
You can access your wallet using the private key, mnemonic key phrase, keystore file or Ledger Nano S.
After a successful login, you will see your balance, assets portfolio, and various other information.
Step 3 - Go to the Cross Chain Tab
The functionality for transferring tokens between chains is on the Cross Chain tab.
Step 4 - Enter the Amount to Transfer
You will be presented with a choice for Source Chain and Destination Chain. Select P-Chain and C-Chain, respectively. You will see your source chain's balance and an input field for entering the amount to transfer from the source to the destination chain. If you do not have any balance on your P-Chain but on X-Chain, then you can follow this tutorial to transfer it to P-Chain.
Enter the amount you wish to transfer from the P-Chain to the C-Chain.
Step 5 - Confirm the Transaction
Press Confirm, and then Transfer to initiate the transfer.
Step 6 - Done!
A cross-chain transfer is a two-step process: first a transaction to export the funds from the P-Chain (source chain), and another to import it to the P-Chain (destination chain). The wallet will do both and show its progress while doing so.
That's it! You've transferred AVAX from the P-Chain to C-Chain! Now you can use them to deploy smart contracts on C-Chain or pay for transaction fees while interacting with smart contracts.
Transfer from C-Chain to P-Chain
To return the AVAX back to the P-Chain, you need to do the transfer in the opposite direction.
Swap the source and destination chains by selecting them from the Source and Destination drop-down menu. The rest of the process is the same: enter the amount, confirm and transfer.
For any additional questions, please view our other knowledge base articles or contact a support team member via the chat button. Examples are for illustrative purposes only.