White Label API Integration

This guide shows how to implement a custom UI that communicates directly with Coindisco’s backend to fetch providers, regions, payment methods, quotes and to generate the final provider buy link.

Business Integration Manual — Buy Flow

Environment: https://api.coindisco.com API Key Example: YOUR_API_KEY

All requests require your partner API key in the header:

partner-api-key: YOUR_API_KEY

1. Introduction

This guide explains how to integrate Coindisco’s White-Label API to enable a fully branded “Buy Crypto” experience within your own product. The integration allows partners to control user experience, while Coindisco handles provider connections, quotes, and purchase flows behind the scenes.


2. Flow Overview

The White-Label integration follows a straightforward flow from discovering available providers to completing the transaction with the selected service.

User → Select Region → Select Payment Method → Select Fiat Currency → Select Cryptocurrency → Enter Amount → Get Quotes → Choose Provider → Redirect to Purchase

1

Provider Discovery

Retrieve and display the list of fiat-to-crypto providers so users can see available onramp providers.

2

Region Selection

Detect or allow the user to choose their region (you can pre-select using IP or browser settings).

3

Payment Method Selection

Show available payment methods for the selected region (e.g., card, bank transfer, Apple Pay).

4

Currency and Crypto Selection

Display available fiat currencies and cryptocurrencies (and networks) for the user to choose.

5

Quote Request

Request quotes to calculate estimated crypto amount and applicable fees.

6

Offer Comparison

Present provider offers so users can choose the best option (compare fees, crypto amount, KYC requirements, etc.).

7

Purchase Redirect

Generate a buy link and redirect the user to the provider to complete payment.


3. Detailed Integration Flow

Each step below explains the business logic followed by the API request required to implement it.

1

Retrieve Active Providers

Partners begin by fetching a list of currently active fiat-to-crypto providers supported by Coindisco. Display this list in your UI to allow users to see available onramp providers.

curl --location 'https://api.coindisco.com/api/white-label/v1/active-providers/' --header 'partner-api-key: YOUR_API_KEY'
2

Retrieve Available Regions

Use this endpoint to display or automatically detect the user’s region. You can pre-select the region using the user’s IP or browser settings.

curl --location 'https://api.coindisco.com/api/white-label/v1/regions/' --header 'partner-api-key: YOUR_API_KEY'
3

Retrieve Payment Methods

Once the region is known, retrieve payment methods available in that region. Optionally, filter methods by a specific provider using service_id.

curl --location 'https://api.coindisco.com/api/white-label/v1/regions/{{region_id}}/payment-methods/?service_id={{service_id}}' --header 'partner-api-key: YOUR_API_KEY'

Display these methods to the user (e.g., card, bank transfer, Apple Pay).

4

Retrieve Fiat Currencies

Get the list of supported fiat currencies for the selected region and provider. This determines what base currencies (USD, EUR, GBP, etc.) the user can use.

curl --location 'https://api.coindisco.com/api/white-label/v1/regions/{{region_id}}/currencies/?service_id={{service_id}}' --header 'partner-api-key: YOUR_API_KEY'
5

Retrieve Cryptocurrencies

Fetch the list of cryptocurrencies available for purchase and their supported networks. Display them as user options in your Buy screen.

curl --location 'https://api.coindisco.com/api/white-label/v1/cryptocurrency/?service_id={{service_id}}' --header 'partner-api-key: YOUR_API_KEY'
6

Request Buy Quotes

Once the user selects all parameters (region, payment method, currency, crypto, amount), request a quote to calculate estimated crypto amount and fees.

Case A — User Selected a Specific Provider

curl --location 'https://api.coindisco.com/api/white-label/v1/search-buy-quotes/' --header 'partner-api-key: YOUR_API_KEY' --header 'Content-Type: application/json' --data '{
  "service": 23,
  "region": 156,
  "payment_method": 27,
  "cryptocurrency": 5,
  "currency": 3,
  "network": 26,
  "currency_amount": 400
}'

Case B — Without Provider Preselection

If no provider is chosen, Coindisco searches across all connected providers and returns a search_id to poll for results.

curl --location 'https://api.coindisco.com/api/white-label/v1/search-buy-quotes/' --header 'partner-api-key: YOUR_API_KEY' --header 'Content-Type: application/json' --data '{
  "region": 156,
  "payment_method": 27,
  "cryptocurrency": 5,
  "currency": 3,
  "network": 26,
  "currency_amount": 400
}'

Response example:

{ "search_id": "7e038ab6-3c65-41cb-a364-2d47471b00de" }
7

Retrieve Search Results and Display Offers

Poll for search results every few seconds using the search_id. When the status becomes completed, present the list of available offers to the user for comparison.

curl --location 'https://api.coindisco.com/api/white-label/v1/search-buy-quotes/{{search_id}}/' --header 'partner-api-key: YOUR_API_KEY' --header 'Content-Type: application/json'

Response example:

{
  "status": "completed",
  "data": [
    {
      "cryptocurrency_amount": "392.2",
      "total_fee": "7.8",
      "service": { "id": 16, "name": "Banxa" }
    },
    {
      "cryptocurrency_amount": "380.98",
      "total_fee": "18.96",
      "service": { "id": 6, "name": "Transak" }
    }
  ]
}

Each offer includes details about provider, total amount, fee, and whether KYC is required.

8

Once the user chooses a provider, request a buy link to redirect them to the provider’s payment flow. You must include all previously selected parameters in the request.

curl --location 'https://api.coindisco.com/api/white-label/v1/retrieve-buy-link/' --header 'partner-api-key: YOUR_API_KEY' --header 'Content-Type: application/json' --data '{
  "service": 1,
  "wallet_address": "0x8a3D3eA3E8AEb9E5eF2Ba0cE1e695D8A17ad5fA2",
  "region": 156,
  "payment_method": 27,
  "cryptocurrency": 5,
  "currency": 3,
  "network": 26,
  "currency_amount": 400
}'

Response example:

{
  "link": "https://buy.moonpay.io/?paymentMethod=credit_debit_card&apiKey=YOUR_API_KEY&currencyCode=USDC_POLYGON...",
  "transaction_id": "638a68f8-111d-4d0c-b6ab-da6a805c419f",
  "service": { "name": "MoonPay", "domain": "buy.moonpay.io" }
}

Redirect the user to this link to complete the transaction.


4. End-to-End Example

Scenario: A user from the United States wants to buy 400 USD worth of USDC using a debit card.

1

Display Providers

Call /active-providers/ to display available providers.

2

Determine Region

Retrieve region ID for the U.S. via /regions/.

3

Get Payment Methods

Get payment methods (e.g., debit card).

4

Fetch Currencies and Cryptos

Fetch supported fiat currencies (USD) and cryptos (USDC).

5

Request a Quote

Request a quote for $400.

6

Show Provider Offers

Display provider offers with fees and estimated crypto amount.

7

Generate buy link for the selected provider (e.g., MoonPay).

8

Redirect to Provider

Redirect user to complete payment securely on provider’s site.


5. Best Practices

  • Always validate user inputs before calling API.

  • Cache provider and region data for faster UI loading.

  • Detect region automatically when possible.

  • Poll quote results until status = completed.

  • Use official provider URLs only — never construct links manually.

  • For production, ensure secure key storage and HTTPS communication.


6. Summary of Endpoints

#
Purpose
Endpoint
Method

1

Get active providers

/api/white-label/v1/active-providers/

GET

2

Get regions

/api/white-label/v1/regions/

GET

3

Get payment methods

/api/white-label/v1/regions/{region_id}/payment-methods/

GET

4

Get currencies

/api/white-label/v1/regions/{region_id}/currencies/

GET

5

Get cryptocurrencies

/api/white-label/v1/cryptocurrency/

GET

6

Search buy quotes

/api/white-label/v1/search-buy-quotes/

POST

7

Retrieve search results

/api/white-label/v1/search-buy-quotes/{search_id}/

GET

8

Retrieve buy link

/api/white-label/v1/retrieve-buy-link/

POST

Last updated