Cross-chain
Key Features
- 
Cross-chain Swaps & Bridges
- Seamless token swaps between Solana and EVM chains
 - Bridge functionality for moving assets across chains
 - Quote system for cost estimation
 - Support for both native and wrapped tokens
 
 - 
Token Operations
- ERC20 approval management for cross-chain bridges
 - Token allowance verification
 - Automatic address resolution based on chain type
 
 
Main Tools
The module exposes several key tools for cross-chain operations:
#![allow(unused)] fn main() { get_multichain_quote() // Get cost estimate for cross-chain swaps multichain_swap() // Execute cross-chain token swaps/bridges check_approval() // Verify ERC20 token approvals approve_token() // Approve ERC20 tokens for bridge contracts }
Configuration
The module requires an Ethereum RPC URL which can be set via the
ETHEREUM_RPC_URL environment variable. It supports multiple EVM-compatible
chains through provider configuration.
Important Notes
- 
Token Decimals: Amount parameters must account for token decimals:
- USDC: 6 decimals (1 USDC = 1000000)
 - SOL: 9 decimals (1 SOL = 1000000000)
 - ETH: 18 decimals (1 ETH = 1000000000000000000)
 
 - 
Gas Requirements: Users must have native tokens (SOL/ETH) on both chains to cover gas fees, unless using sponsored transactions (coming soon).
 - 
Token Identification: Tokens can be specified using:
- Symbol (e.g., "USDC")
 - Solana public key
 - EVM contract address
 
 - 
Chain Support: Currently running Solana and Arbitrum, EVM is not fully multi-tenant, need some tweaks. Full coverage on the way