← Overview

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

  1. A partner embeds Ramp's widget/SDK into its app.
  2. Users buy crypto with card/bank, or sell crypto back to fiat (off-ramp).
  3. 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.
Builder's track

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]