Cross-chain deposits, powered by Rhinestone
Finding a better yield on a different chain used to mean leaving the app: find a bridge, wait for confirmation, then deposit separately. That's three steps where one should do.
Cross-chain deposits are now live in vaults.fyi, built in partnership with Rhinestone. Pick any vault, enter an amount, and review the full cost before signing. The bridge happens in the background.
Watch it in action:
1-step cross-chain deposits are here.
— vaults.fyi (@vaultsfyi) April 29, 2026
Want to move USDC into a vault on Optimism, but all your USDC is on Arbitrum? No problem.
⚡️ No manual bridging.
⚡️ Settlement in under 1.5 seconds.
⚡️ ~$0.002 fee.
Built with @rhinestonewtf. pic.twitter.com/AbMqjkOnDk
How the deposit flow works
When you select a vault on a different chain than your current USDC, the app detects the mismatch and generates a quote automatically. Before anything runs, you see the complete breakdown:
- Bridge fee
- Gas on both source and destination chains
- Orchestrator fees
- The exact amount you will receive in the vault
In the example above: 1,000 USDC from Optimism into Fluid USDC on Arbitrum, with a bridge fee of 0.0155 USDC. The flow completes in two steps: a preparation transaction, then signing the intent. No manual bridging, no separate deposit.
Works with both EOA wallets and smart accounts.
Built with Rhinestone
The cross-chain routing is powered by Rhinestone's intent-based execution network. Rather than using a message-passing bridge (where you wait for cross-chain finality), Rhinestone routes your deposit through a competitive solver network. Solvers provide immediate liquidity before your funds leave the source chain, with settlement completing in under 1.5 seconds.
Settlement is atomic: all-or-nothing. An on-chain Resource Lock mechanism ensures solvers can't claim fees without completing the deposit. The underlying settlement layer is Across Protocol.
EOA support uses EIP-7702, which gives standard Ethereum addresses the same chain-abstraction capabilities as smart accounts without requiring a migration.
Networks at launch
Cross-chain deposits are initially available between Ethereum mainnet, Arbitrum, Base, and Optimism. More networks will follow.
For developers: cross-chain API endpoints
The same flow is available through our API. Three endpoints cover the full lifecycle.
1. Get a quote
POST /alpha/transactions/intent/getQuoteTakes an input position (token address, network, amount in base units), an output position (vault address and destination network), and a fee token. Returns:
- An EIP-712 payload ready to sign
- A fees[] array typed by: bridge | gas | orchestrator | protocol
- The expected received position (vault shares)
- Any required setup transactions, such as token approvals
Two providers are supported: rhinestone and biconomy.
Example request:
{
"userAddress": "0x...",
"inputPosition": {
"address": "0x...",
"network": "optimism",
"amount": "1000000000"
},
"outputPosition": {
"address": "0x...",
"network": "arbitrum"
},
"feeToken": {
"address": "0x...",
"network": "optimism"
},
"provider": "rhinestone"
}2. Execute
POST /alpha/transactions/intent/executeSubmit the signed EIP-712 payload. Returns a crosschainTransactionId for tracking.
3. Check status
GET /alpha/transactions/intent/status?crosschainTransactionId=...&provider=...Returns pending, success, or failed.
These endpoints are currently in alpha.
If you'd like to build with our API, DM us on X (@vaultsfyi) or contact us on Telegram (@ryanrodenbaugh).
Try out the experience at vaults.fyi.
Full API reference at docs.vaults.fyi.