# Start

Pay, Settle, Scale — with Fiat or Stablecoins.

**Infrastructure for Cross-border Payments Orchestration, On/Off-Ramps & Real-time Settlements.**

{% embed url="<https://coindpay.xyz>" %}

![](https://cdn.coindpay.xyz/stream/brand/banner/brand_banner_default.jpg)

![](https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FS0GbU8WIJHhL6LnVgd27%2FFrame%202147223159.jpg?alt=media\&token=f2b22aca-7f79-4cb2-b240-1ed0ffbaeb54)

### Overview

**CoindPay** is a compliance-first cross-border payments, settlement orchestration, and treasury infrastructure platform designed for merchants, platforms, PSPs, and fintech companies. It connects traditional fiat payment rails with stablecoin-enabled settlement infrastructure, allowing users to pay through familiar local payment methods while merchants receive funds in fiat or stablecoins — without needing to interact directly with blockchain complexity or underlying crypto infrastructure.

CoindPay delivers a Stripe-like payments infrastructure experience, including payment links, modular checkout flows, merchant dashboards, APIs, routing, and settlement tooling, while significantly improving cross-border settlement efficiency. Transactions are typically coordinated and settled within minutes, compared to traditional T+N settlement cycles.

CoindPay operates as a payment infrastructure and settlement orchestration layer rather than a direct acquiring institution. Fiat payment processing, acquiring, compliance execution, and on/off-ramp conversion are handled through regulated infrastructure and payment partners integrated into our broader ecosystem. We primarily leverage stablecoins where they provide clear advantages in settlement speed, liquidity efficiency, treasury coordination, and global accessibility across cross-border payment environments.

**Importantly, we do not engage in investment management, speculative trading, proprietary token issuance, or consumer-facing financial products.**

![](https://docs.coindpay.xyz/~gitbook/image?url=https%3A%2F%2F4241769897-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FSH3Edva2xmXt469sOUlR%252Fuploads%252FVNDPTRlvretjV6VYQbRp%252Fimage%25201709.png%3Falt%3Dmedia%26token%3D286da2fe-3f8e-4db7-905f-6d926c592252\&width=768\&dpr=4\&quality=100\&sign=afd1cf2a\&sv=2)

### Mission

Accelerating the adoption of next-generation payments infrastructure for global businesses and consumers.

CoindPay focuses on making compliant, fast, and accessible fiat–crypto payments usable in real-world commerce, digital services, and global online businesses.

For creators. For brands. For platforms. For everyone.

### Core Principles

* Compliance-first architecture: Progressive KYC/AML based on transaction risk, volume, and jurisdiction
* Unified fiat & crypto rails: One integration for cards, local payments, and stablecoin settlement
* Real-time settlement: Faster access to funds compared to traditional banking rails
* Non-custodial by design: Users and merchants retain control of their assets
* Global scalability: Built for cross-border use cases from day one

### What We Provide

CoindPay offers a modular and segmented set of capabilities, each supporting different aspects of merchant and creator payments. The structure follows a clear total–subpoint logic:

> Payments / Fiat & Crypto

Compliance-first infrastructure for cross-border payments, real-time settlement, and stablecoin-enabled treasury orchestration. CoindPay connects regulated payment partners, local payment methods, and global settlement rails to streamline compliant money movement worldwide.

![](https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FqMQdIXi53GPglmwJ98hL%2Fimage.png?alt=media\&token=5ea75023-7791-4a42-b523-e4c789c2bf34)

**Merchants and platforms requiring real-time cross-border settlements, supporting both fiat and crypto payments, with low-latency stablecoin settlement.**

> Treasury / Liquidity Infrastructure

Connect regulated on/off-ramps partners, stablecoin settlement rails, and non-custodial wallet infrastructure through a unified treasury experience. Designed for compliant cross-border settlement, liquidity routing, and real-time treasury operations.

![](https://docs.coindpay.xyz/~gitbook/image?url=https%3A%2F%2F4241769897-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FSH3Edva2xmXt469sOUlR%252Fuploads%252Fx5BpOXoUag8Fth8z79tA%252Fimage.png%3Falt%3Dmedia%26token%3D68ee39cc-51bd-4a5c-9b22-c9c38623dddc\&width=768\&dpr=2\&quality=100\&sign=951dd6ec\&sv=2)

**Businesses needing compliant on/off-ramps flows, non-custodial settlement, and scalable cross-border crypto transactions.**

> Commerce Orchestration

* 1\. Unified infrastructure for global commerce, embedded finance, and merchant growth across modern internet businesses.
* 2\. Custom domains, branded payment experiences, social integrations, and flexible commerce modules help businesses improve conversion and customer engagement globally.

![](https://docs.coindpay.xyz/~gitbook/image?url=https%3A%2F%2F4241769897-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FSH3Edva2xmXt469sOUlR%252Fuploads%252FEEXTpW7hBaK5TR2MtTpe%252Fimage.png%3Falt%3Dmedia%26token%3Da52d5dca-f0bc-454c-82f3-309b684f4ebb\&width=768\&dpr=2\&quality=100\&sign=d7f46a8a\&sv=2)

> Ecosystem Integration

Unified checkout flows, white-label payment links, APIs, webhooks, and merchant infrastructure for modern payment operations. Real-time transaction updates, settlement events, and treasury workflows delivered through a single integration layer.

![](https://docs.coindpay.xyz/~gitbook/image?url=https%3A%2F%2F4241769897-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FSH3Edva2xmXt469sOUlR%252Fuploads%252F5ytfRBndmoPTPxWl4JJS%252Fimage.png%3Falt%3Dmedia%26token%3Db0bfe732-edfd-4621-b750-d9cccfdebbf0\&width=768\&dpr=2\&quality=100\&sign=1c8bc441\&sv=2)

### Compliance & Risk Framework

CoindPay is built with a risk-tiered compliance model, designed to balance usability with regulatory obligations:

* Progressive KYC/AML thresholds based on user behavior and transaction volume
* Jurisdiction-aware onboarding rules
* Transaction monitoring and partner-level risk controls

We work with regulated service providers and payment partners to ensure alignment with applicable compliance standards across regions.

### Social Links

> More information can be found on our social media.

*Docs*

[https://docs.coindpay.xyz](https://docs.coindpay.xyz/)

**All-in-one Social Portal**

<https://coindpay.xyz/CoindPay>

![](https://res.cloudinary.com/travary/image/upload/w_2000/v1/prd-akindo-public/communities/description-images/aAWEpP4g0UKPRemG.jpg)


# Customers

Pay, Settle, Scale — with Fiat or Stablecoins.

**Infrastructure for Cross-border Payments Orchestration, On/Off-Ramps & Real-time Settlements.**

<mark style="background-color:$primary;">Global Payments Orchestration Layer？</mark>Maybe try [https://coindpay.xyz](https://coindpay.xyz/)

<figure><img src="https://cdn.coindpay.xyz/static/social/payments_multiple.svg" alt=""><figcaption></figcaption></figure>

<div data-with-frame="true"><figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FdvEaKSQifxSnPErnVBfr%2Fimage.png?alt=media&amp;token=a99972fb-d7f4-41db-a071-1e3bc58f98e6" alt=""><figcaption></figcaption></figure></div>

{% file src="/files/j2LdKGU05lHhuAwaN9Bu" %}

## 1. Create Account

Before using CoindPay, you need to create an account. This account serves as a **unified identity** for both your developer role and merchant enterprise.

Visit the CoindPay website and choose one of the account creation methods:

* **Social Account**
  * Supported social login providers (e.g. Google, X, etc.)
* **Wallet**
  * **EVM wallet** (Ethereum-compatible chains)
  * **SVM wallet** (Solana)

> <mark style="background-color:purple;">Note: Even if you sign up using a social account, you will still be required to bind a settlement wallet to complete</mark> <mark style="background-color:red;">**and enable payments.**</mark>

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2F5ytfRBndmoPTPxWl4JJS%2Fimage.png?alt=media&amp;token=b0bfe732-edfd-4621-b750-d9cccfdebbf0" alt=""><figcaption></figcaption></figure>

## 2. Create and Publish Payments

{% hint style="warning" %}
If merchant KYB compliance is not completed, users will be prompted to complete the KYB onboarding and compliance review. The prompt is triggered via **More → Account profile** or during **Pay → Payments create**, with an onboarding modal.
{% endhint %}

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FXjDFkhPvw3hyaVU0ICWF%2Fimage.png?alt=media&amp;token=fcbf0086-b033-4289-b8d6-da33ac5ecc5c" alt=""><figcaption></figcaption></figure>

**Accept and optimize payments, globally.**

Increase authorization rates, optimize your checkout conversion, and offer local payment methods in every market.

Choose your Payments type, create one, configure some information, and share it with your fans and consumers.

> 1. **Product Details**

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FbsbFW0YKivA0d9E9XeLJ%2Fimage.png?alt=media&amp;token=c766e4cf-8530-4d1d-b7a0-d4ef933842b1" alt=""><figcaption></figcaption></figure>

> 2. Payment Options

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FYhgZMNME8tLsYAE0Gmim%2Fimage.png?alt=media&amp;token=5f36bc0f-0245-4938-8566-635fe220239d" alt=""><figcaption></figcaption></figure>

> 3. Widget Design

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FaE4yegqBbS494eJwCcIy%2Fimage%201584.jpg?alt=media&amp;token=ff85309e-2de5-4dfa-b1d8-9e5c0ba00aa9" alt=""><figcaption></figcaption></figure>

The window on the right gives you a real-time preview of your Payments.

**Just complete all the form information (personalize your media resources and chain) to publish.**

## 3. Manage and Share Payments

You can individually change the information about each payment, and its status (running or offline, or even delete it), and you can share the corresponding QR code or link anywhere.

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2Fhvh3CQKGgE7MvioRUX4A%2F20260415155942_rec_.gif?alt=media&amp;token=c56875b8-3c50-4cfe-ba47-7332407d0532" alt=""><figcaption></figcaption></figure>

## 4. Use & Integrated Payments

1. Use QR code materials to start your secondary design (posters, etc.)
2. Use the link to share and start experiencing your Payments, which can be embedded in any app.
3. For more details, please refer to our [SCAN](https://coindpay.xyz/scan) data and [Developers](/landing/start/developers) data.

Now let's put ourselves in the shoes of the fan or consumer and start shopping and spending, donating, rewarding, and so on!

1. The customer fills in the basic information, the email is required;
2. leave a message, some encrypted notes (optional);
3. Choose the payment methods, fiat or crypto wallet to continue;
4. Connect to the wallet and start the payment, there will be corresponding prompts and on-chain certificates when the payment is in progress, abnormal, or successful.

*1️⃣  pay with fiat currencies*

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FI3H4vxNqszxTRiQvyeUi%2Fimage.png?alt=media&amp;token=61701a66-480d-4614-baef-363a1fbde862" alt=""><figcaption></figcaption></figure>

### Single payment

```typescript
Charge a one-time fee
```

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FNSIlUSN4XygK5WNsIj8B%2F20251022003507_rec_-convert.gif?alt=media&amp;token=770a86a3-5bdb-4da1-ac3c-56da38d8dd15" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FrtAryLlblE4U3Me5xLDT%2F2026-08-21%2009.18.18.jpg?alt=media&amp;token=51c1756c-95e7-4951-87da-59d8a92689c9" alt=""><figcaption></figcaption></figure>

### Subscription

```typescript
Charge an ongoing fee
```

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FJSwtPy10juOGCLlChgQn%2Fimage.png?alt=media&amp;token=5844ffc2-fdbb-4dc5-8da2-515b5e0b02fe" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FixE3N1O0Z1Q5IviOzcxz%2Fimage.png?alt=media&amp;token=76f4004d-0bb0-4ec4-9832-195d0ada5b9f" alt=""><figcaption></figcaption></figure>

*2️⃣  pay with crypto token*

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FE1ifEJmwsZUZbWXNGZP3%2Fimage%201587.jpg?alt=media&amp;token=ba94c13a-0c35-4a32-86c5-0963692c01d5" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FF6vOuwtqeQ71md8uM6Zv%2Fimage.png?alt=media&amp;token=4f132eaa-c643-4415-8f31-bb3e4d2833f3" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2F2ATV119bHRegbK5jXDlA%2Fimage.png?alt=media&amp;token=8938f6cb-b119-4423-bf13-40d23e470a8a" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FDj8AvLfSYsYPRfPZ4BO1%2Fimage.png?alt=media&amp;token=6b6317bf-80b5-49f0-8f36-f88524de257a" alt=""><figcaption></figcaption></figure>

## 5. Daily Financial Dashboard

View and analyze your full chain of asset details in real-time, including basic payer information, messages, etc.

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2Fan6eFK3eGf4MbhtaynD1%2Fimage.png?alt=media&amp;token=3cfc7584-beed-4a03-963e-ff4d86a53b8a" alt=""><figcaption></figcaption></figure>

## 6. Wallet Buy/Sell/Swap Crypto

Buy and sell crypto. Seamlessly. In seconds. With no-to-low fees. All with CoindPay.

The wallet has built-in modules such as Asset Tokens Portfolios and Transactions, Funds, etc. for a one-stop view of the assets and flow of assets in the tied account and other accounts.

### On-Ramps

<https://coindpay.xyz/wallet?crypto=buy>

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2Fx5BpOXoUag8Fth8z79tA%2Fimage.png?alt=media&amp;token=68ee39cc-51bd-4a5c-9b22-c9c38623dddc" alt=""><figcaption></figcaption></figure>

### Off-Ramps

<https://coindpay.xyz/wallet?crypto=sell>

### Swap Tokens

<https://coindpay.xyz/wallet/dex>

Based on LiFi's cross-chain exchange protocol, we enter into an important strategic partnership.

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2F3TUNte4KIL46e9UkOpKs%2Fimage.png?alt=media&amp;token=f8e2ce69-a030-43fc-88db-184471aec437" alt=""><figcaption></figcaption></figure>

<https://x.com/CoindPay/status/1809216610689044691>

## 7. Earn Rewards

#### About CoindPay Gravity?

CoindPay Gravity is a growth initiative for distributing $SCP, aimed at sharing protocol revenue with the community and contributors.

| Quests                                                                                                     | Amount                           | Status  |
| ---------------------------------------------------------------------------------------------------------- | -------------------------------- | ------- |
| <h4>Received Funds</h4><p>Incentive rewards for payments exceeding $100, by increasing function.</p>       | 100 သ 50000 $SCP                 | Payment |
| <h4>Invite Friends</h4><p>One-time reward for invitees completing their first payment of $100 or more.</p> | <p></p><p>200（Per user） $SCP</p> | Invite  |

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FkJWmmQMeX8oJ81x7zK86%2Fimage.png?alt=media&amp;token=6f25a0c1-a37e-4915-938a-9697a2b71c42" alt=""><figcaption></figcaption></figure>

## 8. Upgrade to Premium

CoindPay Premium is a membership benefit introduced by CoindPay for high loyalty users and personalized feature trials, including but not limited to member-only certifications, badges, encrypted credit cards, Payments tax discounts and other benefits, see more: <https://coindpay.xyz/wallet/?claim=premium>

<figure><img src="https://res.cloudinary.com/travary/image/upload/w_2000/v1/prd-akindo-public/communities/description-images/lrdegQjOgF0jD7Ej.png" alt=""><figcaption></figcaption></figure>

## 9. Social Portal

We will continue expanding merchant profile capabilities with custom domains, dynamically added social media integrations, rich media modules, and additional creator-focused features. The goal is to help merchants and creators better showcase their brands, content, and communities by connecting social platforms such as instagram and other social media channels — similar to a modern “link-in-bio” style portfolio and commerce experience.

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FEEXTpW7hBaK5TR2MtTpe%2Fimage.png?alt=media&amp;token=a52d5dca-f0bc-454c-82f3-309b684f4ebb" alt=""><figcaption></figcaption></figure>

## 10. More Config & **Integration**

One-stop management of your bound wallet, developer events, membership qualifications and other configs.

Go to **More → Account/Wallet or Integration/Hooks** to view and manage your developer information, webhook endpoints, and related configurations [/pages/YDXHM7aKp9sJhJZB7ZjT#id-4.-account-and-hooks-settings](https://docs.coindpay.xyz/landing/start/pages/YDXHM7aKp9sJhJZB7ZjT#id-4.-account-and-hooks-settings "mention")


# Pay-ins

Visually configure payment acceptance, settlement assets, and fund routing in a single workflow.

CoindPay supports multiple [Pay-ins](https://coindpay.xyz/pay) and settlement models to accommodate different liquidity, compliance, and cost requirements across global markets.

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FYhgZMNME8tLsYAE0Gmim%2Fimage.png?alt=media&amp;token=5f36bc0f-0245-4938-8566-635fe220239d" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Configure the payment method for your Payments Link (see illustration).
{% endhint %}

## Pay-in Options

CoindPay supports multiple payout and settlement models to accommodate different liquidity, compliance, and cost requirements across global markets.

### 1. Fiat Pay-in → Stablecoin Pay-out ✅

**Status:** Liv&#x65;**（\~5–10 minutes）**

* Supports 45+ fiat currencies globally (USD, EUR, GBP, JPY, etc.)
* Settlement to stablecoins (**USDT/USDC** on **EVM** and **SVM** networks
* Real-time processing and settlement

{% hint style="info" icon="badge-dollar" %}
**USDC Settlement**
{% endhint %}

| Primary Wallet | Settlement Chain |
| -------------- | ---------------- |
| **EVM**        | **Base**         |
| **SVM**        | **Solana**       |

{% hint style="info" icon="circle-dollar" %}
**USDT Settlement**
{% endhint %}

| Primary Wallet | Settlement Chain |
| -------------- | ---------------- |
| **EVM**        | **BSC**          |
| **SVM**        | **Solana**       |

#### Fees & Pricing（Fiat-to-Stablecoin）

**CoindPay Unified Fees** = Risk Coverage + Payment Processing Costs + Banking & Gateway Fees + Settlement Infrastructure Costs + CoindPay Platform Fees（Volume-Based Tier Discounts）

The **CoindPay Unified Fees** includes:

* **Chargeback risk coverage** (chargeback ratio must remain below **0.5%**, e.g., no more than 5 chargebacks per 1,000 transactions, with cumulative chargeback losses capped at **USD 1,000**);
* **Payment processing and gateway costs**, including supported payment methods such as **PayPal, Apple Pay, Google Pay, and card payments**;
* **CoindPay platform and payment orchestration fees;**

**Volume-based tier pricing**, where unified fee rates decrease as transaction volume increases (e.g., **7%, 6.5%, 6%, 5.5% tiers**), with pricing tiers determined by **merchant profile, fintech partnerships, transaction volume, and payment models**.

Additional variables, including **KYC compliance verification costs** (via providers such as Sumsub when applicable), **FX fluctuations**, **digital asset settlement price variations** (e.g., USDC market price deviations from USD parity), and **blockchain network gas fees**, may affect the final settlement amount.

These variables are external market and infrastructure factors and may occasionally result in an effective settlement cost above the standard CoindPay Unified Fee. Historically, these adjustments typically represent approximately **1% in aggregate**.

**Example: $100 USD Consumer Payment Pay-in > Settlement**

A consumer completes a **$100 USD payment** through CoindPay.

<table><thead><tr><th width="359.059326171875">Item</th><th width="154.05859375">Rate</th><th>Amount</th></tr></thead><tbody><tr><td>Consumer Payment Amount</td><td>100%</td><td>$100.00 USD</td></tr><tr><td>CoindPay Unified Fees</td><td>7%</td><td>-$7.00 USD</td></tr><tr><td>Rolling Reserves (if applicable)</td><td>5%</td><td>-$5.00 USD</td></tr><tr><td>Variable Settlement Adjustments (FX, On-chain Gas, KYC, etc.)</td><td>0.1%~1%</td><td>$0.10~$1.00 USD</td></tr><tr><td><strong>Final Merchant Settlement Amount</strong></td><td><strong>~87.5%</strong></td><td><strong>≈ $87.5 USDC/USDT</strong></td></tr></tbody></table>

📊 **Variable Settlement Adjustments** may include:

* KYC compliance verification costs (when applicable)
* FX fluctuations
* Digital asset settlement price variations (e.g., USDC/USD market deviation)
* Blockchain network gas fees

**💹 Rolling Reserves** [Rolling Reserves](/landing/start/partners/rolling-reserves#applicability)

> A rolling reserve **may be required depending on the merchant's risk profile, industry category, payment model, transaction volume, transaction history, and chargeback exposure.**
>
> The reserve percentage is determined on a **case-by-case basis** and is not a fixed requirement. Reserved funds are **not a platform fee** and will be released according to the agreed reserve release schedule, subject to applicable risk assessments, dispute handling, and settlement conditions.

#### **Settlement & Funds Flow**

> End-to-End Fiat-to-Stablecoin Payment & Settlement Infrastructure.

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FfS36Up73nEl4lrm1ZVWq%2FChatGPT%20Image%20Apr%2016%2C%202026%2C%2003_20_59%20PM.png?alt=media&amp;token=2467b509-46ea-438d-880d-c7eb65e7f8a8" alt=""><figcaption></figcaption></figure>

**Best suited for:**\
Global merchants, cross-border payouts, and scenarios requiring fiat collection with crypto-native liquidity and faster capital efficiency.

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2F7LsoUqzKJHmGkJ7AJuqR%2Fimage.png?alt=media&amp;token=57961724-2f3a-4b61-9e60-27b0a7e85df2" alt=""><figcaption></figcaption></figure>

***

### 2. Crypto Pay-in → Crypto Pay-out  ✅

**Status:** Liv&#x65;**（\~15 seconds）**

* Supports 12+ major blockchain networks, including Base, Solana, BSC Chain, and others
* Near-instant settlement, typically&#x20;
* Ultra-low network and processing fees
* Fully on-chain, no banking dependency

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FSr4qGF1v2ytnEquJPDC9%2Fimage.png?alt=media&amp;token=75880b9d-57cd-4f78-93ff-9f6e4b6ebec0" alt=""><figcaption></figcaption></figure>

#### Fees & Pricing（Crypto-to-Crypto）

**CoindPay Unified Fees =** Blockchain Costs + Infrastructure Costs + CoindPay Platform Fees

For **Crypto Pay-in → Crypto Pay-out**, CoindPay currently operates under a **public beta fee structure**:

* **Unified Fees: 0% (During Public Beta)**
* **CoindPay Platform Fees: 0% (During Public Beta)**
* **Rolling Reserve: Not Required**

During the public beta phase, merchants can access fully on-chain crypto settlement with near-instant processing and optimized blockchain transaction costs.

Future Unified Fee structures may introduce **volume-based tier pricing**, with rates determined based on:

* Transaction volume;
* Merchant profile;
* Fintech or ecosystem partnerships;
* Payment model;
* Operational and risk requirements.

Any future pricing updates will be announced by CoindPay in advance.

***

**Example: $100 USDC Crypto Payment Pay-in > Settlement**

<table><thead><tr><th width="371.05078125">Item</th><th width="151.443359375">Rate</th><th>Amount</th></tr></thead><tbody><tr><td>Consumer Crypto Payment</td><td>100%</td><td>$100.00 USDC</td></tr><tr><td>CoindPay Unified Fees (Public Beta)</td><td>0%</td><td>$0.00</td></tr><tr><td>CoindPay Platform Fees (Public Beta)</td><td>0%</td><td>$0.00</td></tr><tr><td><strong>Merchant Settlement Amount</strong></td><td><strong>≈100%</strong></td><td><strong>≈$100.00 USDC</strong></td></tr></tbody></table>

**Note:**\
Blockchain network fees may apply depending on the selected network, transaction conditions, and wallet configuration. These costs are determined by the underlying blockchain network and are separate from CoindPay fees.

**Best suited for:**\
On-chain native use cases, Web3 applications, real-time payouts, and treasury operations requiring maximum speed and flexibility.

***

### 3. Fiat Pay-in → Fiat Pay-out ⏳

**Status:** Coming Soon (Under Legal Review & Product Development)

* Settlement via EU and US banking rails
* Expected settlement cycles: **T+3\~7\~15**
* Slower settlement compared to crypto or stablecoin flows, but with lower overall fees

**Best suited for:**\
Cost-sensitive businesses, traditional financial operations, and jurisdictions where fiat-to-fiat settlement is required for regulatory or accounting reasons.

***

## Settlement Characteristics

* **Crypto and stablecoin settlements are near real-time**, driven by on-chain finality and instant liquidity availability.
* **Fiat settlements depend on banking infrastructure**, including correspondent banks and local clearing systems, which introduces longer settlement cycles.
* For fiat-in → stablecoin or fiat payouts, [Rolling Reserves](/landing/start/partners/rolling-reserves) **are mandatory** to ensure risk management and regulatory compliance, especially in EU and US markets.
* While slower, **fiat-to-fiat settlement offers more competitive fees** compared to faster settlement options.&#x20;

***

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FkEn5vXNnGMQhWxjJ1Srm%2FFireShot%20Capture%20904%20-%20CoindPay%20Account%20Billing%EF%BD%9CPay%2C%20Settle%2C%20Scale%20%E2%80%94%20with%20Fiat%20or%20Stableco_%20-%20%5B127.0.0.1%5D.png?alt=media&amp;token=1f16edcf-046d-4d2d-9a18-ba771c48b74d" alt=""><figcaption></figcaption></figure>

## Fees Structure Overview

CoindPay supports multiple settlement models designed for different payment scenarios. Each model applies a different fee structure based on payment rails, settlement methods, risk exposure, and operational requirements.

<table><thead><tr><th width="219.779296875">Item</th><th>Fiat Pay-in → Stablecoin Pay-out</th><th>Crypto Pay-in → Crypto Pay-out</th></tr></thead><tbody><tr><td><strong>Payment Flow</strong></td><td>Fiat payment → Stablecoin settlement</td><td>Crypto payment → Crypto settlement</td></tr><tr><td><strong>Settlement Method</strong></td><td>Off-chain payment rails + on-chain settlement</td><td>Fully on-chain settlement</td></tr><tr><td><strong>Settlement Speed</strong></td><td>Real-time settlement（~5–10 minutes）</td><td>Real-time settlement (~15 seconds)</td></tr><tr><td><strong>Unified Fees Model</strong></td><td>Volume-based tier pricing (e.g., 7%, 6.5%, 6% tiers)</td><td>0% during public beta</td></tr><tr><td><strong>Payment Processing</strong></td><td>Included (Cards, PayPal, Apple Pay/Google Pay, Cash App, local payment methods)</td><td>Not applicable</td></tr><tr><td><strong>Banking Dependency</strong></td><td>Required for fiat payment processing</td><td>No banking dependency</td></tr><tr><td><strong>Chargeback Risk</strong></td><td>Applicable</td><td>Not applicable</td></tr><tr><td><strong>Rolling Reserve</strong></td><td><a data-mention href="/landing/start/partners/rolling-reserves#reserve-rate">Rolling Reserves</a></td><td>Not required</td></tr><tr><td><strong>Blockchain Network Fees</strong></td><td>May affect final settlement amount</td><td>Determined by selected blockchain network</td></tr><tr><td><strong>Future Pricing Model</strong></td><td>Volume-based pricing tiers</td><td>Future volume-based pricing may apply</td></tr></tbody></table>

* **Default pricing applies under CoindPay standard fee schedules.**\
  For detailed and up-to-date fee structures across different settlement methods, please **contact the CoindPay Business or Sales team** for confirmation.
* **Fees may vary based on transaction volume, settlement method, jurisdiction, and risk profile.**\
  Final pricing is determined after an initial business review and integration assessment.
* **High-risk merchants or industries are subject to additional review.**\
  For merchants classified as higher risk, CoindPay will conduct a **business and transaction flow audit** (including use case, volumes, and settlement behavior) before confirming applicable fees, limits, or settlement terms.
* **CoindPay reserves the right to adjust fees, settlement cycles, or reserve requirements** based on ongoing risk monitoring, compliance obligations, and operational considerations.


# Payouts

Send fiat and stablecoin payouts globally through a single integration. Fast, compliant, and reliable settlement across local payment rails and blockchain networks.

Opening SOON


# Payment metrics

No-KYC payment limits with AML checks, KYC for large transactions, real-time processing, average settlement time, success rate, and low complaint rate.

## 3D Secure

3D Secure helps prevent fraud and keeps your customers’ payments safe and secure.

## No KYC

CoindPay integrates multiple acquiring partners with varying No-KYC limits (e.g., €700, €1,000, €1,500), optimizing approval rates for low-value transactions. Consumers benefit from a seamless \~30-second checkout via wallet payments such as Apple Pay and Google Pay. Funds are settled through CoindPay’s settlement gateway within 5–10 minutes (net of applicable taxes) directly to the merchant’s wallet.

## Need KYC

{% hint style="warning" %}
For Payments/On-Ramps, CoindPay typically triggers additional KYC or enhanced verification only when a user’s cumulative transaction volume exceeds the No-KYC Limit. However, KYC may also be required below this threshold if the user is flagged by anti-fraud systems, which can occur for various unpredictable risk indicators.
{% endhint %}

1. <mark style="background-color:purple;">Once a user has successfully completed KYC, CoindPay generally does not require identity verification again for subsequent purchases, provided that:</mark>

* The user logs in with the **same account**
* The **device, IP, and region** remain consistent
* No **risk or compliance rules** are triggered
* Their cumulative transaction volume is **below the No-KYC Limit**

Under normal circumstances, repeat purchases are processed without any additional KYC steps

2. <mark style="background-color:purple;">When might CoindPay require additional or repeated KYC?</mark>

Additional verification may be required if any of the following conditions occur:

| Scenario                                   | Description                                                                                                  |
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
| **Cumulative volume exceeds No-KYC Limit** | Crossing the max limit triggers enhanced compliance checks under CoindPay’s risk policies.                   |
| **Higher purchase limits needed**          | User exceeds basic limits and needs to unlock higher KYC tiers (address verification, proof of funds, etc.). |
| **Country/region changes**                 | The IP, payment card country, or geolocation differs from prior KYC data.                                    |
| **New payment method added**               | Switching or adding a new card may require additional verification.                                          |
| **Risk or suspicious activity detected**   | Unusual patterns trigger CoindPay’s risk engine, which may require re-verification.                          |
| **Long inactivity period**                 | Some regions require KYC refresh after prolonged inactivity.                                                 |

3. <mark style="background-color:purple;">Typical User Experience</mark>

* **First purchase:** Full KYC completed.
* **Subsequent purchases:** No repeated KYC required.
* **Only when cumulative purchases exceed the no-kyc limit** or certain risk conditions apply will additional checks appear.

This ensures smooth repeat transactions while maintaining regulatory compliance.

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FcTMQI9QP1e718KyC6pej%2Fimage.png?alt=media&amp;token=3beff7ff-c68d-45b4-aebf-830d5d208148" alt=""><figcaption></figcaption></figure>

CoindPay’s KYC (Know Your Customer) sharing system streamlines user identity verification by integrating with partners and third-party providers like SumSub. This process ensures compliance with regulatory requirements, while minimizing repeated verification steps for users.

When users complete KYC directly within CoindPay’s widget or wallet, the verification typically includes:

* Identity verification via passport, ID card, or driver’s license.
* Liveness verification (selfie or video).
* Address confirmation (required for IBAN and card features; for cards, address is entered without document upload).
* Phone number verification (required for IBAN feature).

**Special considerations**

* **US residents:**  KYC for US users requires additional processing through ZeroHash. If verification fails, CoindPay handles the case accordingly.
* **KYC renewal:**  KYC status can expire, requiring users to re-verify.
* **Error handling:**  Common errors include invalid parameters or failed verification attempts. Support is available for resolution.

<div data-with-frame="true"><figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FdvEaKSQifxSnPErnVBfr%2Fimage.png?alt=media&amp;token=a99972fb-d7f4-41db-a071-1e3bc58f98e6" alt=""><figcaption></figcaption></figure></div>

## **Order** Metrics 📊

### **1. Order Settlement Time**

* **Typical Range**: 5-10 minutes or even tens of minutes.
* **Factors Influencing Time**:
  * **Payment Method**: Bank transfers may take longer than card payments.
  * **Blockchain Network**: Different blockchains have varying confirmation times.
  * **AML/KYC Checks**: Compliance procedures can add to the processing time.

> **Note**: Specific settlement times can vary based on the above factors and may differ between transactions.

### **2.** Payout assets

{% hint style="success" %}
For fiat payments, we currently settle all payments in **`Stablecoin`**&#x20;

Please pay attention to your main receiving wallet and blockchain
{% endhint %}

* **Payments** support **USDT/USDC** on **EVM** and **SVM** networks by default. Please confirm that your **connected wallet** matches the correct network in your account settings.

#### USDC Settlement

| Primary Wallet | Settlement Chain |
| -------------- | ---------------- |
| **EVM**        | **Base**         |
| **SVM**        | **Solana**       |

#### USDT Settlement

| Primary Wallet | Settlement Chain |
| -------------- | ---------------- |
| **EVM**        | **BSC**          |
| **SVM**        | **Solana**       |

* **On/Off-Ramps** support **100+ assets** across **30+ networks**. When creating Ramp orders, ensure that your selected asset type matches the corresponding wallet address.

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FHCGyRDHHCYYEobolxGDB%2Ftelegram-cloud-photo-size-5-6138709186544602701-w.jpg?alt=media&amp;token=f4f0b59b-9e93-4f27-ae74-a3523e269914" alt=""><figcaption></figcaption></figure>

### **3. Refund Rate**

* **Typical Range**: Generally low; however, exact figures are not publicly disclosed.
* **Influencing Factors**:
  * **Transaction Disputes**: Chargebacks or disputes can lead to refunds.
  * **User Errors**: Mistakes during the transaction process.
  * **Fraudulent Activities**: Fraudulent transactions may result in refunds.

> **Note**: For precise refund rates, it's recommended to consult CoindPay's official documentation or contact their support team.

### 4. **Refund Processing Time**

* **Typical Range**: From a few minutes to several hours.
* **Factors Influencing Time**:
  * **Payment Method**: Refunds to bank accounts may take longer than to crypto wallets.
  * **Blockchain Network**: Different blockchains have varying transaction times.
  * **AML/KYC Checks**: Compliance procedures can add to the processing time.

> **Note**: Specific refund processing times can vary based on the above factors and may differ between transactions.

### 5. **Refund Scenes**

* **Overpayment**: The customer sends more than the required amount.
* **Underpayment**: The customer sends less than the required amount.
* **Payment Timeout**: The customer fails to complete the payment within the specified time.
* **Fraudulent Transactions**: Transactions identified as fraudulent may be refunded.
* **User Disputes**: Customers may request refunds due to various reasons.

> **Note**: Each refund scenario may have different processing times and procedures.

## Monitoring

{% hint style="info" %}
CoindPay operates dispute and fraud monitoring programs to help merchants maintain compliance with card network requirements and protect the overall payment ecosystem. Merchants are expected to keep disputes (chargebacks) and confirmed fraud at acceptable levels. Exceeding thresholds may trigger monitoring programs, fees, or restrictions until performance improves.
{% endhint %}

### 1. Overview

* **Dispute / Chargeback:** A payment reversed due to a customer dispute.
* **Confirmed Fraud:** Transactions identified as fraudulent.
* **Key Principle:** Monitoring programs focus on **preventing disputes and fraud**, rather than outcomes of individual cases.

CoindPay continuously monitors merchant performance and provides support to reduce disputes or fraud. Merchants may be asked to provide details about:

* Checkout / user flow
* Recent changes in operations
* Measures to reduce risk

The goal is to ensure both merchant performance and the overall payment system remain healthy and compliant.

### 2. Monitoring Programs

#### **Visa Monitoring Program (VAMP)**

VAMP monitors disputes, fraud, and card testing activity. Every month, CoindPay calculates metrics based on Visa reports from the previous month.

| Metric          | Definition                                                      | Threshold                                                                                                                                   |
| --------------- | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| **VAMP Count**  | Total number of disputes and fraud (from TC15 and TC40 reports) | <p>Non-compliant: 5<br>Excessive: 150 in CEMEA / 1,500 elsewhere</p>                                                                        |
| **VAMP Ratio**  | Ratio of disputes/fraud count to total captured payments        | <p>Non-compliant: 0.5%<br>Excessive: 1.5% in LAC, 2.2% elsewhere (from May 15, 2025)<br>From Apr 1, 2026: 2.2% in CEMEA, 1.5% elsewhere</p> |
| **VAMP Volume** | USD value of disputes and fraud                                 | Excessive: 75,000 USD in CEMEA; N/A elsewhere                                                                                               |

**Enumeration Monitoring** tracks card testing attempts:

| Metric                     | Threshold |
| -------------------------- | --------- |
| **VAMP Enumeration Count** | 300,000   |
| **VAMP Enumeration Ratio** | 20%       |

> Note: No fines are assessed for enumeration monitoring, but merchants should mitigate card testing activity.

***

#### **Visa Secure Excessive Fraud Program (US Only)**

| Metric                           | Threshold  | Fine / Effect                             |
| -------------------------------- | ---------- | ----------------------------------------- |
| Fraud volume (3DS authenticated) | 75,000 USD | None, but liability shift lost until exit |
| Fraud rate                       | 0.9%       | None, same as above                       |

***

#### **Mastercard Monitoring Programs**

1. **Excessive Chargeback Program (ECP)**

Levels: ECM (Excessive Chargeback Merchant) and HECM (High ECM)

| Level | Dispute Count | Chargeback Rate | Fines                                                                                                                                                    |
| ----- | ------------- | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ECM   | 100-299       | 1.5-2.99%       | <p>Month 2-3: 1,000 USD<br>Month 4-6: 5,000 USD<br>Month 7-11: 25,000 USD<br>Month 12-18: 50,000 USD<br>Month 19+: 100,000 USD</p>                       |
| HECM  | 300+          | 3%              | <p>Month 2: 1,000 USD<br>Month 3: 2,000 USD<br>Month 4-6: 10,000 USD<br>Month 7-11: 50,000 USD<br>Month 12-18: 100,000 USD<br>Month 19+: 200,000 USD</p> |

> Issuer recovery assessment applies additional 5 USD per chargeback over 300 in ECM/HECM.

2. **Excessive Fraud Merchant (EFM) Program**

Criteria:

* Minimum 1,000 e-commerce Mastercard payments
* Net fraud volume >50,000 USD (AU: 15,000 USD)
* Fraud chargeback rate >0.50% (AU: 0.20%)
* 3DS usage ≤10% (non-regulated) or ≤50% (regulated countries)

Fines over months follow the same schedule as ECM/HECM:

| Months above threshold | Fine        |
| ---------------------- | ----------- |
| 1                      | 0 USD       |
| 2                      | 500 USD     |
| 3                      | 1,000 USD   |
| 4-6                    | 5,000 USD   |
| 7-11                   | 25,000 USD  |
| 12-18                  | 50,000 USD  |
| 19+                    | 100,000 USD |

> Merchants can request one suspension if confident of remaining below thresholds.

***

#### **AusPayNet Monitoring Programs (AU Only)**

Fraud Monitoring Program (FMP) tracks Card-Not-Present (CNP) fraud:

| Metric                  | Threshold             | Action                                 |
| ----------------------- | --------------------- | -------------------------------------- |
| Fraud chargeback amount | >50,000 AUD / quarter | Implement fraud controls, consider SCA |
| Fraud-to-sales ratio    | ≥0.20%                | Same as above                          |

**Progressive remediation:**

| Quarters above threshold | Action                                                                |
| ------------------------ | --------------------------------------------------------------------- |
| 1                        | Implement fraud controls (risk-based SCA on subset)                   |
| 2                        | Perform risk-based SCA or use SCA on all CNP / enhance fraud controls |
| 3                        | Pass all CNP transactions through SCA                                 |
| 4+                       | Possible off-boarding                                                 |

**Strong Customer Authentication (SCA)** uses ≥2 of:

* Knowledge factor (password)
* Possession factor (phone)
* Inherence factor (biometrics)

Exemptions: recurring transactions, trusted customers, wallet transactions.

***

### 3. Remediation & Best Practices

**Remediation Steps:**

1. Submit a remediation plan to CoindPay with risk mitigation measures.
2. Apply fraud prevention tools (velocity checks, 3DS, KYC improvements).
3. Adjust checkout, billing, or refund policies as needed.

**Best Practices to Reduce Disputes & Fraud:**

* **Prevent fraud:** Reverse suspicious authorizations before capture
* **Cancel subscriptions:** Easy cancellation, clear billing terms, reminders
* **Unreceived products:** Track shipments, require signature for high-value items
* **Unacceptable products:** Clear descriptions, images, flexible refunds
* **Friendly fraud:** Collect agreement, ship to verified addresses
* **Other disputes:** Ensure recognizable statement descriptors


# Payment methods

We offer several different payment methods to pay bills or make purchases.

<figure><img src="https://cdn.coindpay.xyz/static/social/payments_methods_v1.svg" alt="" width="375"><figcaption></figcaption></figure>

<figure><img src="https://cdn.coindpay.xyz/static/social/payments_methods_v2_mp.svg" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="290.717041015625">Payment method</th><th width="239.958740234375">payment_method</th><th>Supported</th></tr></thead><tbody><tr><td>Visa <mark style="color:purple;"><strong>*</strong></mark></td><td>card</td><td>✅</td></tr><tr><td>Mastercard <mark style="color:purple;"><strong>*</strong></mark></td><td>card</td><td>✅</td></tr><tr><td>Maestro <mark style="color:purple;"><strong>*</strong></mark></td><td>card</td><td>✅</td></tr><tr><td>Apple Pay <mark style="color:purple;"><strong>**</strong></mark></td><td>apple</td><td>✅</td></tr><tr><td>Google Pay <mark style="color:purple;"><strong>**</strong></mark></td><td>google</td><td>✅</td></tr><tr><td>Cash App Pay（USD🇺🇸）<mark style="color:purple;"><strong>***</strong></mark></td><td>cashapp</td><td>✅</td></tr><tr><td>PayPal（EUR🇪🇺）<mark style="color:purple;"><strong>***</strong></mark></td><td>paypal</td><td>✅</td></tr><tr><td>PayPal Global</td><td>paypal</td><td>⌛️</td></tr><tr><td>Venmo</td><td>venmo</td><td>⌛️</td></tr><tr><td>Amazon Pay</td><td>amazon</td><td>⌛️</td></tr><tr><td>Wire Transfer（USD🇺🇸）</td><td>wire</td><td>⌛️</td></tr><tr><td>ACH（USD🇺🇸）</td><td>ach</td><td>⌛️</td></tr><tr><td>Revolut Pay <mark style="color:purple;"><strong>****</strong></mark></td><td>revolut</td><td>✅</td></tr><tr><td>SEPA Bank Transfer <mark style="color:purple;"><strong>***</strong></mark></td><td>sepa</td><td>✅</td></tr><tr><td>UK Faster Payments（GBP🇬🇧）</td><td>gbp_bank</td><td>✅</td></tr><tr><td>Interac e-Transfer（CAD🇨🇦） </td><td>interac</td><td>✅</td></tr><tr><td>Instapay QRPh（PHP🇵🇭）</td><td>instapay</td><td>✅</td></tr><tr><td>PIX instant payment（BRL🇧🇷）</td><td>pix</td><td>✅</td></tr><tr><td>PicPay（BRL🇧🇷）</td><td>picpay</td><td>✅</td></tr><tr><td>Zar bank transfer（ZAR🇨🇿）</td><td>zar_bank</td><td>✅</td></tr><tr><td>PayID bank transfer（AUD🇦🇺）</td><td>payid</td><td>✅</td></tr><tr><td>Pse co bank transfer（COP🇨🇴）</td><td>pse</td><td>✅</td></tr><tr><td>Khipu cl bank transfer（CLP🇨🇱）</td><td>khipu</td><td>✅</td></tr><tr><td>Qr th wallet payment（THB🇹🇭）</td><td>qr_wallet</td><td>✅</td></tr><tr><td>Spei bank transfer（MXN🇲🇽）</td><td>spei</td><td>✅</td></tr><tr><td>OXXO（MXN🇲🇽）</td><td>oxxo</td><td>✅</td></tr><tr><td>DANA（IDR🇮🇩）</td><td>dana</td><td>✅</td></tr><tr><td>QRIS（IDR🇮🇩）</td><td>qris</td><td>✅</td></tr><tr><td>OVO（IDR🇮🇩）</td><td>ovo</td><td>✅</td></tr><tr><td>BRI: Virtual account（IDR🇮🇩）</td><td>bri_bank</td><td>✅</td></tr><tr><td>BNI: Virtual account（IDR🇮🇩）</td><td>bni_bank</td><td>✅</td></tr><tr><td>Permata: Virtual Account（IDR🇮🇩）</td><td>permata_bank</td><td>✅</td></tr><tr><td>Mandiri: Virtual Account（IDR🇮🇩）</td><td>mandiri_bank</td><td>✅</td></tr></tbody></table>

> <mark style="background-color:red;">💡 Important to know</mark>

<mark style="color:purple;">**\***</mark> <mark style="color:$info;">Not every bank facilitates crypto payments. To find out if your bank card allows crypto transactions, it's best to check directly with your bank.</mark>\
\ <mark style="color:purple;">**\*\***</mark> <mark style="color:$info;">Supported with the following currencies: AED, BGN, CAD, CHF, COP, CZK, DKK, EUR, GBP, HKD, ILS, KZT, MXN, NOK, NZD, PEN, PLN, QAR, RON, SEK, SGD, TWD, USD, etc. If you do not see Apple Pay or Google Pay as a payment option with the above currencies during the checkout process, then it is not available in your region at the moment.</mark>

<mark style="color:purple;">**\*\*\***</mark>**&#x20;PayPal（EUR🇪🇺）**<mark style="color:$info;">is available in Europe, including EU/EEA countries.</mark>

<mark style="color:purple;">**\*\*\***</mark>**&#x20;Cash App Pay（USD🇺🇸**） <mark style="color:$info;">is available in the United States, excluding New York State.</mark>\
\ <mark style="color:purple;">**\*\*\***</mark> **SEPA Bank Transfer** <mark style="color:$info;">is available in the following countries: Germany, Netherlands, Portugal, Ireland, Spain, France, Austria, Poland, Latvia, Belgium, Hungary, Lithuania, Romania, etc.</mark>\
\ <mark style="color:purple;">**\*\*\*\***</mark> **Revolut Pay** <mark style="color:$info;">is supported with the following currencies: AED, AUD, BGN, CAD, CHF, COP, CZK, DKK, EUR, GBP, HKD, HUF, ILS, INR, ISK, JPY, KRW, MXN, NOK, NZD, PHP, PLN, QAR, RON, SEK, SGD, THB, TRY, USD, ZAR, etc.</mark>

{% hint style="success" %}
For supported values and detailed behavior, refer to the [Integration](/landing/start/developers/integration#url-parameters) Payments Link support preset `payment_method` and `fix_payment_method` parameters, allowing developers to enforce channel-specific payment flows and optimize payment success rates.
{% endhint %}


# Fiat currencies

Supported Fiat Currencies — dynamically updated.

{% hint style="warning" %}
For unsupported countries or regions, both CoindPay and our service partners implement geolocation-based blocking and interception at key touchpoints such as the website and checkout. All users and merchants are required to strictly comply with [<mark style="color:$primary;">**CoindPay AML/CTF Policy**</mark>](https://coindpay.xyz/user/policy) and conduct business activities in full accordance with applicable regulations.
{% endhint %}

{% hint style="info" %}
The minimum and maximum amounts for each fiat currency may vary with exchange rate fluctuations and are provided for reference only [Payment metrics](/landing/start/customers/payment-metrics#no-kyc)
{% endhint %}

{% hint style="danger" icon="badge-dollar" %}
Limits vary by payment method and fiat currency. Please always check the real-time limits shown at checkout. Public APIs providing **fiat limits and payment methods**, please refer to [Global Config](/landing/start/developers/global-config)
{% endhint %}

<table><thead><tr><th width="83.34283447265625">Flag</th><th width="101.35064697265625">Symbol</th><th width="162.3822021484375">Currency</th><th width="111.81689453125">Payments</th><th width="249.8536376953125">Payments Limits (≈Min ~ Max)</th><th width="122.875">On-Ramps</th><th width="129.6171875">Off-Ramps</th></tr></thead><tbody><tr><td>🇺🇸</td><td>USD</td><td>US Dollar</td><td>✅</td><td>1 ~ 50000</td><td>✅</td><td>✅</td></tr><tr><td>🇪🇺</td><td>EUR</td><td>Euro</td><td>✅</td><td>10 ~ 15000</td><td>✅</td><td>✅</td></tr><tr><td>🇦🇪</td><td>AED</td><td>UAE Dirham</td><td>✅</td><td>60 ~ 63987.79</td><td>✅</td><td></td></tr><tr><td>🇦🇱</td><td>ALL</td><td>Albanian Lek</td><td>✅</td><td>1842.34 ~ 1381749.85</td><td>✅</td><td></td></tr><tr><td>🇦🇲</td><td>AMD</td><td>Armenian Dram</td><td>✅</td><td>8467.19 ~ 6350389.07</td><td>✅</td><td></td></tr><tr><td>🇦🇷</td><td>ARS</td><td>Argentine Peso</td><td>✅</td><td>35034.25 ~ 26275684.49</td><td>✅</td><td></td></tr><tr><td>🇦🇺</td><td>AUD</td><td>Australian Dollar</td><td>✅</td><td>20 ~ 24188.33</td><td>✅</td><td></td></tr><tr><td>🇦🇿</td><td>AZN</td><td>Azerbaijani Manat</td><td>✅</td><td>38.9 ~ 19898.4</td><td>✅</td><td></td></tr><tr><td>🇧🇬</td><td>BGN</td><td>Bulgarian Lev</td><td>✅</td><td>13.69 ~ 29337.45</td><td>✅</td><td></td></tr><tr><td>🇧🇭</td><td>BHD</td><td>Bahraini Dinar</td><td>✅</td><td>3.09 ~ 4418</td><td>✅</td><td></td></tr><tr><td>🇧🇳</td><td>BND</td><td>Brunei Dollar</td><td>✅</td><td>10.45 ~ 14922.9</td><td>✅</td><td></td></tr><tr><td>🇧🇷</td><td>BRL</td><td>Brazilian Real</td><td>✅</td><td>50 ~ 88314.17</td><td>✅</td><td></td></tr><tr><td>🇧🇼</td><td>BWP</td><td>Botswana Pula</td><td>✅</td><td>311.34 ~ 233504.98</td><td>✅</td><td></td></tr><tr><td>🇨🇦</td><td>CAD</td><td>Canadian Dollar</td><td>✅</td><td>20 ~ 24061.73</td><td>✅</td><td></td></tr><tr><td>🇨🇭</td><td>CHF</td><td>Swiss Franc</td><td>✅</td><td>10 ~ 13847.24</td><td>✅</td><td></td></tr><tr><td>🇨🇱</td><td>CLP</td><td>Chilean Peso</td><td>✅</td><td>24000 ~ 6000000</td><td>✅</td><td></td></tr><tr><td>🇨🇴</td><td>COP</td><td>Colombian Peso</td><td>✅</td><td>74568.44 ~ 55926326.39</td><td>✅</td><td></td></tr><tr><td>🇨🇿</td><td>CZK</td><td>Czech Koruna</td><td>✅</td><td>250 ~ 362984.67</td><td>✅</td><td></td></tr><tr><td>🇩🇰</td><td>DKK</td><td>Danish Krone</td><td>✅</td><td>75 ~ 112135.54</td><td>✅</td><td></td></tr><tr><td>🇩🇴</td><td>DOP</td><td>Dominican Peso</td><td>✅</td><td>1339.41 ~ 1004551.96</td><td>✅</td><td></td></tr><tr><td>🇬🇧</td><td>GBP</td><td>British Pound</td><td>✅</td><td>10 ~ 12890.99</td><td>✅</td><td>✅</td></tr><tr><td>🇬🇪</td><td>GEL</td><td>Georgian Lari</td><td>✅</td><td>60.04 ~ 45026.48</td><td>✅</td><td></td></tr><tr><td>🇬🇭</td><td>GHS</td><td>Ghanaian Cedi</td><td>✅</td><td>264.13 ~ 198092.69</td><td>✅</td><td></td></tr><tr><td>🇭🇰</td><td>HKD</td><td>Hong Kong Dollar</td><td>✅</td><td>100 ~ 136612.56</td><td>✅</td><td></td></tr><tr><td>🇭🇺</td><td>HUF</td><td>Hungarian Forint</td><td>✅</td><td>7224.45 ~ 5418331.3</td><td>✅</td><td></td></tr><tr><td>🇮🇩</td><td>IDR</td><td>Indonesian Rupiah</td><td>✅</td><td>175000 ~ 307440049.2</td><td>✅</td><td></td></tr><tr><td>🇮🇱</td><td>ILS</td><td>Israeli New Shekel</td><td>✅</td><td>70.01 ~ 52503.88</td><td>✅</td><td></td></tr><tr><td>🇮🇳</td><td>INR</td><td>Indian Rupee</td><td>✅</td><td>2196.06 ~ 1647039.45</td><td>✅</td><td></td></tr><tr><td>🇮🇸</td><td>ISK</td><td>Icelandic Krona</td><td>✅</td><td>2869 ~ 2151025</td><td>✅</td><td></td></tr><tr><td>🇯🇴</td><td>JOD</td><td>Jordanian Dinar</td><td>✅</td><td>16.23 ~ 12165.74</td><td>✅</td><td></td></tr><tr><td>🇯🇵</td><td>JPY</td><td>Japanese Yen</td><td>✅</td><td>2000 ~ 2722180</td><td>✅</td><td></td></tr><tr><td>🇰🇪</td><td>KES</td><td>Kenyan Shilling</td><td>✅</td><td>2955.3 ~ 2216472.53</td><td>✅</td><td></td></tr><tr><td>🇰🇬</td><td>KGS</td><td>Kyrgyzstani Som</td><td>✅</td><td>1998.93 ~ 1499194.94</td><td>✅</td><td></td></tr><tr><td>🇰🇭</td><td>KHR</td><td>Cambodian Riel</td><td>✅</td><td>32798.6 ~ 46855141.5</td><td>✅</td><td></td></tr><tr><td>🇰🇷</td><td>KRW</td><td>South Korean Won</td><td>✅</td><td>31263 ~ 23447026</td><td>✅</td><td></td></tr><tr><td>🇰🇿</td><td>KZT</td><td>Kazakhstani Tenge</td><td>✅</td><td>10761.83 ~ 8071372.46</td><td>✅</td><td></td></tr><tr><td>🇱🇰</td><td>LKR</td><td>Sri Lankan Rupee</td><td>✅</td><td>7689 ~ 5766746.64</td><td>✅</td><td></td></tr><tr><td>🇱🇸</td><td>LSL</td><td>Lesotho Loti</td><td>✅</td><td>376.83 ~ 282617.13</td><td>✅</td><td></td></tr><tr><td>🇲🇩</td><td>MDL</td><td>Moldovan Leu</td><td>✅</td><td>139.96 ~ 199946.4</td><td>✅</td><td></td></tr><tr><td>🇲🇽</td><td>MXN</td><td>Mexican Peso</td><td>✅</td><td>200 ~ 294251.16</td><td>✅</td><td></td></tr><tr><td>🇲🇿</td><td>MZN</td><td>Mozambican Metical</td><td>✅</td><td>1464.43 ~ 1098320.97</td><td>✅</td><td></td></tr><tr><td>🇲🇾</td><td>MYR</td><td>Malaysian Ringgit</td><td>✅</td><td>93.94 ~ 70451.61</td><td>✅</td><td></td></tr><tr><td>🇳🇦</td><td>NAD</td><td>Namibian Dollar</td><td>✅</td><td>376.83 ~ 282617.13</td><td>✅</td><td></td></tr><tr><td>🇳🇬</td><td>NGN</td><td>Nigerian Naira</td><td>✅</td><td>31566.66 ~ 23674989.75</td><td>✅</td><td></td></tr><tr><td>🇳🇴</td><td>NOK</td><td>Norwegian Krone</td><td>✅</td><td>100 ~ 165633.1</td><td>✅</td><td></td></tr><tr><td>🇳🇿</td><td>NZD</td><td>New Zealand Dollar</td><td>✅</td><td>25 ~ 29309</td><td>✅</td><td></td></tr><tr><td>🇴🇲</td><td>OMR</td><td>Omani Rial</td><td>✅</td><td>3.15 ~ 4500.7</td><td>✅</td><td></td></tr><tr><td>🇵🇪</td><td>PEN</td><td>Peruvian Sol</td><td>✅</td><td>77.7 ~ 58269.02</td><td>✅</td><td></td></tr><tr><td>🇵🇭</td><td>PHP</td><td>Philippine Peso</td><td>✅</td><td>750 ~ 1058424.32</td><td>✅</td><td></td></tr><tr><td>🇵🇱</td><td>PLN</td><td>Polish Zloty</td><td>✅</td><td>50 ~ 65039.91</td><td>✅</td><td></td></tr><tr><td>🇵🇾</td><td>PYG</td><td>Paraguayan Guarani</td><td>✅</td><td>52506.67 ~ 75009532.9</td><td>✅</td><td></td></tr><tr><td>🇶🇦</td><td>QAR</td><td>Qatari Riyal</td><td>✅</td><td>50 ~ 62458.78</td><td>✅</td><td></td></tr><tr><td>🇷🇴</td><td>RON</td><td>Romanian Leu</td><td>✅</td><td>50 ~ 78628.81</td><td>✅</td><td></td></tr><tr><td>🇷🇸</td><td>RSD</td><td>Serbian Dinar</td><td>✅</td><td>821.54 ~ 1173635.2</td><td>✅</td><td></td></tr><tr><td>🇸🇦</td><td>SAR</td><td>Saudi Riyal</td><td>✅</td><td>50 ~ 65338.12</td><td>✅</td><td></td></tr><tr><td>🇸🇪</td><td>SEK</td><td>Swedish Krona</td><td>✅</td><td>125 ~ 165597.57</td><td>✅</td><td></td></tr><tr><td>🇸🇬</td><td>SGD</td><td>Singapore Dollar</td><td>✅</td><td>20 ~ 22076.73</td><td>✅</td><td></td></tr><tr><td>🇹🇭</td><td>THB</td><td>Thai Baht</td><td>✅</td><td>400 ~ 576893.57</td><td>✅</td><td></td></tr><tr><td>🇹🇯</td><td>TJS</td><td>Tajikistani Somoni</td><td>✅</td><td>211.5 ~ 158619.03</td><td>✅</td><td></td></tr><tr><td>🇹🇲</td><td>TMT</td><td>Turkmenistani Manat</td><td>✅</td><td>80.23 ~ 60170.77</td><td>✅</td><td></td></tr><tr><td>🇹🇷</td><td>TRY</td><td>Turkish Lira</td><td>✅</td><td>600 ~ 809478.02</td><td>✅</td><td></td></tr><tr><td>🇹🇼</td><td>TWD</td><td>New Taiwan Dollar</td><td>✅</td><td>500 ~ 552087.84</td><td>✅</td><td></td></tr><tr><td>🇺🇦</td><td>UAH</td><td>Ukrainian Hryvnia</td><td>✅</td><td>355.96 ~ 764768.45</td><td>✅</td><td></td></tr><tr><td>🇺🇾</td><td>UYU</td><td>Uruguayan Peso</td><td>✅</td><td>919.89 ~ 689914.65</td><td>✅</td><td></td></tr><tr><td>🇺🇿</td><td>UZS</td><td>Uzbekistani Som</td><td>✅</td><td>274800.77 ~ 206100577.09</td><td>✅</td><td></td></tr><tr><td>🇻🇳</td><td>VND</td><td>Vietnamese Dong</td><td>✅</td><td>300000 ~ 453720509</td><td>✅</td><td></td></tr><tr><td>🇨🇫</td><td>XAF</td><td>Central African CFA Franc</td><td>✅</td><td>13120 ~ 9839357</td><td>✅</td><td></td></tr><tr><td>🇸🇳</td><td>XOF</td><td>West African CFA Franc</td><td>✅</td><td>13120 ~ 9839374</td><td>✅</td><td></td></tr><tr><td>🇿🇦</td><td>ZAR</td><td>South African Rand</td><td>✅</td><td>200 ~ 282617.13</td><td>✅</td><td></td></tr></tbody></table>


# Fiat payments

Example: dev environment, only for effect display

🎥 👇&#x20;

{% file src="/files/ckFjq4sRV5naX9Bba90N" %}

<div data-with-frame="true"><figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2F8kC81K1oeCV8rZNolItE%2Fcover_20260401.jpg?alt=media&amp;token=e236e090-76fb-47d1-899f-4b26394ca3f3" alt=""><figcaption></figcaption></figure></div>

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2F6Zlh0WuYep8f7iwO1Qj3%2Fimage.png?alt=media&amp;token=280f1b3a-6d76-4b1a-8c09-7442d98a295a" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FQUzzPAqYqTYUXeyghLav%2F808f40b454f7ddcd6f738da301e76dd1.png?alt=media&amp;token=ff744e9c-add1-4c9f-a785-4df871c49db6" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FrtAryLlblE4U3Me5xLDT%2F2026-08-21%2009.18.18.jpg?alt=media&amp;token=51c1756c-95e7-4951-87da-59d8a92689c9" alt=""><figcaption></figcaption></figure>

> **Example:** An official merchant payment link (checkout entry). \
> For demo purposes only—no need to complete the payment.

<https://coindpay.xyz/pay/link/PHwsqv5yNYMEeQ-l46o3O>

### Single payment

```typescript
Charge a one-time fee
```

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FNSIlUSN4XygK5WNsIj8B%2F20251022003507_rec_-convert.gif?alt=media&amp;token=770a86a3-5bdb-4da1-ac3c-56da38d8dd15" alt=""><figcaption></figcaption></figure>

<div><figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FHCGyRDHHCYYEobolxGDB%2Ftelegram-cloud-photo-size-5-6138709186544602701-w.jpg?alt=media&amp;token=f4f0b59b-9e93-4f27-ae74-a3523e269914" alt=""><figcaption></figcaption></figure> <figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FlosHr4Cspxi3M3vuoCux%2Fad1fa820be6cf15e0dfd1011641f440f.png?alt=media&amp;token=975cbcbf-e526-4045-a020-f29d7672621b" alt="" width="563"><figcaption></figcaption></figure></div>

### Subscription

```typescript
Charge an ongoing fee
```

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FJSwtPy10juOGCLlChgQn%2Fimage.png?alt=media&amp;token=5844ffc2-fdbb-4dc5-8da2-515b5e0b02fe" alt=""><figcaption></figcaption></figure>

> Dashboard

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FWmhZZV4QeHJDCmBb8lBT%2F06b8f1c94aed2131a4ea523d2c7d87e4.png?alt=media&amp;token=9db695a2-c010-4d93-b182-6982d0f26317" alt=""><figcaption></figcaption></figure>


# Fiat/Crypto payments

Supports both fiat and crypto

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FqMQdIXi53GPglmwJ98hL%2Fimage.png?alt=media&amp;token=5ea75023-7791-4a42-b523-e4c789c2bf34" alt=""><figcaption></figcaption></figure>

> **Example:** An official merchant payment link (checkout entry). \
> For demo purposes only—no need to complete the payment.

<https://coindpay.xyz/pay/link/vVKAsfomepqD0fstx9bdE>

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FSM2q04nfIgyREltaryRt%2Fimage.png?alt=media&amp;token=881423d0-d61e-4267-af63-73ba1b2de684" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FrNRB3uXlTSXui9jJ8XFc%2Fimage.png?alt=media&amp;token=51043837-7ba0-49e7-ad3e-4bc853154bec" alt=""><figcaption></figcaption></figure>


# Crypto payments

{% hint style="info" %}

#### Current crypto pay-in limits are **1–50,000** in stablecoins (or equivalent in other crypto currencies).

{% endhint %}

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FmhYjfoKYIrjp7V6paNJM%2Fimage.png?alt=media&amp;token=fc758004-bdcb-4873-84fb-caa01c401ebb" alt=""><figcaption></figcaption></figure>

> E**xample:** An official merchant payment link (checkout entry). \
> For demo purposes only—no need to complete the payment.

<https://coindpay.xyz/pay/link/nSPONbtg19ZNBAKKBA_Zu>

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2F3C2c5hWQslE91WvrPz5s%2Fimage.png?alt=media&amp;token=eefe0828-6721-4433-b74c-2b8aff26bb43" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FrNRB3uXlTSXui9jJ8XFc%2Fimage.png?alt=media&amp;token=51043837-7ba0-49e7-ad3e-4bc853154bec" alt=""><figcaption></figcaption></figure>


# On/Off-Ramps

Buy/Sell Crypto（On/Off-Ramps for Funds）

> CoindPay Wallet

Buy and sell crypto. Seamlessly. In seconds. With no-to-low fees. All with CoindPay.

The wallet has built-in modules such as Asset Tokens Portfolios and Transactions, Funds, etc. for a one-stop view of the assets and flow of assets in the tied account and other accounts.

### On-Ramps

<https://coindpay.xyz/wallet?crypto=buy>

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FHCGyRDHHCYYEobolxGDB%2Ftelegram-cloud-photo-size-5-6138709186544602701-w.jpg?alt=media&amp;token=f4f0b59b-9e93-4f27-ae74-a3523e269914" alt=""><figcaption></figcaption></figure>

### Off-Ramps

<https://coindpay.xyz/wallet?crypto=sell>


# Developers

## Overflow

A REST service endpoint is a set of REST resources that provides services to endpoints. We provide various endpoints for fetching info of all available payments/order status and more.

<figure><img src="https://docs.onramp.money/onramp/~gitbook/image?url=https%3A%2F%2F2429027697-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FLjGi8TfFqGtUxIX4Qv76%252Fuploads%252FWx6hnb8eD2XKxvyYSuBv%252F4.%2520Rest%2520API.png%3Falt%3Dmedia%26token%3D95eb7d5a-19e6-49c4-841d-df62b316144c&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=9c127f82&#x26;sv=2" alt=""><figcaption></figcaption></figure>

## Environment

### Testnet

`App`  [https://test.coindpay.xyz](https://test.coindpay.xyz/)

`API`  [https://test-api.coindpay.xyz](https://test-api.coindpay.xyz/)

### Prod

`App`  [https://coindpay.xyz](https://coindpay.xyz/)

`API`  [https://api.coindpay.xyz](https://api.coindpay.xyz/)

{% hint style="info" %}

#### Quick Integration into your application [Integration](/landing/start/developers/integration)&#x20;

{% endhint %}


# Integration

CoindPay provides a universal payment experience, enabling businesses to accept and complete payments across websites, mobile apps, e-commerce checkouts, SaaS platforms, and digital portals.

## Environment

### Testnet

`App`  [https://test.coindpay.xyz](https://test.coindpay.xyz/) （ <mark style="background-color:$danger;">Integration & Debugging</mark> ）

Core steps: register merchants, manage payments, bind settlement wallets, configure webhooks, and integrate the merchant order flow end-to-end > [test.coindpay.xyz/account/payouts](https://test.coindpay.xyz/account/payouts)

Subscription-type Payments Links require contacting our team（ [@CoindPay](https://x.com/CoindPay) or collaboration group ）to whitelist static IPs and configure the necessary sandbox permissions.

Other payment types and business scenarios remain publicly available and open by default.

You can check your current IP at [https://whatismyipaddress.com](https://whatismyipaddress.com/)  VPN may affect your outbound IP.

### Prod

`App`  [https://coindpay.xyz](https://coindpay.xyz/) （ <mark style="background-color:$danger;">Production Business & KYB Required</mark> ）

* **Payments** support **USDT/USDC** on **EVM** and **SVM** networks [/pages/WuOkyhKpbCvravr9fOhh#id-2.-payout-assets](https://docs.coindpay.xyz/landing/start/developers/pages/WuOkyhKpbCvravr9fOhh#id-2.-payout-assets "mention")\
  Please confirm that your **connected wallet** matches the correct network in your account settings.
* **On/Off-ramps** support **100+ assets** across **30+ networks** for large-volume **buy and sell crypto** transactions. When creating ramp orders, ensure that your selected asset type matches the corresponding wallet address.
* Wallet configuration is fully flexible — developers can specify either an **EVM** or **SVM** address as the payout primary wallet > [coindpay.xyz/account/payouts](https://coindpay.xyz/account/payouts)

## 1. Create Account

Before using CoindPay, you need to create an account. This account serves as a **unified identity** for both your developer role and merchant enterprise.

Visit the CoindPay website and choose one of the account creation methods:

* **Social Account**
  * Supported social login providers (e.g. Google, X, etc.)
* **Wallet**
  * **EVM wallet** (Ethereum-compatible chains)
  * **SVM wallet** (Solana)

> <mark style="background-color:purple;">Note: Even if you sign up using a social account, you will still be required to bind a payout wallet to complete</mark> <mark style="background-color:red;">**and enable payments.**</mark>

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2F5ytfRBndmoPTPxWl4JJS%2Fimage.png?alt=media&amp;token=b0bfe732-edfd-4621-b750-d9cccfdebbf0" alt=""><figcaption></figcaption></figure>

> 💡 Once your account is created, you will have a unified merchant identity to manage Payments Links, track orders, and manage team members.

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FCcPD9FdYCqEutIFXjrDh%2Fimage.png?alt=media&amp;token=3faa1b4c-c3a9-4796-aa98-6c09c7a2e251" alt=""><figcaption></figcaption></figure>

## 2. Create Payments

A Payments Link is a convenient way to collect payments. You can generate a link and share it with customers or embed it into your applications.

{% hint style="warning" %}
If merchant KYB compliance is not completed, users will be prompted to complete the KYB onboarding and compliance review. The prompt is triggered via **More → Account profile** or during **Pay → Payments create**, with an onboarding modal.
{% endhint %}

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FXjDFkhPvw3hyaVU0ICWF%2Fimage.png?alt=media&amp;token=fcbf0086-b033-4289-b8d6-da33ac5ecc5c" alt=""><figcaption></figcaption></figure>

#### Option 1: Few Products（No-code）

If you have a small number of products:

1. Create a **Payments Link** and provide the necessary form information at once.
2. Share the link with your customers or embed it in your website/app.

> Designed for no-code integration, for creators or merchants avoiding custom development.

#### Option 2: Many Products（Dynamic）

If you have many products or need dynamic payment links:

1. Create a **Payments Link**&#x20;
2. Dynamically append parameters to generate **unlimited dynamic Payments Links**.
3. Share or embed these links into your applications or product flows.

{% hint style="info" %}

1. All Payments Links support dynamic parameter appending only for the parameters listed in the table below.&#x20;
2. All other settings, such as payment methods, subscription type, and additional options, must be selected and configured directly in the payments form.
   {% endhint %}

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2F6Zlh0WuYep8f7iwO1Qj3%2Fimage.png?alt=media&amp;token=280f1b3a-6d76-4b1a-8c09-7442d98a295a" alt=""><figcaption></figcaption></figure>

## 3. Multiple integrations

### URL Parameters

You can extend the embedded checkout link by appending parameters to the URL.\
This is especially useful when you want to dynamically pass metadata such as product title, description, price, images or others.

<table><thead><tr><th width="224.201171875">Parameter</th><th>Type</th><th width="268.258056640625">Description</th><th width="209.531005859375">Example</th></tr></thead><tbody><tr><td><code>merchant_transaction_id</code></td><td><code>string*</code></td><td><strong>Required.</strong> Unique Id for the order transaction generated by the merchant. Can be generated with <code>randomUUID()</code> to ensure uniqueness. The <code>rampId</code> is returned in webhook order payloads. corresponds to <code>rampId</code></td><td><code>merchant_transaction_id=550e8400-e29b-41d4-a716-446655440000</code></td></tr><tr><td><code>currency</code></td><td><code>string?</code></td><td>Effective only if included in the payment link’s supported currency list; otherwise defaults to the first configured currency.</td><td><code>currency=EUR</code></td></tr><tr><td><code>price</code></td><td><code>string?</code></td><td>Payment amount in the supported fiat or crypto currency format.<br><mark style="background-color:purple;"><strong>Lmimits #</strong></mark><a data-mention href="/landing/start/customers/fiat-currencies">Fiat currencies</a></td><td><code>price=29.99</code></td></tr><tr><td><code>signature</code></td><td><code>string?</code></td><td>HMAC-SHA256 hex signature generated with the merchant secret key; <strong>Required</strong> if a custom price is provided.</td><td><code>signature=b95df8938****9fgk56</code></td></tr><tr><td><code>title</code></td><td><code>string?</code></td><td>The product or payment title displayed on the checkout page.</td><td><code>title=Hello</code>  </td></tr><tr><td><code>desc</code></td><td><code>string?</code></td><td>A short description of the product or service.</td><td><code>desc=Text</code></td></tr><tr><td><code>images</code></td><td><code>array?</code></td><td>A list of image objects to display in the checkout interface.</td><td><code>images=[{"url":"https://cdn.example.com/item.jpg"}]</code></td></tr><tr><td><code>name</code></td><td><code>string?</code></td><td>Pre-filled consumer name (≤120 characters)</td><td><code>name=Elon Musk</code></td></tr><tr><td><code>email</code></td><td><code>string?</code></td><td>Pre-fill the customer's email in the checkout form.</td><td><code>email=user@example.com</code></td></tr><tr><td><code>payment_method</code></td><td><code>string?</code></td><td>optional. Fiat payments only. If not specified, all payment methods supported for the selected currency will be returned. If specified, the method will be automatically preselected at checkout.<br>Supported values include <code>card</code>, <code>google</code>, <code>apple</code>, <code>cashapp</code>, <code>revolut_pay</code>, <code>paypal</code>  and others payment methods. Refer to <a data-mention href="/landing/start/customers/payment-methods">Payment methods</a> for the full and up-to-date list.</td><td><code>payment_method=cashapp</code></td></tr><tr><td><code>fix_payment_method</code></td><td><code>boolean?</code></td><td>Locks the selected <code>payment_method</code> and prevents changes during checkout. Recommended for channel-specific flows (e.g. iOS) to optimize conversion and payment success.</td><td><code>fix_payment_method=true</code></td></tr><tr><td><code>redirect_url</code></td><td><code>string?</code></td><td>Redirect URL to which the user is redirected after passing the payments or ramps scenes; We recommend using the <strong>default checkout exit flow</strong> rather than redirecting via <code>redirect_url</code>. redirect urls are subject to <strong>risk and compliance monitoring</strong>, and high-risk or non-compliant destinations may affect <strong>merchant account health</strong>.</td><td><code>redirect_url=https://coindpay.xyz/wallet</code></td></tr><tr><td><mark style="background-color:yellow;">more</mark></td><td></td><td>Please contact our Devs team for dynamic updates.</td><td></td></tr></tbody></table>

{% hint style="info" %}

#### **Checkout Tips**

*<mark style="background-color:red;">?</mark> The value is optional, <mark style="background-color:red;">\*</mark> the value is required.*\
Non-authentic product or consumer information, such as `title`, `email`, and `desc`, is not required to be provided.

1. **merchant\_transaction\_id**

* The `merchant_transaction_id` is **required**.
* Orders may transition through multiple statuses, but all remain tied to the same `merchant_transaction_id`
* Separate or recurring orders generate **distinct `merchant_transaction_id`** values.
* Use `randomUUID()`  or other encrypted Id libraries to generate a **unique Id** for each transaction to avoid duplicates.
* `merchant_transaction_id` serves as an alias for `rampId`. The `rampId` is returned in webhook order payloads.
* If not provided, it will **not cause an error**, but you may lose the ability to reliably **track the order** or **query its status** via this Id.

2. **email**

* Ensure the pre-submitted email matches the one used in subsequent order flows.
* The email should be a **user’s email address obtained in advance**.
* If the email is in a valid format, it will be **automatically pre-filled** in the checkout form.
* If unsure, request the user to **manually enter their email** to prevent mismatches.

3. **price**

* When the `price` routing parameter is enabled, configure the product’s **Amount Type** as **Fixed Amount**.
* The **Random Amount** option is intended for tipping or donation scenarios and is **not controlled** by the `price` parameter.
* When `price` is **not provided**, the payment Link will use the amount configured in the merchant dashboard.
* When `price` **is provided in the URL**, it is treated as **dynamic input** and **must be protected by a signature**.
* Any modification to the `price` value without a valid signature will result in the Payment Link being marked as **invalid**.

4. **signature**

* The `signature` parameter is conditionally required.
* f `price` is **present**, a valid `signature` **must** be generated and included.
* If `price` is **absent**, `signature` is optional.
* The signature cryptographically binds the request parameters to the merchant and prevents client-side tampering.

5. **currency**

* The `currency` routing parameter is optional.

* Please ensure the provided `currency` is supported in the payment link currency configuration,  passing an unconfigured currency will be ignored.

* [x] Multiple Fiat Currencies ( **USD-pegged Disabled** )

- The product link resolves to either the **first configured currency** or the **developer-provided `currency` parameter** (must match one of the enabled currencies).
- Client-side currency switching is **disabled**; only the resolved currency is used.

* [x] Multiple Fiat Currencies **( USD-pegged Enabled )**

- The product link resolves to either the **first configured currency** or the **developer-provided `currency` parameter** (must exist in the enabled list).
- End users may freely switch between all enabled currencies.
- Amounts remain **anchored to USD**, with conversions applied automatically using **real-time FX rates**.

6. **USD-pegged**

* **Default:** USD-pegged is **disabled**. the **amount remains uniform** and can be controlled via the `price` parameter.
* When **USD-pegged** is enabled:
  * All selected fiat currencies are automatically **pegged to USD**.
  * Settlement amounts are calculated **in real time** based on current FX rates.
    {% endhint %}

### Code for Checkout

```typescript
import { createHmac } from 'crypto'

export function createHmacSignature(secret: string, data: string): string {
  return createHmac('sha256', secret).update(data).digest('hex')
}
```

{% code lineNumbers="true" %}

```typescript
import { randomUUID } from 'crypto'

const paymentLink = 'xxx'  // The payment link created by the merchant in Step 2

const merchant_transaction_id = randomUUID() || 'Your Custom Order Id'

export interface priceSignaturePayload {
  merchant_transaction_id: string
  price: string
}

export function canonicalizePriceSignaturePath(payload: priceSignaturePayload): string {
  return `merchant_transaction_id=${payload?.merchant_transaction_id}&price=${payload?.price}`
}

// secretKey: The merchant/developer’s API Secret from the dashboard integration webhooks.
const secretKey = YOUR_MERCHANT_API_SECRET

// Merchant payment link signature（If price is included in the URL）
export function signCheckoutPriceSignature(payload: priceSignaturePayload): string {
  const canonical = canonicalizePriceSignaturePath(payload)
  return createHmacSignature(secretKey, canonical)
}

// Render to your dynamic product link params
const paramsData = {
  merchant_transaction_id,  // 'xxx-123456',
  title: 'Your product title', // 
  desc: 'Your product desc',
  price: 19.99,
  signature: 'xxx', // signCheckoutPriceSignature('your price payload')
  email: 'your_customers@domain.com'
})

export function getEncodeCheckoutUrl(
  link: string,
  queryData?: Record<string, any>
): string {
  const url = new URL(link)

  Object.entries(queryData || {}).forEach(([key, value]) => {
    if (value === undefined || value === null) return
    url.searchParams.set(
      key,
      typeof value === 'object' ? JSON.stringify(value) : String(value)
    )
  })

  return url.toString()
}


const url = getEncodeCheckoutUrl(paymentLink, paramsData)

// you can preview this url
console.log('url', url)
```

{% endcode %}

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FZlSZBzZ6GJMLOMK92uVC%2Fimage.png?alt=media&amp;token=bd164636-9cc1-41d7-851e-94a74a9028be" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FrtAryLlblE4U3Me5xLDT%2F2026-08-21%2009.18.18.jpg?alt=media&amp;token=51c1756c-95e7-4951-87da-59d8a92689c9" alt=""><figcaption></figcaption></figure>

<https://coindpay.xyz/pay/link/vVKAsfomepqD0fstx9bdE?name=Jason&email=consumer@coindpay.xyz>\
\ <mark style="background-color:$danger;">Note: the actual checkout URL must include the</mark> <mark style="background-color:$danger;"></mark><mark style="background-color:$danger;">`merchant_transaction_id`</mark> <mark style="background-color:$danger;"></mark><mark style="background-color:$danger;">parameter.</mark>

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FNSIlUSN4XygK5WNsIj8B%2F20251022003507_rec_-convert.gif?alt=media&amp;token=770a86a3-5bdb-4da1-ac3c-56da38d8dd15" alt=""><figcaption></figcaption></figure>

> Example: Quick payment methods limited to iOS channels

<https://coindpay.xyz/pay/link/vVKAsfomepqD0fstx9bdE?payment_method=apple&fix_payment_method=true><br>

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FBI6xwiT7U9CRAD1VnooM%2Fimage.png?alt=media&amp;token=5989e0ba-6211-44b3-b14a-8eb012c15af1" alt=""><figcaption></figcaption></figure>

### ① Web

{% hint style="info" %}
E-commerce checkouts, SaaS dashboards, or any web-based payment page.
{% endhint %}

#### 1. Embed via iFrame

> Native HTML styles can be customized as needed.

You can freely customize the surrounding HTML, container styles, and transitions using TailwindCSS or your preferred styling approach.

```typescript
// React component + TailwindCSS

const yourCustomName = '', yourCustomStyle = {}

const onIframeLoad = ()=> {} // If some scenes for iframe loading success

<iframe
  src={url}
  allowFullScreen
  sandbox="allow-scripts allow-same-origin allow-popups allow-forms allow-popups-to-escape-sandbox allow-top-navigation-by-user-activation"
  allow="camera; microphone; geolocation; fullscreen; accelerometer; autoplay; clipboard-write; clipboard-read; payment; gyroscope; encrypted-media; picture-in-picture"
  className={yourCustomName}
  style={yourCustomStyle}
  onLoad={onIframeLoad}
/>
```

#### **2. Redirect to Payment Page**

> Customize your content area (Button, image, etc.) style, redirect or open new tab.

```html
<a href={url} target="_blank">
  Pay with CoindPay
</a>
```

{% hint style="info" %}
**Highlights:**

* ✅ No SDK required
* ✅ Instant integration
* ✅ Dynamic data and ui adaptation
  {% endhint %}

### ② Mobile App

{% hint style="info" %}
iOS / Android / React Native / Flutter apps that need to embed or redirect to a payment flow.
{% endhint %}

#### WebView Embed

```typescript
// React Native example

<WebView source={{ uri: url }} />
```

### White-label Checkout

Personalized parameters such as `payment_method`, `fixed_payment_method` can be used to initialize the frontend checkout experience and directly launch the CoindPay checkout interface, making it well-suited for developer merchants seeking a more native and streamlined checkout experience.

For example, merchants can use these parameters to enable or restrict the checkout experience to specific payment methods, such as **Apple Pay** or **Cash App Pay**, based on their integration requirements.

{% hint style="danger" icon="badge-dollar" %}
**Example:** To display only **Cash App Pay** in the checkout:

*your\_payments\_link?payment\_method=cashapp*
{% endhint %}

<div data-with-frame="true"><figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2Fafrmjt3Z6KdG4DHm2u3J%2Fmoments_swiper_05.jpg?alt=media&amp;token=7f208ad3-2d9a-4383-901f-3adfa9f16752" alt=""><figcaption></figcaption></figure></div>

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FhMCIiH0fgxXLIMWunrXj%2F20260904164831_rec_-convert.gif?alt=media&amp;token=af6a5899-029d-4dff-94a8-ba9fee4a63de" alt=""><figcaption></figcaption></figure>

### Embedded mode

Whether to enable **Embedded** mode depends on the merchant developer’s integration approach.

**Suitable for iframe embedding**（Enabling embedded mode will hide basic payment link details, including merchant and product information, to provide a cleaner and more seamless embedded checkout experience）

{% hint style="danger" icon="badge-dollar" %}
**Directly opening the final checkout step:** When using Embedded mode, provide the actual consumer’s `email` address as a parameter in the checkout URL. A valid email address is required to automatically open the final checkout step. If the `email` parameter is missing or invalid, the checkout will not skip the email step, and the consumer will be prompted to enter their email address manually.

This information may be required for bank-level AML, fraud prevention, and transaction-frequency checks.

**Example:**  *your\_payments\_link?email=xxxx*
{% endhint %}

<div align="left"><figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FxMHm9cvUqZMPGO1v0hxB%2Fimage.png?alt=media&amp;token=2553d428-ad7d-4ea8-b8ea-7c616010e626" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FN9ZEN2KlWqRqyHJdwwng%2Fimage.png?alt=media&amp;token=37402fb4-8147-433e-a8e6-abd4c672e15a" alt=""><figcaption></figcaption></figure></div>

### Theme & Brand

Customize the checkout theme color, brand logo, and other branding elements.

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2F3xeeYxHihV1igWsfjCoJ%2Fimage.png?alt=media&amp;token=fa96193a-0246-4215-b763-95614649dee0" alt=""><figcaption></figcaption></figure>

## 4. Account & Webhooks

{% hint style="info" %}
Manage your account-related settings, including wallet bindings, event callback URLs, notifications, and developer or merchant information.
{% endhint %}

Go to **More → Account/Payouts** or **Integration/Webhooks** to view and manage your developer information, webhook endpoints, and related configurations.

### Wallet payouts

{% hint style="info" %}
When creating a payment link, merchants will be prompted to link a settlement wallet.&#x20;

This step is required for merchants using fiat pay-in and stablecoin or crypto pay-out flows.
{% endhint %}

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2F4cE4J8pc3zFDpUhAh117%2Fimage.png?alt=media&amp;token=fc5549a4-06c2-4511-bf89-9a3c96b10de2" alt=""><figcaption></figcaption></figure>

### Webhooks callback

Once your **Webhooks** are configured under **Developer Settings → Webhooks URLs**, CoindPay will automatically send webhook notifications to your specified endpoint whenever a payment event occurs (e.g., `completed`, `failed`, or `pending`).

Your server should handle these events, verify the request signature using your `API Secret` and update your own order database accordingly.

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FTUTYYMojwd7CrHJIWTus%2Fimage.png?alt=media&amp;token=e71fa761-728e-4388-8c03-ba1684fbf714" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
The following example code how to handle webhook order data in a `Next.js` API route.

⚠️  Merchants and developers should pay special attention to verifying the `x-signature` request header and securely managing the private `API Secret` found in your **Developer Webhooks** settings.

⚠️  The `API Secret` is used to validate the callback signature. When a transaction status changes, CoindPay sends a webhook request containing the transaction data.\
If you’re using callbacks, make sure to enable signature verification to ensure authenticity.

⚠️  To verify the signature, generate an HMAC SHA-256 hash using your `API Secret` and the **entire raw callback body** as input. Because the signature is generated based on the full payload, the request body must be used **exactly as received**, without any modification or parsing before signature verification.

⚠️  To avoid compatibility issues caused by data serialization differences across programming languages, please pay attention to how `rawBody` is handled in environments such as Node.js, Go, and Java.

⚠️  Before using webhooks and managing the order flow, ensure that your API secret has been generated and that it is correctly applied to the signature headers.
{% endhint %}

#### Local Debugging Mode

{% hint style="info" %}
If you are unable to open the checkout page due to network or connectivity issues, we also provide a **local debugging mode**. This allows you to effectively validate your **webhook api integration** and end-to-end **order flow**.
{% endhint %}

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FxFpugzPdQqm1oRMX3Xt8%2F20260309172410_rec_.gif?alt=media&amp;token=9174483e-7ebb-4178-8958-c8f39f75fd56" alt=""><figcaption></figcaption></figure>

> #### Below is a webhook API example based on <mark style="background-color:red;">Node (Next.js)</mark>
>
> <mark style="background-color:$primary;">Some code references</mark>[#code-with-parameters](#code-with-parameters "mention")

```typescript
// The unique ID from your front-end with the customers
const merchant_transaction_id = 'xxx' // See => Example with Parameters

// https://api.yourdomain.com/webhooks/payments/landing
import type { NextApiRequest, NextApiResponse } from 'next'
import getRawBody from 'raw-body'

// Refer to the utils code in the “Code with Parameters” ⬆️
import { createSignature } from '@/lib/utils' 

export const config = {
  api: {
    bodyParser: false, // ✅ Disable Next.js automatic body parsing
  },
}

export default async function landing(req: NextApiRequest, res: NextApiResponse) {
  if (req.method !== 'POST') {
    return res.status(405).json({ ok: false, message: 'Method not allowed ˙◠˙' })
  }
  
  try {
    const secretKey = process.env.COINDPAY_API_SECRET_KEY as string
    
    if (!secretKey) {
      throw new Error('Missing CoindPay API SECRET KEY in env ˙◠˙')
    }

    const signatureHeader = req.headers['x-signature'] as string

    if (!signatureHeader) {
      return res.status(400).json({
        ok: false,
        message: 'Invalid signature ˙◠˙',
      })
    }
    
    // 1. Retrieve the raw request body
    const rawBody = (await getRawBody(req)).toString('utf8')
    console.log('📦 raw body:', rawBody)
    
    // 2. Verify signature (must use rawBody for verification)
    const expectedSig = createSignature(secretKey, rawBody)

    if (signatureHeader !== expectedSig) {
      console.error(`🚫 x-signature mismatch:`, { expectedSig, got: signatureHeader })
      return res.status(401).json({ ok: false, message: 'Invalid signature ˙◠˙' })
    }
    
    // 3. Parse JSON payload after successful verification
    const data = JSON.parse(rawBody)
    console.log('💎 Parsed data:', data)
  
    if (!data || !data?.id) {
      return res.status(502).json({ ok: false, message: 'Invalid payment order ˙◠˙' })
    }
    
    console.log(`✅ CoindPay payment ${data?.id}-${data?.rampStatus} callback data：`, data)
    
    // post your order data to your db, create or poll for updates
    // const payment = await prisma.payment.upsert({
    //  where: { rampId: data.id },
    //  update: {
    //    ...data,
    //  },
    //  create: {
    //    ...data,
    //  },
    // })
    ....
  } catch (error) {
    console.error(`🚫 CoindPay order data storage failed:`, error?.message)
  }
}
```

> #### Webhooks Data Example（Selected statuses）[Full Order Fields](/landing/start/developers/payments-order#full-order-fields)

{% tabs %}
{% tab title="new" %}

```json
{
    "id": "69ae9bd******0de524430c",
    "createdAt": "2026-03-09T10:07:18.900Z",
    "updatedAt": "2026-03-09T10:07:40.021Z",
    "rampId": "SS2654******96s121",
    "rampStatus": "new",
    "rampType": "pay",
    "payMethod": "mobile_pay",
    "name": "andrew tim",
    "email": "hello@hotmail.com",
    "timezone": "Australia/Adelaide",
    "chain": "BSC",
    "amount": 14.147862,
    "usd": 15,
    "fiatAmount": 15,
    "fiatCoin": "USD",
    "symbol": "USDT",
    "payeeId": "-m3NiJQWM***F8Ih8K6IE",
    "appid": "693a61c42******e914fe691"
}
```

{% endtab %}

{% tab title="pending" %}

```json
{  
    "id": "69ae9bd******0de524430c",
    "createdAt": "2026-03-09T10:07:18.900Z",
    "updatedAt": "2026-03-09T10:07:44.932Z",
    "rampId": "SS2654******96s121",
    "rampStatus": "pending",
    "rampType": "pay",
    "payMethod": "google",
    "name": "andrew tim",
    "email": "hello@hotmail.com",
    "timezone": "Australia/Adelaide",
    "chain": "BSC",
    "amount": 14.147862,
    "usd": 15,
    "fiatAmount": 15,
    "fiatCoin": "USD",
    "symbol": "USDT",
    "payeeId": "-m3NiJQWM***F8Ih8K6IE",
    "appid": "693a61c42******e914fe691"
}
```

{% endtab %}

{% tab title="paid" %}

```json
{
    "id": "69ae9bd78974110de524430c",
    "createdAt": "2026-03-09T10:07:18.900Z",
    "updatedAt": "2026-03-09T10:08:10.242Z",
    "rampId": "SS2654******96s121",
    "rampStatus": "paid",
    "rampType": "pay",
    "payMethod": "google",
    "name": "andrew tim",
    "email": "hello@hotmail.com",
    "timezone": "Australia/Adelaide",
    "chain": "BSC",
    "amount": 14.147862,
    "usd": 15,
    "fiatAmount": 15,
    "fiatCoin": "USD",
    "symbol": "USDT",
    "payeeId": "-m3NiJQWM***F8Ih8K6IE",
    "appid": "693a61c42******e914fe691"
}
```

{% endtab %}

{% tab title="order\_scheduled" %}

```json
{
    "id": "69ae9bd******0de524430c",
    "createdAt": "2026-03-09T10:07:18.900Z",
    "updatedAt": "2026-03-09T10:08:09.065Z",
    "rampId": "SS2654******96s121",
    "rampStatus": "order_scheduled",
    "rampType": "pay",
    "payMethod": "google",
    "name": "andrew tim",
    "email": "hello@hotmail.com",
    "timezone": "Australia/Adelaide",
    "chain": "BSC",
    "amount": 14.147862,
    "usd": 15,
    "fiatAmount": 15,
    "fiatCoin": "USD",
    "symbol": "USDT",
    "payeeId": "-m3NiJQWM***F8Ih8K6IE",
    "appid": "693a61c42******e914fe691"
}
```

{% endtab %}

{% tab title="completed" %}

```json
{
    "id": "69ae9bd******0de524430c",
    "createdAt": "2026-03-09T10:07:18.900Z",
    "updatedAt": "2026-03-09T10:08:54.815Z",
    "settledAt": "2026-03-09T10:08:54.751Z",
    "rampId": "SS2654******96s121",
    "rampStatus": "completed",
    "rampType": "pay",
    "payer": "0x301D477Ec915B46C5561158Df1b5757A6CE22133",
    "payMethod": "google",
    "name": "andrew tim",
    "email": "hello@hotmail.com",
    "timezone": "Australia/Adelaide",
    "chain": "BSC",
    "amount": 14.147862,
    "reserveAmount": 0.707393,
    "afterReserveAmount": 13.440469,
    "usd": 15,
    "fiatAmount": 15,
    "fiatCoin": "USD",
    "symbol": "USDT",
    "signature": "0xbd3f0e2a255b43301b5b8dc02ff3a953be4939c682e98ba4ceeff553bc055590",
    "payeeId": "-m3NiJQWM***F8Ih8K6IE",
    "appid": "693a61c42******e914fe691"
}
```

{% endtab %}

{% tab title="fialed" %}

```json
{
    "id": "69ae9bd******0de524430c",
    "createdAt": "2026-03-09T10:07:18.900Z",
    "updatedAt": "2026-03-09T10:08:50.815Z",
    "rampId": "SS2654******96s121",
    "rampStatus": "failed",
    "rampType": "pay",
    "payMethod": "google",
    "name": "andrew tim",
    "email": "hello@hotmail.com",
    "timezone": "Australia/Adelaide",
    "chain": "BSC",
    "amount": 14.147862,
    "usd": 15,
    "fiatAmount": 15,
    "fiatCoin": "USD",
    "symbol": "USDT",
    "payeeId": "-m3NiJQWM***F8Ih8K6IE",
    "appid": "693a61c42******e914fe691"
}
```

{% endtab %}
{% endtabs %}

### Order status

#### Payments/On-Ramps Status Reference

> Below is a list of possible `rampStatus` values returned&#x20;
>
> when rampType=`buy` paymentMethod=[Payment methods](/landing/start/customers/payment-methods)

<table><thead><tr><th width="175.92578125">Status</th><th>Description</th></tr></thead><tbody><tr><td><code>init</code></td><td>User opened the payment window but hasn’t entered the payment stage and the order has not yet entered the processing flow.</td></tr><tr><td><code>new</code></td><td>A new transaction has been created. <br>Starting from the <code>new</code> status, merchants with configured webhooks will receive event notifications.</td></tr><tr><td><code>pending</code></td><td>Waiting for 3DS verification from the user.</td></tr><tr><td><code>paid</code></td><td>The payer’s card has been authorized and the funds have been deposited into the processing channel.<br>Final settlement and any conversion are subject to the issuing bank’s compliance and eligibility checks. If the bank declines, no funds will be captured.</td></tr><tr><td><code>order_scheduled</code></td><td>Indicates that the order has entered the processing queue.<br>This status only reflects queue placement — and no funds are reserved.</td></tr><tr><td><code>order_retry</code></td><td>The order was declined or cancelled due to <strong>legal, compliance, or banking constraints</strong>. The consumer attempts the payment again through <strong>an alternative recommended banking provider</strong>.</td></tr><tr><td><code>expired</code></td><td><p>Order has been created, customer has not made payment for the order within the expiry time. (Expiry times may differ for each payment method).</p><p>Expired orders can become active again. If payment is received after expiry, the order will automatically continue through the normal processing stages.</p></td></tr><tr><td><code>cancelled</code></td><td>The transaction was canceled, usually due to timeout or user action.</td></tr><tr><td><code>refunded</code></td><td>Order has been refunded by our customer support in response to a request from the customer.</td></tr><tr><td><code>failed</code></td><td>The transaction was rejected or declined by the bank. </td></tr><tr><td><code>settling</code></td><td>Funds have been authorized and are in the settlement process. The payout transaction has not yet been finalized on-chain.</td></tr><tr><td><code>settle_failed</code></td><td>Settlement attempt failed due to a transient or recoverable error. The order is eligible for retry（caused by RPC, network, or temporary infrastructure issues, retry may be triggered）</td></tr><tr><td><code>completed</code></td><td>✅ The merchant’s account has received the funds, and a receipt/invoice is sent to the customer’s email.<br>This status also serves as the final indicator that the order has successfully completed.</td></tr></tbody></table>

#### Off-Ramp Status Reference

> Below is a list of possible `rampStatus` values returned&#x20;
>
> when rampType=`sell` paymentMethod=`card`

| Status      | Description                                                                                                                                                    |
| ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `init`      | User opened the payment window but hasn’t entered the payment stage and the order has not yet entered the processing flow.                                     |
| `new`       | <p>A new transaction has been created. <br>Starting from the <code>new</code> status, merchants with configured webhooks will receive event notifications.</p> |
| `pending`   | The transaction is in progress; payout processing has started.                                                                                                 |
| `failed`    | The transaction failed; the crypto amount will be returned to the user.                                                                                        |
| `completed` | ✅ The payout has been successfully transferred to the user’s card.                                                                                             |

💡 **Tips:**

1. Keeping your secret key safe, don't forget add the `.env` file to `.gitignore`
2. The <mark style="background-color:red;">rampId</mark> is required, from your front-end `merchant_transaction_id`
3. An order is successful only when its status is `completed`&#x20;

### Testnet config

> #### <mark style="background-color:purple;">Testnet Provider A</mark> <a href="#sandbox-payment-card-details" id="sandbox-payment-card-details"></a>

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FrtAryLlblE4U3Me5xLDT%2F2026-08-21%2009.18.18.jpg?alt=media&amp;token=51c1756c-95e7-4951-87da-59d8a92689c9" alt=""><figcaption></figcaption></figure>

Select the test card and verify the payment method at the checkout.

> #### <mark style="background-color:orange;">Order Fallback Testnet Provider B - card list</mark> <a href="#sandbox-payment-card-details" id="sandbox-payment-card-details"></a>

Payout Asset：from your payment link configuration.

**🆔 KYC Data**

A first time customer will be guided through a KYC process during their first order with us. We suggested you input words and names that exist as opposed to random strings, as there are still some basic validations in place.

You may also be asked to upload Id documents. This can be any image with some text, captured using your device. This will not be verified, however will need to be in high resolution.

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2F2gHp9U3R0mH5Ei2aHZgA%2Fimage.png?alt=media&amp;token=fb83d115-2462-4814-8466-6757ec6f32b2" alt=""><figcaption></figcaption></figure>

**Card #1**

| Field         | Value                                         |
| ------------- | --------------------------------------------- |
| Card Name     | Use the name that you provided as part of KYC |
| Card Number   | 4111 1111 1111 1111                           |
| Expiry        | Any expiry date in the future                 |
| Security Code | Any                                           |

### <mark style="background-color:red;">Demo video（Payments）</mark>

{% file src="/files/ckFjq4sRV5naX9Bba90N" %}


# Global Config

The Global Payment Configuration API returns the currently available payment methods and transaction limits for a specified fiat currency.

Use this endpoint before initializing a payment or checkout flow to determine:

* Which payment methods are currently available
* The minimum and maximum transaction amount supported for the currency
* The minimum and maximum amount supported by each payment method

{% hint style="danger" icon="badge-dollar" %}
The returned configuration is dynamically resolved from CoindPay's payment infrastructure and may change as our acquiring and payment processing capabilities expand. The `min`, `max`, and available payment methods for each currency are **not fixed**.

Merchant developers are therefore recommended to use the values returned by this API as the source of truth when dynamically adjusting product pricing and available payment methods in custom checkout flows.
{% endhint %}

> #### Rate Limits & Usage

This endpoint is rate-limited to **10 requests per minute**.

For standard merchant integrations, calling this endpoint is generally **not required**. CoindPay Checkout provides real-time availability and limit information directly within the checkout flow.

For Payment Service Providers (PSPs) or platforms that implement their own routing and distribution logic across multiple currencies and payment methods, this API can be used as a reference for dynamically configuring supported currencies, transaction limits, and payment methods.

***

### API

```typescript
GET /payment/global
```

Example:

```typescript
GET {API_DOMAIN}/payment/global?currency=EUR
```

{% hint style="info" %}
API\_DOMAIN [Developers](/landing/start/developers#environment)
{% endhint %}

### Query Params

| Name       | Type     | Required | Example | Description                               |
| ---------- | -------- | -------- | ------- | ----------------------------------------- |
| `currency` | string\* | Yes      | `USD`   | Three-letter ISO 4217 fiat currency code. |

> `*` Required

For the complete list of supported **fiat currencies**, please refer to [Fiat currencies](/landing/start/customers/fiat-currencies)

### Request

```bash
curl "https://api.coindpay.xyz/payment/global?currency=USD"
```

### Response

#### Success response

```json
{
  "ok": true,
  "data": {
    "currency": "USD",
    "name": "United States Dollar",
    "symbol": "$",
    "icon": "https://flagcdn.com/us.svg",
    "limits": {
      "min": 1,
      "max": 50000
    },
    "methods": [
      {
        "code": "card",
        "name": "Debit credit card",
        "min": 10,
        "max": 17428.56
      },
      {
        "code": "apple",
        "name": "Apple Pay",
        "min": 23.24,
        "max": 17428.56
      },
      {
        "code": "google",
        "name": "Google pay",
        "min": 10,
        "max": 17428.56
      },
      {
        "code": "cashapp",
        "name": "Cash App Pay",
        "min": 1,
        "max": 50000
      },
      ...
    ]
  }
}
```

***

### Full Config Fields

#### Currency

<table><thead><tr><th width="148.83984375">Field</th><th width="173.271484375">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>currency</code></td><td><code>string</code></td><td>Three-letter ISO 4217 currency code.</td></tr><tr><td><code>name</code></td><td><code>string</code></td><td>Full currency name.</td></tr><tr><td><code>symbol</code></td><td><code>string</code></td><td>Currency symbol.</td></tr><tr><td><code>icon</code></td><td><code>string</code></td><td>URL of the currency icon.</td></tr></tbody></table>

#### Limits

`limits` represents the **overall transaction range available for the specified fiat currency**.

```json
"limits": {  "min": 1,  "max": 50000 }
```

<table><thead><tr><th width="141.603515625">Field</th><th width="175.83984375">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>min</code></td><td><code>number</code></td><td>Minimum supported transaction amount across available payment methods.</td></tr><tr><td><code>max</code></td><td><code>number</code></td><td>Maximum supported transaction amount across available payment methods.</td></tr></tbody></table>

These limits are **currency-level limits**, not necessarily applicable to every payment method.

For example, the currency may support:

```
USD: 1 – 50,000
```

while an individual payment method may support only:

```
Card: 10 – 17,428.56
```

When using a specific payment method, always use the limits returned for that method.

***

#### **Methods**

The `methods` array contains the payment methods currently available for the specified currency.

> Payment Method Fields

<table><thead><tr><th width="140.830078125">Field</th><th width="192.27734375">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>code</code></td><td><code>string</code></td><td>Unique payment method identifier used by the API and checkout parameters.</td></tr><tr><td><code>name</code></td><td><code>string</code></td><td>Human-readable payment method name.</td></tr><tr><td><code>min</code></td><td><code>number</code></td><td>Minimum transaction amount supported by this payment method.</td></tr><tr><td><code>max</code></td><td><code>number</code></td><td>Maximum transaction amount supported by this payment method.</td></tr></tbody></table>

#### Payment Method Codes

Payment method availability depends on the selected currency and current provider configuration.

{% hint style="info" icon="cash-app" %}
For the complete list of global **Payment Method Codes**, please refer to [Payment methods](/landing/start/customers/payment-methods)
{% endhint %}

<table><thead><tr><th width="163.365234375">Code</th><th>Payment method</th></tr></thead><tbody><tr><td><code>card</code></td><td>Debit / Credit Card</td></tr><tr><td><code>apple</code></td><td>Apple Pay</td></tr><tr><td><code>google</code></td><td>Google Pay</td></tr><tr><td><code>paypal</code></td><td>PayPal</td></tr><tr><td><code>cashapp</code></td><td>Cash App Pay</td></tr><tr><td>. . .</td><td></td></tr><tr><td>More</td><td><a data-mention href="/landing/start/customers/payment-methods">Payment methods</a> All Supported Payment Methods</td></tr></tbody></table>

***

#### Error response

**404** - Not Found

```json
{
  "ok": false,
  "message": "Failed to fetch currency data ˙◠˙"
}
```

***

### Notes

{% hint style="warning" icon="comment-smile" %}
If you use this API, **cache the returned configuration** and avoid frequent requests. It does not need to be fetched for every transaction or checkout session.
{% endhint %}


# Payments Order

Query the status and details of a specific payments order by its product transaction rampId.

{% hint style="warning" %}
This feature is intended only for merchants who require customized order details rendering.\
In most cases, integration simply requires enabling [Integration](/landing/start/developers/integration#webhooks-callback) to receive order event notifications and handling the callback accordingly.
{% endhint %}

> #### Rate Limits & Usage

This endpoint is rate-limited to **10 requests per minute**.

Order status updates are delivered to merchant developers in real time via [Integration](/landing/start/developers/integration#webhooks-callback) and are also reflected in real time within the CoindPay Checkout interface. Therefore, in most cases, merchants do **not need to actively poll this endpoint** for real-time order status updates.

***

### API

```typescript
GET /payment/order
```

Example:

```typescript
GET {API_DOMAIN}/payment/order?rampId=0xabc123dd
```

{% hint style="info" %}
API\_DOMAIN [Developers](/landing/start/developers#environment)
{% endhint %}

### Query Params

<table><thead><tr><th width="174.61981201171875">Name</th><th width="139.75531005859375">Type</th><th width="150.4375">Required</th><th>Description</th></tr></thead><tbody><tr><td><code>rampId</code></td><td>string*</td><td>✅ Required</td><td>Unique merchant transaction id <code>merchant_transaction_id</code></td></tr></tbody></table>

### Authentication Headers

{% hint style="info" %}
API requests are rate-limited. Please avoid excessive calls.
{% endhint %}

<table><thead><tr><th width="175.1978759765625">Name</th><th width="140.4322509765625">Type</th><th width="149.6927490234375">Required</th><th>Description</th></tr></thead><tbody><tr><td><code>x-appid</code></td><td>string*</td><td>✅ Required</td><td>Your merchant <code>appid</code></td></tr><tr><td><code>x-signature</code></td><td>string*</td><td>✅ Required</td><td>HMAC-SHA256 signature generated from your <code>API Secret</code></td></tr></tbody></table>

#### **Generating the Signature**

The `x-signature` is generated by signing your `appid` with your `API Secret` using HMAC-SHA256.

```typescript
import { createHmac } from 'crypto'

export function createHmacSignature(secret: string, data: string): string {
  return createHmac('sha256', secret).update(data).digest('hex')
}
```

> 1. This endpoint supports both crypto and fiat payments, and the `rampId` value must be globally unique.
> 2. The `rampId` represents the unique `merchant_transaction_id` used for transactions between the developer and the consumer, and is stored in the database as `rampId`.

***

### Request

{% code overflow="wrap" %}

```bash
curl "https://api.coindpay.xyz/payment/order?rampId=0xabc123dd" \
  -H "x-appid: YOUR_APP_ID" \
  -H "x-signature: YOUR_SIGNATURE"
```

{% endcode %}

### Response

#### Success response

{% tabs %}
{% tab title="Fiat" %}

```json
{
  "ok": true,
  "data": {
    "id": "690e31d***ba6ef8215",
    "payeeId": "1_N1yAE6D***v1oTd6Uoz",
    "appid": "business_app_abc123",
    "name": "David Lin",
    "email": "David123@gmail.com",
    "payer": "0x68b37Db3E727***d0B76195eB929Db649",
    "payMethod": "card",
    "rampId": "24615901***47304960",
    "rampType": "pay",
    "rampStatus": "completed",
    "chain": "BASE",
    "symbol": "USDC",
    "fiatCoin": "AED",
    "fiatAmount": 70,
    "amount": 17.852559,
    "reserveAmount": 0.892628,
    "afterReserveAmount": 16.95987,
    "usd": 19.12,
    "signature": "0xa280***e8fec1",
    "settledAt": "2025-11-07T17:55:08.220Z",
    "createdAt": "2025-11-07T17:52:17.293Z",
    "updatedAt": "2025-11-07T17:55:10.100Z"
  }
}
```

{% endtab %}

{% tab title="Crypto" %}

```json
{
  "ok": true,
  "data": {
    "id": "payment_abc123",
    "appid": "business_app_abc123",
    "payeeId": "QSZMC90***7uNdUtxO",
    "payer": "8wKpf1bphwVPCqG3uy75JuWqN2m7uCLVrKeMZLmAdhx3",
    "name": "Henry",
    "email": "xxx@coindpay.xyz",
    "message": "hhhha",
    "signature": "uVkv29hDtjCJnrSxN4b6BifbC7k229P7pzZ...uJrANpecFfNfw2vmpApDoqMsxqY4x1sTF",
    "chain": "Solana",
    "amount": 5.25,
    "usd": 5.25,
    "symbol": "USDC",
    "contract": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
  }
}
```

{% endtab %}
{% endtabs %}

### Full Order Fields

| Field                | Type     | Description                                                                                                                                                        |
| -------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `id`                 | string\* | Unique payment Id                                                                                                                                                  |
| `uuid`               | string\* | Internal Id of the payee (receiver) for webhooks data-key  <kbd>appid</kbd>                                                                                        |
| `payeeId`            | string\* | Product or service Id                                                                                                                                              |
| `rampId`             | string?  | Order ID that is paid for through Ramps service provider（The **`merchant_transaction_id`** provided by the merchants）                                              |
| `name`               | string?  | Payer name (optional)                                                                                                                                              |
| `email`              | string\* | Payer email (optional)                                                                                                                                             |
| `message`            | string?  | Payment memo (optional)                                                                                                                                            |
| `payer`              | string\* | Payer wallet (crypto or fiat-stablecoin settlement type)                                                                                                           |
| `payMethod`          | string?  | Fiat payment method type (e.g., apple/google/card...)                                                                                                              |
| `rampType`           | string?  | Payment type (pay/buy/sell)  through multi-provider                                                                                                                |
| `rampStatus`         | string?  | Order status of payment completed through bank or on-chain service.                                                                                                |
| `rampFeedback`       | string?  | Order exception or failure tips (returned by certain banks; in most cases this field may be empty)                                                                 |
| `fiatCoin`           | string?  | Fiat currency code (e.g., USD)                                                                                                                                     |
| `fiatAmount`         | float?   | Fiat amount paid (if any)                                                                                                                                          |
| `usd`                | float?   | USD-pegged pay-in amount (auto-converted using real-time exchange rates)                                                                                           |
| `amount`             | float\*  | Settled token amount after applicable payment processing, gateway, network, and platform fees have been deducted, but before any reserve requirements are applied. |
| `reserveAmount`      | float?   | The reserve amount held for merchants with reserves enabled.                                                                                                       |
| `afterReserveAmount` | float?   | Final settled token amount after applicable reserve deductions. If no reserve requirements apply, this field may be omitted or equal to `amount`                   |
| `chain`              | string\* | Blockchain name (e.g., solana, ethereum)                                                                                                                           |
| `symbol`             | string\* | Token symbol (e.g., USDT, USDC)                                                                                                                                    |
| `contract`           | string?  | Contract address of the token (Used in crypto payments or exchanges type)                                                                                          |
| `signature`          | string\* | The fiat currency to crypto exchange process has been completed, with a unique on-chain hash.                                                                      |
| `settledAt`          | date?    | Order Settlement Timestamp                                                                                                                                         |
| `createdAt`          | date\*   | Order Creation Timestamp                                                                                                                                           |
| `updatedAt`          | date\*   | Order Update Timestamp                                                                                                                                             |

***

#### Error response

**404** - Not found

```json
{
  "ok": false,
  "message": "Payment not found ˙◠˙"
}
```

**401 -** Invalid signature

```json
{
  "ok": false,
  "message": "Invalid signature ˙◠˙"
}
```

***

### Notes

* It works with both on-chain and off-chain payments (crypto, ramps, card, etc.)
* If no payment is found for the given `signature` and `rampId`, `ok` will be `false`
* The `rampId` refers to the unique `merchant_transaction_id` generated by the developer or merchant for a consumer.
* <mark style="color:purple;">Please use real payment id and other params to integrate and test the API.</mark>


# On/Off-Ramps

We have opened access to our On/Off-Ramps Buy/Sell Crypto routing service, offering a clean and user-friendly one-stop assets transaction dashboard.\
Developers can easily integrate the Buy/Sell Crypto flow via an `iframe`, and monitor real-time transaction logs at: <https://coindpay.xyz/scan>

***

**Buy Crypto**

<https://coindpay.xyz/wallet?crypto=buy>

<table><thead><tr><th width="243.1343994140625">Parameter</th><th>Type</th><th>Example</th><th width="90.1044921875">Status</th><th>Description</th></tr></thead><tbody><tr><td><code>crypto</code></td><td><code>string*</code></td><td><code>buy</code>  or  <code>sell</code></td><td>✅</td><td>Required. <br>Enables buy or sell crypto mode.</td></tr><tr><td><code>appid</code></td><td><code>string?</code></td><td><code>6787***816de</code></td><td>✅</td><td>Your unique merchant Id<br>claim <a href="https://coindpay.xyz/account">account</a><br>Only KYB-verified appid can receive <code>webhooks</code> push.</td></tr><tr><td><code>merchant_transaction_id</code></td><td><kbd>string?</kbd></td><td><a data-mention href="/landing/start/developers/integration#url-parameters">Integration</a></td><td>✅</td><td><kbd>merchant_transaction_id=xxx123</kbd></td></tr><tr><td><code>fiatCurrency</code></td><td><code>string?</code></td><td><code>EUR</code>, <code>USD</code>, <code>JPY</code></td><td>✅</td><td>Optional. The fiat currency code the user wants to pay with (ISO format).<br><a data-mention href="/landing/start/customers/fiat-currencies">Fiat currencies</a><br></td></tr><tr><td><code>fiatAmount</code></td><td><code>number?</code></td><td><code>100</code></td><td>✅</td><td>Optional. Buy/Sell amount in the supported fiat or crypto currency format.<br><mark style="background-color:purple;"><strong>Lmimits #</strong></mark><a data-mention href="/landing/start/customers/fiat-currencies">Fiat currencies</a></td></tr><tr><td><code>cryptoToken</code></td><td><code>string?</code></td><td><code>usdc</code>, <code>eth</code>, <code>btc</code></td><td>✅</td><td>Optional. The crypto asset the user wants to buy or sell.</td></tr><tr><td><code>address</code></td><td><code>string?</code></td><td>'0xxxxx'</td><td>❌</td><td><mark style="background-color:$danger;">Temporarily disabled due to security risks.</mark><br>The wallet address used to receive the crypto you purchase, or to transfer funds when you sell crypto.</td></tr></tbody></table>

EUR as fiat pay-in, buy `SOL` token

<https://coindpay.xyz/wallet?crypto=buy&fiatCurrency=EUR&fiatAmount=100&cryptoToken=SOL>

***

**Sell Crypto**

<https://coindpay.xyz/wallet?crypto=sell>\
\
USD as fiat pay-out, sell `USDC` token

<https://coindpay.xyz/wallet?crypto=sell&fiatCurrency=USD&fiatAmount=100&cryptoToken=USDC>


# Partners

All CoindPay partners are required to complete KYB verification and compliance review prior to integration. The process includes validating company details, ownership structure, and key stakeholders.

## **KYB**

**Know Your Business (KYB)** is a compliance process specifically geared towards businesses, similar to widely-used Know Your Customer (KYC) procedures for individuals.

As such, KYB constitutes a set of measures to obtain comprehensive information about business partners or clients. KYB is mandatory for financial and crypto platforms and is carried out according to their internal policies and legal requirements.

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2F1fBWGrHKsxjR4CS2YEPl%2Fimage.png?alt=media&amp;token=a3e13d3b-e63f-4936-a3d5-7a6bf52c96aa" alt=""><figcaption></figcaption></figure>

**Documents:**

The standard set of documents includes:

* The company’s official extract from the business register
* Information about the company’s ultimate beneficial owner (UBO)
* Information about shareholders owning over 25% of the company’s shares
* Information about the company’s director

The list of required documents may vary according to the policies of specific businesses. Companies licensed to work with crypto assets can also request confirmation of the welfare of beneficial owners, proof of source of income, and other documents to identify activities and their legal grounding, as well as the identities of business owners and other executives.

Additional information is collected via questionnaires, including but not limited to: average monthly and yearly turnover; a detailed description of business activities; and materials essential for establishing a legal relationship.

Licensed companies (payment or crypto service providers) impose more stringent requirements on customers during KYB and KYC procedures. For such companies, the standards for carrying out verification procedures are set by regulators while the state supervisory authority controls overall compliance.

{% hint style="info" %}
For institutional clients and partners, KYB and compliance checks
{% endhint %}

{% columns %}
{% column %}
Please send the relevant information to our **Legal and Partner Services team** based on this template. Once reviewed and approved, we will send you a draft **Service Agreement**.

[**partners@coindpay.xyz**](mailto:partners@coindpay.xyz)
{% endcolumn %}

{% column %}

<figure><img src="https://cdn.coindpay.xyz/stream/static/home/content/partners_bg_01.jpg" alt=""><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

### Email Template

> ## CoindPay KYB Requirements for Business Partners
>
> Welcome to **CoindPay**! To ensure smooth onboarding and regulatory compliance, all business partners and clients are requested to complete the **Know Your Business (KYB) and compliance verification**.
>
> ### 1. Business Information
>
> * **Legal company name**, registration number, and country of incorporation
> * **Registered office address** and official website
> * **Description of business activities and services offered**
>
> ### 2. Beneficial Ownership
>
> * Full names of **ultimate beneficial owners (UBOs)**
> * Ownership percentages and roles within the company
> * **Identification documents** of all UBOs
>
> ### 3. Compliance & Risk Assessment
>
> * Screening against **sanctions lists**, **Politically Exposed Persons (PEP)** databases, and **adverse media**
> * Transaction monitoring setup for **anti-money laundering (AML)** purposes
>
> ### 4. Merchant KYB Checklist
>
> * Submit **company registration certificate** and proof of address
> * Provide **beneficial ownership and director information**
> * Confirm transaction types, regions, and expected volumes
> * Acknowledge **CoindPay’s AML/KYC policies**
>
> ### 5. Information Update & Reporting
>
> * Notify CoindPay immediately of **changes to ownership, business structure, or regulatory status**
> * Submit updated **KYB documentation** whenever requested
> * Ensure all transaction information is accurate and up-to-date
>
> ### 6. High-Risk Activities Prohibition
>
> * Do **not** engage in transactions involving **sanctioned individuals, entities, or jurisdictions**
> * Avoid transactions with **PEPs** without prior approval
> * Comply with CoindPay’s **AML/CTF policies** to prevent illicit activity
>
> ### 7. Support & Assistance
>
> * For any questions regarding KYB or compliance requirements, contact CoindPay at:
>   * **Email:** <mark style="background-color:purple;"><partners@coindpay.xyz></mark>
>   * **Support Chat:** accessible via the Widget
>
> ### 8. Key Reminders
>
> * All KYB requirements are mandatory for account activation
> * Incomplete or inaccurate information may result in **delays or denial of services**
> * Compliance ensures smooth **fiat-to-crypto payments** and operational reliability
>
> ***
>
> **Note:** This KYB template ensures your business is ready to use **CoindPay services** safely and legally. Keep all documentation accurate and submit promptly to avoid service interruptions.

### Table Template

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FsBH4oAJIiHeHDQGkaUQa%2Fimage.png?alt=media&amp;token=c6ecde6b-437e-4b0a-bc37-ed129b815b64" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="75.783203125">No.</th><th width="266.5009765625">Category</th><th width="643.888671875">Required Documents or Links</th></tr></thead><tbody><tr><td>1</td><td><mark style="color:purple;"><strong>*</strong></mark><strong>CoindPay AppId</strong></td><td>⬜ Your Business/Merchant/Developer Unique Id</td></tr><tr><td>2</td><td><mark style="color:purple;"><strong>*</strong></mark><strong>Customer KYB Questionnaire Legal Entities</strong></td><td><p>⬜ <a href="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FfSlykPJNvLDkq5mjDJ32%2FCustomer%20KYB%20Questionnaire%20Legal%20Entities.pdf?alt=media&#x26;token=27254e8b-45ad-442f-9649-50e0ab83c709">Download and complete the “Customer KYB Questionnaire – Legal Entities” form</a></p><div data-gb-custom-block data-tag="file" data-src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FfSlykPJNvLDkq5mjDJ32%2FCustomer%20KYB%20Questionnaire%20Legal%20Entities.pdf?alt=media&amp;token=27254e8b-45ad-442f-9649-50e0ab83c709"></div></td></tr><tr><td>3</td><td><mark style="color:purple;"><strong>*</strong></mark><strong>Business Information</strong></td><td><p>⬜ 1. Company registration certificate</p><p><br>⬜ 2. Proof of registered address (e.g., utility bill or lease agreement)</p><p><br>⬜ 3. Official website information（website）</p></td></tr><tr><td>4</td><td><mark style="color:purple;"><strong>*</strong></mark><strong>Beneficial Ownership (UBO)</strong></td><td><p>⬜ 1. Identification documents of all ultimate beneficial owners (passport/ID)</p><p><br>⬜ 2. Ownership percentages and roles<br><br><mark style="background-color:purple;">Shareholding of less than 5% can be exempted from submission.</mark></p></td></tr><tr><td>5</td><td><mark style="color:purple;"><strong>*</strong></mark><strong>Directors Information</strong></td><td>⬜ 1. Identification documents of <strong>directors</strong> and any shareholders holding <strong>more than 5%</strong> ownership<br><br>⬜ 2. List of <strong>directors</strong> and <strong>shareholders</strong> with <strong>more than 5%</strong> ownership, or relevant pages from Articles of Association</td></tr><tr><td>6</td><td><mark style="color:purple;"><strong>*</strong></mark><strong>Business Activities</strong></td><td><p>⬜ 1. Description of business activities or company profile</p><p><br>⬜ 2. Transaction types, business category/type, primary regions of operation, and expected volumes, for product and service businesses, relevant financial and operational metrics, including chargeback rates, refund rates, and other risk-related indicators.</p></td></tr><tr><td>7</td><td><mark style="color:purple;"><strong>*</strong></mark><strong>Support &#x26; Contact</strong></td><td>⬜ 1. The link entry for “Contact Us,” refer to the example: <a href="https://circle.com/contact-us">https://circle.com/contact-us</a></td></tr><tr><td>8</td><td><mark style="color:purple;"><strong>?</strong></mark><strong>Compliance &#x26; Risk Assessment</strong></td><td><p>⬜ 1. <strong>AML/KYC Policy</strong> documentation or link acknowledgment of <strong>Terms of Service</strong>  (a document or accessible link)  Refer to our <a href="https://coindpay.xyz/user/policy">AML/CTF Policy</a> （If referring to financial instruments such as equities or FX）</p><p><br>⬜ 2. Screening results against sanctions lists and PEP databases (if available)</p></td></tr><tr><td>9</td><td><mark style="color:purple;"><strong>?</strong></mark><strong>Updates &#x26; Reporting</strong></td><td>⬜ 1. Updated KYB documents when there are changes in company structure or UBOs（Async process）</td></tr></tbody></table>

{% hint style="info" %}

1. **The official CoindPay Merchant/Developer AppId** must be registered by the developer or the authorized company representative via the CoindPay website. It can be retrieved in the **Account** > <https://coindpay.xyz/account>
2. <mark style="color:purple;">**\***</mark> indicates a **required** field, and <mark style="color:purple;">**?**</mark> indicates an **optional** field.
3. All requested materials may be submitted as **documents or online links**, provided that **each item is supplied and clearly mapped to its corresponding requirement**.
   {% endhint %}

{% hint style="warning" %}

#### Customer questionnaire for your legal entities

{% endhint %}

{% file src="/files/LJOhKByucFTJ2KOZjm0Q" %}

## **Forbidden Industries**

This document forms an integral part of the **CoindPay Anti-Money Laundering (AML) and Counter-Terrorist Financing (CTF) Compliance Framework**.

CoindPay does **not provide services** to the following businesses:

1. Adult content websites (pornographic content)
2. Unlicensed alcohol or tobacco stores, smoking mixtures, e-cigarettes and related liquids
3. Counterfeit goods or products infringing copyright or trademarks
4. Cyberlockers, torrent platforms, file-sharing services, and Usenet providers
5. Financial pyramid schemes (including MLM or Ponzi schemes)
6. Illegal or offensive content websites (including terrorism, hate speech, or extremism)
7. Malware or spyware providers
8. Unlicensed marijuana or other psychoactive plants
9. Synthetic drug stores (e.g., Spice, K2)
10. Modification chips, black boxes, or devices used to alter or bypass hardware or software restrictions
11. Subscription-based nutrition, vitamin, supplement, herbal, or natural health product services
12. Unlicensed online pharmacies, drugstores, prescription medication, or psychotropic substances
13. Penny auction platforms
14. Sale or distribution of video, audio, visual, software, or other copyrighted materials without proper authorization
15. License holders or resellers without proper authorization
16. Unlicensed financial service providers (including forex, CFD, binary options, or currency conversion services)
17. Unlicensed gambling services
18. Unlicensed ICOs or token offerings
19. Unlicensed payment service providers
20. Sale of weapons or weapon parts
21. Sale of government-issued documents
22. Closed user groups or restricted membership platforms
23. Privacy coins and cryptocurrency mixing services designed to obscure the origin or destination of funds
24. Sanctioned jurisdictions / OFAC restricted regions

## **Compliance** Enforcement

<mark style="background-color:red;">**CoindPay maintains ongoing compliance alignment with card networks and payment gateway partners and continuously updates its risk control framework based on real-time monitoring. Any merchant or partner attempting to bypass our compliance review or risk controls may be subject to service refusal, account suspension or termination, and potential financial penalties where applicable.**</mark>


# Rolling Reserves

### **Introduction**

Rolling reserves are a financial buffer arrangement between payment processors and businesses. Payment processors withhold a percentage of each transaction a business processes during a specific time period; they keep this amount as protection against potential risks, such as chargebacks, fraud, and other financial liabilities. The agreement terms and a business’s perceived risk level determine the percentage of sales reserved and for how long.

After the holding period, the business receives the reserved funds; this usually occurs on a rolling basis. For example, if the reserve period is six months, the business receives the funds from January in July, the funds from February in August, and so on. As a result, a business should have a constant financial buffer of funds from the most recent transactions to cover any potential issues that might arise.

CoindPay applies a Rolling Reserve in payment flows involving fiat settlement and card network requirements, ensuring platform stability while supporting scalable merchant growth.

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FkEn5vXNnGMQhWxjJ1Srm%2FFireShot%20Capture%20904%20-%20CoindPay%20Account%20Billing%EF%BD%9CPay%2C%20Settle%2C%20Scale%20%E2%80%94%20with%20Fiat%20or%20Stableco_%20-%20%5B127.0.0.1%5D.png?alt=media&amp;token=1f16edcf-046d-4d2d-9a18-ba771c48b74d" alt=""><figcaption></figcaption></figure>

### **Applicability**

Rolling Reserves apply to the following CoindPay payment and settlement models:

* [x] **Fiat-in → Stablecoin Settlement**
* [ ] **Fiat-in → Fiat Settlement ⏳**

Rolling Reserves do **not** apply to:

{% hint style="info" %}
**Crypto-in → Crypto Settlement**
{% endhint %}

CoindPay reserves the right to apply rolling reserves or additional risk controls to any payment flow where financial, regulatory, or operational risk is identified, including scenarios not explicitly listed above.

#### **Reserve Rate**

For applicable payment flows, **5%（**<mark style="background-color:purple;">Standard Merchant</mark>**）of each successfully processed transaction** is retained as a rolling reserve.

The reserve rate may be **adjusted by CoindPay from time to time** based on factors including, but not limited to:

* Transaction volume and processing history
* Chargeback and dispute ratios
* Settlement channels and payment methods
* Card network and banking partner requirements

Any changes to the reserve rate will be reflected in the merchant dashboard and take effect according to the applicable notice period, where required.

#### **Reserve Calculation**

The rolling reserve amount is calculated based on the gross successfully processed transaction amount before any fees, settlements, or other deductions.

> **Formula**

**Reserve Amount = Gross Transaction Amount × Reserve Rate**

**Net Settlement Amount = Gross Transaction Amount − Unified Service Fees − Reserve Amount**

**Unified Service Fees**（Includes chargeback losses (chargeback ratio must not exceed 0.5%, e.g., no more than 5 chargebacks out of every 1,000 transactions, with cumulative chargeback losses not exceeding USD 1,000), banking and payment gateway costs, on-chain gas fees, and CoindPay platform fees), with tiers based on merchant type, fintech partnerships, and payment models.）

> **Example (USD)**

| Item                                                                      | Amount       |
| ------------------------------------------------------------------------- | ------------ |
| Gross Transaction Amount                                                  | 100 USD      |
| Reserve Rate                                                              | 5%           |
| Reserve Amount                                                            | 5 USD        |
| Unified Fees [Pay-ins](/landing/start/customers/pay-ins#fees-and-pricing) | 7 USD        |
| Variable Settlement Adjustments (FX, On-chain Gas, KYC, etc.)             | 0.5 \~ 1 USD |
| Net Settlement Amount                                                     | 87.5 USD     |

Calculation:

* Reserve Amount = 100 USD × 5% = 5 USD
* Net Settlement Amount = 100 USD − 5 USD − 7 USD = 88 USD

The reserved funds are held for the agreed reserve period and are automatically released to the merchant once the holding period expires, provided there are no outstanding disputes, chargebacks, refunds, or compliance-related obligations.

#### **Reserve Holding Period**

Reserved funds are held for a **3-month holding period** to mitigate risks associated with:

* Settlement advances
* Chargebacks
* Refunds
* Payment disputes

The holding period reflects typical chargeback and dispute timeframes established by card networks and banking partners.

#### **Reserve Monthly Release Mechanism**

Starting in the **4th month**, reserves are released on a **monthly basis during business days**, beginning with the earliest eligible monthly bucket.

> #### What do rolling reserves do?

Rolling reserves function as a safety net in payment processing. Payment processors pull them from a business’s processed transactions, not as a penalty but as a precaution. This proactive step creates a cushion to handle unexpected issues, such as chargebacks and fraud. For businesses, rolling reserves can temporarily restrict cash flow and affect how a business handles financial planning and revenue projection. For payment processors, they serve these purposes:

* **Chargeback protection:** In 2023, Americans disputed over $65 billion in credit card charges. Rolling reserves help businesses and payment processors cover the costs of disputes such as chargebacks and refunds. This helps maintain payment processors’ financial stability.
* **Fraud prevention:** Rolling reserves deter businesses from engaging in high-risk activities by withholding a portion of funds to cover potential losses.
* **Onboarding high-risk or new businesses:** For businesses considered high risk because of their industry, product, or minimal transaction history, payment processors might agree to work with them only if they use rolling reserves.

> #### How do rolling reserves work?

Here’s how payment processors withhold and release funds from rolling reserves:

* **Setting terms:** When a business implements payment processing with a provider, they agree on terms based on the business type, size, industry, and risk factors. These terms include the percentage of each transaction to reserve and the duration for which these funds will be kept before release.
* **Withholding funds:** The payment processor reserves a set percentage of the business’s daily transactions.
* **Holding funds:** The payment processor holds the funds for a specific period, commonly ranging from six months to a year. The business and the processor negotiate the length of time to offer the former operational flexibility and the latter protection from potential financial liabilities.
* **Releasing funds:** After the holding period, the business receives the funds. This occurs on a rolling basis to create a constant buffer of recent funds against sudden financial needs.
* **Adjusting terms:** The business and the processor can adjust the terms of the rolling reserve based on the business’s evolving financial health and risk profile. This might mean adjusting the reserve percentage in response to the business’s growth and stabilisation or changes in the industry.

To illustrate, let’s say a business sells a product for $100 and has a 10% rolling reserve with a 90-day period. The processor withholds $10 from a purchase and places it in reserve. After 90 days, if no chargebacks or issues occur, the business gets back the $10.

#### **Reserve Accumulation**

1. A qualifying transaction is successfully processed.
2. The applicable reserve amount is calculated based on the current reserve rate.
3. The reserve is allocated to the corresponding **monthly reserve bucket**.

#### **Release Schedule**

Each monthly reserve bucket is released after completing the 3-month holding period.

Example: This ensures a predictable and transparent reserve release cycle.

| Transaction Month        | Release Month |
| ------------------------ | ------------- |
| December（1st – Last Day） | April         |
| January（1st – Last Day）  | May           |
| February（1st – Last Day） | June          |

> #### What types of businesses are best suited for rolling reserves?

Rolling reserves are ideal for these types of businesses:

* **High-risk businesses:** Rolling reserves can manage risks for businesses operating in industries with higher chargeback rates – such as travel, gaming, telemarketing, and subscription services – or businesses selling products or services that are prone to disputes or returns, such as electronics, luxury goods, and online courses.
* **New businesses:** Payment processors might require rolling reserves for startups or businesses with little to no processing history until they establish a track record of successful transactions.
* **Businesses with financial issues:** Processors might require rolling reserves as a risk mitigation measure for businesses with poor credit ratings or financial instability.
* **Businesses with high transaction volumes:** Rolling reserves can benefit businesses that process large volumes of transactions by providing ongoing protection against potential chargebacks or fraud.
* **Seasonal businesses:** Businesses with substantial sales fluctuations throughout the year might find rolling reserves helpful because the reserve amount adjusts with their transaction volumes.
* **International businesses:** Rolling reserves can provide additional protection to businesses handling cross-border transactions, which might face higher chargeback risks because of currency fluctuations, shipping issues, or cultural differences.

> #### Advantages and disadvantages of rolling reserves

Rolling reserves create advantages and disadvantages for businesses. Here’s how they can affect businesses:

{% tabs %}
{% tab title="Advantages" %}

* **Access to payment processors:** High-risk businesses or those with limited credit history can improve their chances of obtaining merchant accounts by opting for rolling reserves.
* **Building trust:** Businesses can demonstrate their financial responsibility to payment processors through rolling reserves, which can then result in benefits such as lower fees and higher processing limits.
* **Chargeback protection:** By using rolling reserves as a safety net, businesses can cover the costs of chargebacks and refunds without depleting their working capital.
* **Forced savings:** Rolling reserves function as a forced savings mechanism, setting aside funds for unexpected expenses or future investments
  {% endtab %}

{% tab title="Disadvantages" %}

* **Reduced cash flow:** By holding back a portion of revenue, rolling reserves reduce cash flow.
* **Opportunity cost:** Rolling reserves withhold funds that could be invested in other areas of your business, potentially limiting growth opportunities.
* **Unpredictability:** A fluctuating reserve amount can make financial forecasting and planning challenging.
* **Potential disputes:** Disagreements over the reserve amount, duration, or release schedule can strain relationships with payment processors.
* **Limited control:** Businesses have little control over the terms and conditions of the rolling reserve; these are usually determined by the processor’s risk assessment.
  {% endtab %}
  {% endtabs %}

> #### How long should you hold rolling reserves?

Here are some factors that can determine the ideal duration for holding rolling reserves:

* **Industry risk:** Industries with higher chargeback rates – such as travel, gaming and others – might require longer reserve periods (180 days or more) to cover potential disputes. Businesses in low-risk sectors might have shorter reserve periods (30–90 days) because of the lower likelihood of chargebacks.
* **Business history:** Businesses with limited processing history might have longer reserve periods until they establish a strong track record. Businesses with a proven history of low chargeback rates and good standing could be eligible for shorter reserve periods.
* **Chargeback time frames:** The standard chargeback time frames set by card networks (e.g., Visa, Mastercard) often influence the length of reserve periods. These time frames can range from 45 to 120 days.
* **Payment processor policies:** The payment processor will set the terms and conditions of your agreement. Some processors offer flexibility or negotiable terms.

Reserves begin releasing in the **4th month** after the transaction month, on a monthly basis.

> #### Does lower transaction volume affect reserve release?

No. Release schedules are determined by time-based buckets and are independent of future transaction volume.

### **Purpose and Compliance**

Rolling Reserves are maintained to:

* Mitigate settlement and liquidity risks
* Comply with card network and banking gateway requirements (e.g., Visa, Mastercard)
* Protect both merchants and the CoindPay payment ecosystem

This approach aligns with industry-standard risk practices adopted by global payment service providers.

### **Risk Escalation Framework**

In addition to the baseline reserve rate, CoindPay operates a risk-adjusted reserve framework.

CoindPay may increase the reserve rate and/or extend the holding period where elevated risk is identified, including but not limited to:

* Material increases in chargeback ratios
* Fraud indicators or suspicious transaction patterns
* Significant volume spikes inconsistent with historical activity
* Merchant activity inconsistent with onboarding disclosures (KYB/KYC)
* Card network monitoring program alerts
* Banking partner risk notifications
* Regulatory or compliance inquiries

#### **Risk Tier Structure (Illustrative)**

<table><thead><tr><th width="225.8385009765625">Risk Tier</th><th>Reserve Rate</th><th>Holding Period</th></tr></thead><tbody><tr><td>Standard</td><td>5%</td><td>3 months</td></tr><tr><td>Medium Risk</td><td>10%</td><td>4 months</td></tr><tr><td>High Risk</td><td>15%</td><td>6 months</td></tr><tr><td>Extreme Risk</td><td>25%+</td><td>Extended until risk resolved</td></tr></tbody></table>

The risk tier classification is determined based on ongoing risk monitoring and may change over time as merchant activity evolves.

#### **Chargeback Monitoring Policy**

CoindPay continuously monitors chargeback and dispute ratios to ensure compliance with card network thresholds.

| Metric                                                                        | Risk Threshold |
| ----------------------------------------------------------------------------- | -------------- |
| Normal Threshold                                                              | 0.5%           |
| Monitoring Level（ <mark style="background-color:$warning;">Warning</mark> ）   | 0.9%           |
| High Risk Level（ <mark style="background-color:pink;">Suspended</mark> ）      | 1.5%           |
| Excessive Risk Level（ <mark style="background-color:$danger;">Banned</mark> ） | 3%             |

If these thresholds are exceeded, CoindPay may:

* Increase the rolling reserve percentage
* Delay merchant payouts
* Initiate risk review procedures
* Temporarily restrict payment processing

These thresholds are aligned with monitoring programs established by card networks such as Visa and Mastercard. CoindPay may also initiate manual transaction reviews or temporary settlement holds while risk assessments are conducted.

#### **Prohibited or Non-Compliant Activity**

If CoindPay determines that a merchant:

* Operates in [Partners](/landing/start/partners#forbidden-industries)
* Misrepresents business activities during onboarding
* Engages in fraudulent or deceptive practices
* Violates card network rules or banking requirements
* Causes material financial exposure to CoindPay or its partners

CoindPay reserves the right to implement enhanced protective measures.

Such measures may include:

* Immediate account restriction or suspension
* Temporary or permanent termination
* Increased reserve requirements
* Suspension of payouts
* Ongoing monitoring review

In cases involving confirmed fraud or material policy violations, CoindPay may retain part or all of the merchant’s reserve balance to offset associated losses or risk exposure.

### Reserve Freeze and Loss Offset Rights

In cases involving:

* Confirmed fraud
* Material chargeback exposure
* Card network fines
* Bank clawbacks or settlement reversals
* Regulatory penalties
* Ongoing dispute liabilities

CoindPay may freeze part or all of the rolling reserve balance.

Frozen reserves may be applied to:

* Cover chargeback losses
* Offset fraud-related damages
* Satisfy card network assessments
* Reimburse upstream banking partners
* Cover legal or compliance costs directly arising from the merchant’s activity

If losses exceed the reserve balance, CoindPay retains the right to pursue recovery of the outstanding amount.

### **Appeal and Review Process**

Merchants may submit a formal appeal if:

* A reserve rate adjustment is applied
* Account restrictions are imposed
* The merchant agreement is terminated
* Funds are frozen under risk mitigation measures

Appeals must be submitted in writing within **14 days** of notification and must include:

* Merchant AppId
* Detailed explanation of the dispute
* Supporting documentation
* Contact information for follow-up

All appeal submissions must be sent to:

**<partners@coindpay.xyz>**

During the review process:

* Risk-based measures and reserve conditions remain in effect
* Reserve release schedules may continue to apply
* CoindPay may request additional documentation

Final determinations will be made by the CoindPay Risk & Compliance team in accordance with internal governance procedures and upstream banking obligations.&#x20;

{% hint style="warning" %}
CoindPay aims to review appeals within a reasonable timeframe, although complex cases may require extended investigation.
{% endhint %}

***

### **Account Closure**

Merchants and developers are requested to provide **at least 30 days’ prior notice** before account closure.

Upon closure:

* New reserve accumulation will stop;
* Existing reserves will continue to follow the standard holding and release schedule;
* If outstanding disputes, chargebacks, or regulatory reviews remain unresolved, CoindPay may extend the reserve holding period until the associated risks are fully resolved.


# Ecosystem

📮 contact\@coindpay.xyz

<div data-with-frame="true"><figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FAgGyiMA9b36uGcYdv4j3%2Fimage.png?alt=media&amp;token=004ef2f5-0b8c-45ca-9878-2331a5cd9d4a" alt="coindpay.xyz"><figcaption><p>coindpay.xyz</p></figcaption></figure></div>


# Brand

Brand Assets

Download official logo assets.&#x20;

Please capitalize **CoindPay** name and don´t place our logo on top of other objects.

## Standard

**SVG**

* light

<div align="left"><figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FZFOakcMAZkUSYGWGkwcb%2Flight.svg?alt=media&amp;token=fb7e653b-f156-443a-8a37-16362834c22f" alt=""><figcaption></figcaption></figure></div>

* dark

<div align="left"><figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FsasEOQBDL1k633Qfgngc%2Fdark.svg?alt=media&amp;token=7af0b3c7-492c-4f24-82a8-d5b7cb31695d" alt="" width="201"><figcaption></figcaption></figure></div>

* dark\_radius

<div align="left"><figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FnQnDliaXZaKJVnq4680Y%2Fpro_dark.svg?alt=media&amp;token=53d3929d-a23f-4edc-89bc-b70a34ee6488" alt=""><figcaption></figcaption></figure></div>

* colors

<div align="left"><figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2F5qLw1XkAD6TJWLO6aY5V%2Fpro_colors.svg?alt=media&amp;token=29db28af-0d44-460c-af4f-d0a853fc88a9" alt=""><figcaption></figcaption></figure></div>

**PNG**

* light

<div align="left"><figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2F7uR7iXbvNerpwmp80tfP%2Flight.png?alt=media&amp;token=48730b49-b730-4d4e-87b0-c83b500fb399" alt="" width="151"><figcaption></figcaption></figure></div>

* dark

<div align="left"><figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FyMAfxzlFnAv65IuLdSvW%2Fdark.png?alt=media&amp;token=09157ffd-f9c7-4198-8cc6-59d6a5366940" alt="" width="188"><figcaption></figcaption></figure></div>

* dark\_radius

<div align="left"><figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FIu0u4yXfiCpE0O5jyKKj%2Fpro_dark.png?alt=media&amp;token=1559cbf3-1612-46af-bd96-354a3f003a02" alt="" width="281"><figcaption></figcaption></figure></div>

* colors

<div align="left"><figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2F96qFeWOnX64Fe8D7kNLT%2Fpro_colors.png?alt=media&amp;token=f88d7f5e-ee47-40c6-ae50-9e12bffcd081" alt="" width="281"><figcaption></figcaption></figure></div>

## Pro

**PNG**

* light

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FpJrbb50juakZRnzucxm5%2Fpro_mix_white.png?alt=media&amp;token=4230844c-ef05-497e-b821-896f7db36a77" alt=""><figcaption></figcaption></figure>

* dark

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FVjCQBi0ztucUyHwzMNQF%2Fpro_mix_black.png?alt=media&amp;token=a2876a04-00e9-4979-a800-5b2c441b890a" alt=""><figcaption></figcaption></figure>

* colors

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FW2731jN1UJg8zIoZgXFf%2Fpro_mix_colors.png?alt=media&amp;token=5fe7f8c9-eb9e-41cb-aa2d-b3910ccd4d6d" alt=""><figcaption></figcaption></figure>

* colors\_light

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FywzRGy44GUAhGvxAqYra%2Fpro_mix_colors_light.png?alt=media&amp;token=860616ed-1043-4525-b0d5-c48242ddeb1f" alt=""><figcaption></figcaption></figure>

## Banner

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FER2i7vzKUYrudbul92Fy%2Fbrand_banner_x.jpg?alt=media&amp;token=a87857ca-e3b0-46ea-b86d-f78f78eb416f" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FBM3nHSnJ1yIcpSlE5nkE%2Fbrand_banner_default.jpg?alt=media&amp;token=aa48f266-4b65-45cd-a516-3003d3bdb497" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4241769897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSH3Edva2xmXt469sOUlR%2Fuploads%2FsMZWOIFBBz4Zof5AOtGA%2Fjason_x_banner_logo.jpg?alt=media&amp;token=799c8c7c-33e5-48c2-8e7b-a53978fb21b3" alt=""><figcaption></figcaption></figure>


# Contact Us

Whether you are a business partner, developer, or CoindPay user, we’re here to help you connect with the right team.

### Company

<mark style="color:$info;">Subsidiary：</mark>

{% hint style="info" %}
**Coind Labs Limited**
{% endhint %}

{% hint style="info" %}
**CoindPay Inc**
{% endhint %}

### Social

#### **X（Twitter）**

<https://x.com/coindPay>

#### **Github**

<https://github.com/CoindLabs>

#### **Social Portal**

> Including Discord, Telegram, Schedules, etc.

<https://coindpay.xyz/CoindPay>

#### **Email**

**Career：**<career@coindpay.xyz>

> Interested in joining our global PayFi infrastructure team?

**BD & Collaboration：**<contact@coindpay.xyz>

> For general inquiries or partnership opportunities

**Tech & Support：**<support@coindpay.xyz>

> For technical integration, troubleshooting, or developer support

**Consumers：**<consumer@coindpay.xyz>

> For product feedback or service-related questions

**Partners：**[partners@coindpay.xyz](mailto:consumer@coindpay.xyz)

> For institutional clients and partners, KYB and compliance checks


