API docs

No-KYC Virtual Card API

Create crypto-funded one-time virtual card orders, collect payment to an assigned wallet, then redeem issued Visa or Mastercard details with a redeem_id.

Base URL

https://api.onramp-pay.com

This page documents one-time card orders. Reloadable cards use a separate lifecycle.
No API key is required for these public endpoints.
Onramp Pay charges 3%. Card issuer, load, network, or provider costs are separate.

Important notes

  • Save redeem_id immediately. It is the only way to track payment status and redeem the card.
  • Show a 10 minute payment timer to customers. Late payments should use a newly created order.
  • Send only the requested coin and network to address_in. Wrong-chain deposits can be lost.
  • For white-label partners, document them as sub-affiliates under Onramp Pay. Do not expose direct PayGate affiliate card setup as the partner flow.
GET

Provider Stock Status

GET
https://api.onramp-pay.com/crypto/cards/provider-status/

Returns available card products, stock status, allowed USD amounts, deposit methods, and required parameters for each provider.

Example response

{
  "cards": {
    "mastercard": {
      "brand": "Swype Mastercard",
      "provider": "mastercard",
      "status": "available",
      "currency": "USD",
      "amount": {
        "min": 5,
        "max": 499
      },
      "required_parameters": ["provider", "amount"],
      "optional_parameters": {
        "ticker": {
          "default": "polygon/usdt",
          "supported": ["polygon/usdt", "polygon/usdc", "eth", "btc", "xmr", "sol/sol"]
        }
      }
    }
  }
}
GET

Create Card

GET
https://api.onramp-pay.com/crypto/cards/wallet.php?provider=mastercard&amount=150

Creates a one-time card order and returns the payment wallet, amount due, QR code, and redeem_id. Store redeem_id because it is required to track payment and redeem the card.

Parameters

provider: visa, mastercard, paypal, or supported provider
amount: desired card value in USD
paypal_email: required for paypal provider
ticker: optional deposit coin, defaults to polygon/usdt

Example response

{
  "redeem_id": "_nK2qUzxf1EM4NnNjAGypJ2n",
  "amount": 159.92,
  "payment_coin": "USDT",
  "payment_instructions": "USDT Polygon/MATIC Network only",
  "network": "Polygon",
  "card_value": "150.00",
  "card_currency": "USD",
  "card_type": "mastercard",
  "address_in": "0x3D7AB5Ff706a00D4939Ada4C7d819B408BA104D1",
  "timestamp_token": "1772465271799_2812974",
  "qr_code": "base64_png_image",
  "ipn_token": "support_tracking_token"
}
GET

Sub-affiliate Create Card

GET
https://api.onramp-pay.com/vcc-set-affiliate.php?provider=mastercard&amount=350&sub_affiliate=0xSubAffiliateWallet&sub_affiliate_fee=0.01&merchant_fee=0.95&domain=checkout.sub-affiliate-website.com

Creates a one-time card order for a partner white-labeller under Onramp Pay. PayGate is the upstream provider, Onramp Pay is the affiliate layer, and the partner is the sub-affiliate. Do not expose the direct PayGate affiliate create-card endpoint as the partner integration path.

Parameters

provider: card provider
amount: desired card value in USD
sub_affiliate: partner commission wallet
sub_affiliate_fee: partner commission, for example 0.01 for 1%
merchant_fee: merchant share after Onramp Pay and sub-affiliate fees. With Onramp Pay at 0.03 and sub_affiliate_fee at 0.01, use 0.95
domain: partner checkout domain

Example response

{
  "redeem_id": "6_3KIR_eNc-qf1MAr7Tak4hf",
  "amount": 416.12,
  "payment_coin": "USDT",
  "card_value": "350.00",
  "card_currency": "USD",
  "card_type": "mastercard",
  "address_in": "0xCardOrderWallet",
  "qr_code": "base64_png_image",
  "ipn_token": "support_tracking_token"
}
GET

Sub-affiliate Worker Example

GET
https://sub-affiliate-website.com/crypto/cards/wallet.php?...

Example Cloudflare Worker behavior for card white-labellers. It points the partner domain to Onramp Pay, rewrites the normal card wallet endpoint to vcc-set-affiliate.php, and appends the sub-affiliate wallet, partner domain, and fee split.

Example response

if (url.pathname.includes('/crypto/cards/wallet.php')) {
  url.pathname = url.pathname.replace('/crypto/cards/wallet.php', '/vcc-set-affiliate.php');
}

if (!url.pathname.includes('process-payment.php')) {
  url.search += (url.search ? '&' : '') + 'sub_affiliate=0xSubAffiliateWallet&domain=checkout.sub-affiliate-website.com';
  url.search += (url.search ? '&' : '') + 'sub_affiliate_fee=0.01';
  url.search += (url.search ? '&' : '') + 'merchant_fee=0.95';
}
GET

Check Payment Status and Redeem

GET
https://api.onramp-pay.com/crypto/cards/status.php?redeem_id=CIkmH5JIJWnQe4rYIfS7G_9i

Checks whether the card order payment is paid and whether the issuer has completed the card. When completed, the response includes the redeem link or card code/PIN fields when available.

Parameters

redeem_id: ID returned by Create Card

Example response

{
  "payment_status": "paid",
  "card_issuer_status": "completed",
  "redeem_link": "https://redeem.yourdigitalreward.com/activate-code/example"
}