Send tokens
Here's exactly how you can send tokens from your Portal wallet to another address.
Fund your Wallet
Now that you have a wallet, the next step is to get test tokens for it. You can fund your wallet using portal.receiveTestnetAsset
. If you are looking for a greater variety of test tokens, we recommend exploring our faucets page.
let chainId = "eip155:11155111" // Ethereum Sepolia
let params = FundParams(
amount: "0.01", // You will receive 0.01 ETH
token: "NATIVE" // Token, use "NATIVE" for the chain's native token
)
// Fund your Portal wallet
let response = portal.receiveTestnetAsset(chainId, params)
print("✅ Transaction hash: \(response.data.txHash)")
Sending Tokens from your Wallet
Portal provides two ways to send transactions:
portal.sendAsset()
- A simple method for sending tokens from your Portal wallet.portal.provider.request()
- Direct access to the underlying web3 provider for custom transactions. (You can learn more about this method here.)
For most use cases, we recommend using portal.sendAsset()
as shown in the examples below.
Submitting an EVM Transaction
let chainId = "eip155:11155111" // Sepolia
let params = SendAssetParams(
amount: "0.0001", // Sends 0.0001 ETH
to: "0xDestinationAddress", // The recipient address
token: "NATIVE" // Token, use "NATIVE" for the chain's native token
)
// Send the tokens
let txHash = try await portal.sendAsset(chainId, params)
print("✅ Transaction hash: \(txHash)")
If your Portal client is using Account Abstraction, then txHash
is actually a User Operation hash. You can manually look up the user operation hash here.
Submitting a Solana Transaction
let chainId = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1" // Solana Devnet
let params = SendAssetParams(
amount: "0.0001", // Sends 0.0001 SOL
to: "0xDestinationAddress", // The recipient address
token: "NATIVE" // Token, use "NATIVE" for the chain's native token
)
// Send the tokens
let response = try await portal.sendAsset(chainId, params)
print("✅ Transaction hash: \(response.result)")
You just sent your first token from your Portal wallet, that's awesome! 🎉
You may have a more advanced use case than simply sending tokens from your Portal wallet. Next, we will dive into how to build your own transaction and also how to sign it (without submitting it).
Last updated
Was this helpful?