“Rheon API” and “server-side integration” are the same path, not two. The
Rheon API page is both the catalogue - which products exist and
what each one exposes - and the walkthrough of using it: the key, the
/v1 prefix,
and the calls in order.Rheon API
Call the endpoints from your own backend and keep your UI. For crypto deposits that is three calls - quote, build the transaction, track status - and it is non-custodial throughout: we return unsigned transactions and the user’s wallet signs them. Start with Rheon API for what each product exposes and the flow in order.Rheon SDK
The flow runs at widget.rheon.io and embeds into your own page in the modes below. What the SDK covers per product is on Rheon SDK.Embed modes - iframe, SDK, redirect
Embed modes - iframe, SDK, redirect
Three ways to embed, so you can trade off speed vs control:
- Hosted iframe - the full widget, either as an overlay on top of your page or embedded into a DOM element. Fastest to ship.
- Web SDK - the widget as a component, with lifecycle events and theming hooks, so your app reacts to the flow in real time.
- Redirect - send the user to a hosted Rheon URL and they return after, for cases where you cannot embed.
Hosted iframe
Secure signed widget URL
Secure signed widget URL
For production white-label deposits, your backend requests a signed widget
URL rather than building one from raw query params on the client. The signature
means the amount, destination, and branding cannot be tampered with client-side.
The token is single-use and short-lived.This is the recommended pattern when the host app must not be able to alter the
deposit configuration.
Configuration - filtering and pre-fill
Configuration - filtering and pre-fill
The widget is configurable so it fits your product:
- Chain / token filtering - restrict which source chains and tokens the user
sees (
chains.allow / deny,tokens.allow / deny / featured). Rheon’s reach is “any asset, any chain to USDC”, so most partners will want to narrow it. - Pre-fill - pass
walletAddress,amount, target chain/token,emailto skip screens. Each pre-filled field is one fewer step for the user. - Lock fields - mark any pre-filled field as non-editable, so the user cannot change a value you fixed (e.g. the destination).
Lifecycle events (in-page UX)
Lifecycle events (in-page UX)
Embedded via the SDK (or
postMessage from the iframe), the widget emits
events so your page reacts without polling:DepositStarted- the user confirmed, routing beganRouting- settling cross-chainSourceConfirmed- source payment confirmedCompleted- USDC landedFailed- the deposit failed