Accept deposits from any chain into your app with Rhinestone’s cross-chain deposit infrastructure.
Rhinestone Deposits is a cross-chain deposit infrastructure that lets you accept tokens from users on any supported chain and deliver them to a target chain and token automatically. You don’t need to build bridging logic, manage gas across chains, or handle token swaps — the service detects deposits, bridges them via Warp, and notifies your app when funds arrive.It’s built for teams that need reliable deposit rails: neobanks, modern dapps, DeFi protocols, or any app that onboards users from multiple chains.It supports a wide range of EVM chains and Solana — see supported chains and tokens below.
Start with the widget. It ships the whole deposit UI — funding methods, chain and token selection, status screens, withdrawals and refunds — and it uses the same API underneath, so nothing is closed off later. Reach for the API directly when you’re not building in React, or when you want a deposit flow that doesn’t look like a modal.
A headless backend service for programmatic deposit handling. You register accounts, configure webhooks, and process deposits server-side, and you build the UI. Use it for native mobile, non-React frontends, or fully custom flows.
Deposits are self-custodial by design — funds are held in the user’s smart account at every step, and Rhinestone never takes custody. Stablecoin swaps settle at parity and fees can be fully sponsored. The result is a deposit rail that feels like a native single-chain transfer, without the trust trade-offs of a centralized bridge.Under the hood, Rhinestone aggregates multiple bridging providers, solvers, and quoting services, routing each deposit through the best available path. If one provider is degraded or a route is unavailable, the service falls back automatically — giving you a single integration with the reliability of several.
From the user’s perspective, depositing is a simple token transfer — send tokens to an address on any supported chain. There’s no bridging UI, no gas token management, and no chain switching.With the widget, the user picks how to fund — connected wallet, QR transfer, card, or an exchange — then confirms, all in one modal. Withdrawals and refunds have their own modals.With the API, you control the UX entirely. The user interacts with your app however you design it, and the deposit service handles everything behind the scenes.
Rhinestone Deposits supports a wide range of EVM chains plus Solana. Each chain is enabled as a source (the user can send funds to it), a destination (funds can settle on it), or both.
Source — users can transfer tokens on this chain and have them bridged to the target.
Destination — accounts on this chain can be registered as the target where funds land.
Tokens — All means any token routable through Warp; otherwise, only the listed tokens are accepted.
Both need a backend, and both see the same deposits — a user who sends funds to the deposit address never touches your UI either way. Most widget integrations also want webhooks, for fulfilment that can’t depend on the modal being open.
Was this page helpful?
Assistant
Responses are generated using AI and may contain mistakes.