Skip to main content
These configurations will show up in the Para Modal interface post user authentication. You can open the ParaModal at any time in your application to allow users to interact with these payment features.

Buy Crypto & Withdraw Configuration

Toggle the buy crypto and withdraw features to allow users to buy and/or sell cryptocurrency directly through your application. The two switches can be enabled independently - you can enable just buying, just selling (withdraw), or both. How the Flow Works: When users click Buy Crypto or Withdraw in the Para Modal:
  1. Form - Users enter their desired asset, network, and amount
  2. Provider Selection - Users select from available payment providers that support their chosen transaction
  3. Provider Widget - The selected network, asset, and amount are passed to the provider’s widget, where users complete the onramp or offramp transaction
Developer Portal Buy Crypto Configuration

Asset Configuration

Configure which cryptocurrencies and networks are available for both buying and selling. These settings apply to both on-ramp (buy) and off-ramp (sell) flows.
Developer Portal Buy Crypto & Withdraw Configuration

Asset Selection

Choose which cryptocurrencies users can buy and sell:
  • All Available Assets: Enable all supported cryptocurrencies - users can buy/sell any supported asset on any supported network
  • Custom Selection: Limit to specific assets that match your application’s needs - you can restrict which assets are available per network (e.g., only USDC on Ethereum, but all assets on Polygon)
This selection directly affects what users see in the Para Modal asset dropdown when they initiate buy or sell transactions.
The set of supported assets and networks is managed in the Developer Portal and grows over time — the portal’s asset and network selectors always reflect the current options. Actual availability for a given transaction also depends on the providers you enable (see Provider Asset Support below).
Not all payment providers support all assets and networks. See the Provider Asset Support section below for details on which providers support which combinations.

Default Asset Configuration

Set the default cryptocurrency and amount that pre-populates when users initiate a buy or sell transaction. The default asset and network pre-populate the Para Modal when users open the buy/sell flow. Selection Priority: The Para Modal determines which asset and network to display using the following priority:
  1. Your configured default (if set and valid within your allowed assets)
  2. Automatic wallet type detection:
    • COSMOS wallets → ATOM on COSMOS network
    • SOLANA wallets → SOL on SOLANA network
    • EVM wallets → ETH on ETHEREUM network
  3. First available option from your allowed asset/network list
Configuration Steps:
  1. Select Asset: Choose from your enabled cryptocurrency list
  2. Default Amount: Set a suggested transaction amount (e.g., $50.00)
  3. Status: Enable or disable the default asset feature
Users can still change their selection in the Para Modal - this configuration only sets the initial pre-populated values. If you’ve configured custom asset selection, your default must be within the allowed assets.

Payment Provider Configuration

Configure which payment providers appear in your application’s onramp and offramp interface.
Click and drag to reorder payment providers. The order determines how providers appear in the Para Modal.
Developer Portal Payment Providers Configuration

Integration Requirements

Each payment provider requires separate integration setup:
  1. Stripe: No API key required - just enable Stripe in the Developer Portal.
  2. MoonPay: No API key required - just enable MoonPay in the Developer Portal.
  3. Ramp: First complete onboarding and KYB with Ramp, then enter your Ramp API key in the Developer Portal.
Ramp requires a Ramp production API key. Learn more at

Provider Asset Support

Each payment provider supports different cryptocurrencies, networks, and operations (buy vs sell). After users complete the form with their desired asset, network, and amount, they’ll see a list of available providers. Only providers that support the selected transaction combination will be displayed. Choose which providers to enable based on the assets and networks your users need access to. Stripe: MoonPay: Ramp Network (rampnetwork.com):
Provider support varies by geography and regulation. Check each provider’s documentation for region-specific availability.

Test Mode Configuration

Configure how on-ramp and off-ramp services behave in different environments.

What Test Mode Does

Test mode allows you to test crypto purchases and sales without real transactions:
  • Uses test payment credentials from supported providers
  • Uses test blockchain networks where available:
    • ETHEREUM → SEPOLIA testnet
    • SOLANA → SOLANA_DEVNET
    • Other networks remain on mainnet (test network equivalents not yet configured)
  • No real payment methods are charged
  • Transactions use testnet assets with no real-world value

Environment-Specific Behavior

Beta environment:
  • Test mode is ALWAYS enabled
  • Cannot be disabled
  • Prevents accidental use of production payment processors
  • All transactions automatically use test networks and credentials
Production environment:
  • Test mode can be toggled on/off
  • Control via onRampTestMode boolean in paraModalConfig prop on <ParaProvider>
  • Set to true during development/testing in production
  • Set to false (or omit) for live transactions
Example:
Test mode displays a dismissible alert in the Para Modal warning users they’re in test mode. The alert message differs between production, where your app controls the setting, and beta, where test mode is always enabled.

Receive Funds Feature

Enable wallet address display and QR code generation for receiving cryptocurrency. When enabled, users can receive funds directly into their wallets by sharing their wallet addresses or QR codes.
Developer Portal Receive Funds Configuration

Coinbase (Apple Pay & hosted widget)

Coinbase on-ramp is powered by the Coinbase Developer Platform (CDP) and runs on your Coinbase merchant account. It offers two surfaces in the Para web modal:
  • Hosted widget (COINBASE) — Coinbase’s hosted on-ramp, opened from the modal.
  • Inline Apple Pay guest checkout (APPLE_PAY) — a native Apple Pay sheet rendered inline in the modal. US-only; guest checkout has per-user amount limits a buyer can raise via identity verification.
The inline Apple Pay guest checkout is a web SDK feature — it isn’t available in the React Native, Flutter, or Swift SDKs. The hosted widget is served to any SDK once Coinbase is configured, like the other provider widgets.

Setup

Coinbase needs a one-time setup beyond enabling the provider. The Developer Portal walks you through it:
  1. Add your CDP API key. Create an API key in the Coinbase Developer Platform, then enter its key ID and secret in the Developer Portal. The secret is stored server-side and never exposed to the browser.
  2. Complete Coinbase onboarding. The portal confirms your key can authenticate against Coinbase’s on-ramp APIs. Once verified, the hosted widget (COINBASE) is available.
  3. Set up Apple Pay (optional). Inline Apple Pay guest checkout (APPLE_PAY) additionally requires registering each domain you serve the modal from:
    • Host Coinbase’s domain-association file at https://<your-domain>/.well-known/apple-developer-merchantid-domain-association.txt.
    • Add your domain(s) to your CDP dashboard on-ramp allowlist, and submit them to Coinbase’s Apple Pay Domain Verification. Coinbase verifies the hosted file as part of allowlisting.
    • The Developer Portal checks each origin and shows it as allowlisted once Coinbase approves it.
The hosted widget and inline Apple Pay checkout are toggled independently once onboarding is complete. Apple Pay only renders on allowlisted domains, so it won’t appear on localhost or an un-registered domain even with valid keys.

Provider Comparison

A quick reference for the on-ramp providers you can enable. Fees and country coverage are approximate, vary by payment method, asset, and region, and are set by each provider — always confirm against the provider’s own documentation.
ProviderTypeSetupFees (approx.)AvailabilityRefundableDocs
StripeWidgetBuilt-in~1.5% + $0.30 (US), plus network feesUS + select countriesYes — handled by StripeStripe Onramp
MoonPayWidgetBuilt-in~1% bank transfer / ~4.5% card (min $3.99), plus network fees160+ countriesYes — handled by MoonPayMoonPay
RampWidgetYour keys~1.4% bank / ~3.9% card (USD/EUR/GBP; up to 5.45% other currencies), min ~€2.49150+ countriesYes — handled by RampRamp
CoinbaseWidgetYour keysCoinbase fees: ~2.5% card / ~0.5% ACH, plus a spread90+ countriesYes — handled by CoinbaseCDP Onramp
Apple Pay *Your keysCoinbase fees: ~2.5% card + spread (guest checkout; ~$5 minimum)US onlyNo self-serve refunds — contact Coinbase supportCDP Onramp
Setup — Built-in: enable it in the Developer Portal; it runs on Para’s integration with no provider account of your own. Your keys: complete the provider’s own onboarding (KYB for Ramp; CDP API keys + onboarding for Coinbase) and add your credentials in the Developer Portal. * Web only — Coinbase’s inline Apple Pay guest checkout is a React / Web SDK feature. The hosted Coinbase widget is served to any SDK once Coinbase is configured, like the other widget providers.
Fee ranges and country coverage change over time. Because the authenticated widget providers (Stripe, MoonPay, Ramp, and the Coinbase hosted widget) are the merchant of record for the charge, refunds are handled through that provider’s standard support flow. The Coinbase inline Apple Pay guest checkout has no self-serve refund path — refunds must be requested through Coinbase support.