Basic Token Transfer
Access the send function
From the home screen, click the Send button, or navigate to a specific token and select Send.
Select the token to send
Click on the token selector and choose which token you want to send. You’ll see:
- Token name and symbol
- Available balance
- The origin chain
Choose the destination chain
Select the destination chain from the dropdown. This can be:
- Same as origin chain: For standard transfers
- Different chain: For cross-chain (XCM) transfers
Only chains that support the selected token will appear in the destination chain list.
Select sender account (if needed)
If you have multiple accounts, select which account you want to send from. This field may be hidden if you only have one account.
Enter the recipient address
Type or paste the recipient’s address in the To field. You can:
- Paste an address from your clipboard
- Select from your address book
- Scan a QR code using your camera
- Choose from recent recipients
Enter the amount
Type the amount you want to send. You can:
- Enter a specific amount
- Click Max to send all available tokens (if available)
The Max button may be disabled for certain chains (like EVM chains) when sending native tokens, as you need to reserve some for gas fees.
Review transaction fee
The estimated transaction fee is displayed at the bottom. For supported chains, you can:
- Adjust the fee by clicking on the fee selector
- Choose between slow, average, and fast transaction speeds
- Pay fees with alternative tokens (if available)
Submit the transaction
Click Transfer to proceed. If you’re using Transfer All, the button will be orange and labeled Transfer All.Review the transaction details in the confirmation screen, then enter your password to sign and send the transaction.
Cross-Chain Transfers (XCM)
SubWallet supports cross-chain transfers between compatible networks using XCM (Cross-Consensus Messaging):Select source and destination chains
Choose different chains for the origin and destination. For example:
- Send DOT from Polkadot to AssetHub
- Transfer USDT from Polkadot to Moonbeam
Confirm the destination address format
Different chains may use different address formats. SubWallet will reformat the address if needed, but always verify the recipient can receive tokens on the destination chain.
Advanced Features
Transfer All
When you click the Max button or manually enter your full balance, SubWallet enables Transfer All mode:- Automatically calculates the exact amount needed for fees
- Sends all remaining tokens to the recipient
- The submit button changes to orange and shows Transfer All
Custom Fee Configuration
For EVM chains and some Substrate chains, you can customize transaction fees:- Click on the fee display
- Choose a fee option: Slow, Average, or Fast
- Or select Custom to manually set gas price and gas limit
- Review the estimated time and total cost
Alternative Fee Tokens
On supported chains, you can pay fees with different tokens:- Look for the fee token selector (appears when available)
- Select an alternative token to pay fees
- Ensure you have sufficient balance in the selected token
Special Cases
Sending NFTs
To send NFTs, use the NFT management guide instead of the token send function.Multisig Transactions
Multisig accounts require multiple signatures to send tokens. See the multisig documentation for details on the approval process.Ledger Hardware Wallets
When sending from a Ledger device:- Ensure your Ledger is connected and unlocked
- Open the appropriate blockchain app on your Ledger
- Review and approve the transaction on your Ledger device
Troubleshooting
Transaction fails with 'Insufficient balance'
Transaction fails with 'Insufficient balance'
You need more tokens to cover the amount plus transaction fees. Try:
- Reducing the send amount
- Using the Max button to automatically calculate the right amount
- Adding more funds to your account
Invalid address error
Invalid address error
The recipient address may be:
- Invalid for the destination chain
- Incorrectly formatted
- Missing characters (verify the full address was pasted)
Cross-chain transfer not arriving
Cross-chain transfer not arriving
Cross-chain transfers can take several minutes. Check:
- The source chain transaction is confirmed
- The destination chain is fully synced
- You’re viewing the correct account on the destination chain
Can't select certain tokens
Can't select certain tokens
Some tokens may be disabled because:
- You have zero balance
- The token’s chain is inactive
- The token doesn’t support sending (e.g., some LP tokens)