Ramp Network
A clean, trusted on/off-ramp you can embed.
What it is
Ramp Network powers on- and off-ramps for wallets, exchanges, and dApps. Users buy or sell crypto/stablecoins with a card or bank transfer through an embeddable widget; Ramp handles KYC, payments, and fiat settlement.
How it works
- A partner embeds Ramp's widget/SDK into its app.
- Users buy crypto with card/bank, or sell crypto back to fiat (off-ramp).
- Ramp rewrote checkout for speed + trust; native iOS/Android apps added.
Differentiators
- Best-in-class checkout UX — fewer 'is this working?' drop-offs.
- Strong regulatory footing: MiCA/CASP (Ireland) + several US MTLs.
- Direct fiat settlement without third-party intermediaries in licensed states.
Business model
Spread/fee on each on- and off-ramp transaction.
Depends on
- Card networks
- Banking partners
- Supported chains
Risks
- Card fraud + chargebacks.
- Fee compression as ramps commoditize.
How it's built
Architecture
Ramp sits between card acquirers/banks and the chains. The partner renders a hosted/embedded widget (an iframe); Ramp runs KYC, payment acceptance, fraud, liquidity sourcing, and the on-chain payout to the user's wallet (and the reverse for off-ramp). Order state is pushed back to the partner via webhooks. Because there's no secret to guard on the client, the publishable host API key lives safely on the frontend.
Integration shape
Primarily a hosted/embedded widget via the @ramp-network/ramp-instant-sdk — one SDK instance = one widget. Also iOS and Android SDKs, plus a REST API v3 for quotes/assets and headless flows. Display variants: auto, hosted, embedded-desktop/mobile, webview, etc.
API surface
RampInstantSDK(config)- Construct + .show() the widget. Required: hostApiKey, hostAppName, hostLogoUrl.
defaultFlow- 'ONRAMP' | 'OFFRAMP' | 'SWAP' — which flow opens first.
enabledCryptoAssets- Comma-list like BASE_USDC,ETH_ETH; first entry is the default/pre-selected asset.
userAddress / swapAsset / fiatValue- Pre-fill the destination wallet, asset, and amount.
webhookStatusUrl / offrampWebhookV3Url- Subscribe to purchase/sale events; append your own query params to correlate the order.
finalUrl- Redirect target after a successful transaction ('Back to partner').
REST API v3- Server-side assets, quotes, and on/off-ramp sale objects for headless integrations.
Minimal integration
Minimal on-ramp: open the widget pre-filled to send USDC on Base to a wallet.
import { RampInstantSDK } from '@ramp-network/ramp-instant-sdk';
new RampInstantSDK({
hostApiKey: RAMP_HOST_API_KEY, // publishable — safe on the client
hostAppName: 'Rails',
hostLogoUrl: 'https://rails.app/logo.png',
defaultFlow: 'ONRAMP', // or 'OFFRAMP'
enabledCryptoAssets: ['BASE_USDC', 'ETH_ETH'],
userAddress: '0xabc...def', // pre-fill the destination wallet
fiatValue: '50',
fiatCurrency: 'EUR',
webhookStatusUrl: 'https://rails.app/api/ramp/webhook?orderId=123',
finalUrl: 'https://rails.app/done',
}).show();Build notes
- Webhook events walk the order through states (e.g. CREATED → RELEASING → RELEASED, or EXPIRED/CANCELLED) — treat the webhook, not the client, as the source of truth.
- Use a test/staging host API key first; the same SDK config switches to production by swapping the key.
- [verify against the latest docs the user provides — asset symbol format and v3 off-ramp params evolve]