Multi-Chain Support
How to use Kairo Guard across Ethereum, Bitcoin, Solana, and other blockchains with unified policy protection.
Multi-Chain Support
Kairo protects your assets across multiple blockchains. One policy, one wallet interface, consistent security everywhere. This guide explains how multi-chain support works and how to make the most of it.
Supported Blockchains
Kairo currently supports:
| Chain | Status | Features | |-------|--------|----------| | Ethereum | Full support | All policy features, ERC20 limits | | EVM Chains | Full support | Base, Arbitrum, Optimism, Polygon, etc. | | Bitcoin | Full support | PSBT signing, script type controls | | Solana | Full support | Transaction signing, program restrictions | | Sui | Policy layer | Where your policy lives (always active) |
How Multi-Chain Works
One Key, Many Addresses
Your Kairo dWallet derives addresses for each supported blockchain:
Your dWallet
├── Ethereum address: 0x742d35Cc...
├── Bitcoin address: bc1qxy2kgdyg...
├── Solana address: 7nYBDM...
└── (Same key, different derivation paths)
This means:
- One wallet to manage
- One policy to configure
- One recovery process
- Consistent security everywhere
Policy Enforcement Per Chain
Your policy rules apply across all chains, but some rules are chain-specific:
Universal Rules:
- Destination allowlist/denylist
- General spending limits
- Policy expiration
Chain-Specific Rules:
- EVM: Contract function selectors, ERC20 amount limits
- Bitcoin: Script type restrictions, fee rate limits
- Solana: Program ID restrictions
Using Ethereum and EVM Chains
Connecting to dApps
- Visit any Ethereum dApp
- Click "Connect Wallet"
- Select Kairo Guard
- Choose which network (Ethereum, Base, etc.)
- Approve the connection
Kairo appears as a standard Ethereum wallet to dApps.
EVM-Specific Policy Options
Selector Controls You can allow or block specific contract functions:
- Allow
swap()on DEX routers - Block unlimited
approve()calls - Restrict to
transfer()only for specific tokens
ERC20 Amount Limits Set maximum amounts for specific tokens:
- USDC: Max 10,000 per transaction
- WETH: Max 5 per transaction
- DAI: Max 50,000 per transaction
Chain Restrictions Limit which EVM networks are allowed:
- Mainnet only
- Mainnet + Layer 2s
- Specific chains you actively use
Switching Networks
In the Kairo extension:
- Click the network indicator
- Select your target network
- Your address updates for that chain
- dApps automatically see the switch
Using Bitcoin
Bitcoin Addresses
Kairo supports multiple Bitcoin address formats:
| Type | Format | Example | |------|--------|---------| | P2WPKH | Native SegWit | bc1qxy2kgdyg... | | P2TR | Taproot | bc1pxy2kgdyg... | | P2PKH | Legacy | 1BvBMSEYstW... |
Your policy can restrict which address types are allowed.
Bitcoin-Specific Policy Options
Script Type Restrictions Limit which address types can be used:
- Taproot only (most private)
- SegWit only (efficient)
- Any type (flexible)
Fee Rate Limits Prevent overpaying for transactions:
- Set maximum sat/vB fee rate
- Protects against accidental high fees
- Example: Max 100 sat/vB
Signing Bitcoin Transactions
Bitcoin signing works via PSBT (Partially Signed Bitcoin Transactions):
- Create transaction in your Bitcoin app/wallet
- Transaction is formatted as PSBT
- Kairo validates against your policy
- If approved, Kairo signs the PSBT
- Broadcast the signed transaction
Using Solana
Solana Addresses
Your Solana address is derived from the same underlying key:
Solana: 7nYBDMpCkxoLVJtFsNbzM8kJFH...
Solana-Specific Policy Options
Program ID Restrictions Control which Solana programs you interact with:
- Allowlist: Only these programs
- Denylist: Block these programs
- Common programs: System, Token, Associated Token Account
Destination Controls Same as other chains—allowlist or denylist addresses.
Connecting to Solana dApps
- Visit a Solana dApp (Phantom, Marinade, etc.)
- Click "Connect Wallet"
- If the dApp supports standard wallet adapters, select Kairo
- Or use WalletConnect where available
Cross-Chain Consistency
Address Sharing
When you add an address to your allowlist, Kairo intelligently handles cross-chain:
- Same format addresses: Recognized across EVM chains
- Named addresses: The label you give carries across chains
- Chain-specific addresses: Only apply where relevant
Policy Versioning
When you update your policy:
- New version published to Sui
- Applies to ALL supported chains immediately
- You reaffirm once, covers everything
- Audit trail shows cross-chain policy history
Unified Custody Trail
All signing events across all chains are recorded in the same custody ledger on Sui:
Custody Chain for your dWallet:
Event 1: ETH transfer on Ethereum mainnet
Event 2: Token swap on Base
Event 3: BTC transfer on Bitcoin mainnet
Event 4: NFT purchase on Solana
...
This gives you a complete, verifiable history regardless of which chain you used.
Network Configuration
Adding Custom EVM Networks
For EVM chains not in the default list:
- Open Kairo → Settings → Networks
- Click "Add Custom Network"
- Enter:
- Network name
- Chain ID
- RPC URL
- Block explorer URL
- Save
Your policy automatically applies to the new network.
Network Priorities
Set your preferred networks:
- Drag networks to reorder
- Your primary network appears first in the extension
- dApps default to your primary network
Best Practices
Keep Allowlists Chain-Aware
When adding addresses to your allowlist:
- Specify which chains they're valid for (when relevant)
- Use clear names that indicate the chain
- Examples: "Uniswap Router (Ethereum)", "My Bitcoin Cold Storage"
Test on Each Chain
Before relying on Kairo for a new chain:
- Make a small test transaction
- Verify the approval flow works
- Confirm the transaction completes
- Check the custody event was recorded
Consider Chain-Specific Policies
For advanced users, you might want different policies per chain:
- Stricter rules for mainnet
- More relaxed for testnets/development
- Different spending limits based on chain activity
Troubleshooting
dApp Doesn't Recognize Kairo
Some dApps have limited wallet support:
- Check if WalletConnect is available
- Try importing Kairo into MetaMask as a custom wallet
- Contact the dApp developer to request Kairo support
Transaction Stuck on Wrong Chain
If a transaction appears on an unexpected chain:
- Verify the chain ID in your transaction
- Check the dApp's network selector
- Ensure Kairo is set to the intended network
Bitcoin Transaction Not Broadcasting
- Verify your policy allows the script type
- Check the fee rate is within your limits
- Ensure the destination is in your allowlist
Coming Soon
We're actively expanding multi-chain support:
- More EVM chains: Additional L2s and alt-L1s
- Cosmos ecosystem: Support for IBC chains
- Cross-chain bridging: Policy-protected bridge transactions
- Chain-specific policies: Different rules per network
Next Steps
- Creating Policies — Set up cross-chain rules
- Security Model — How multi-chain security works
- Threat Model — Cross-chain attack prevention