# Limits: Buy Amount & Sell Quantity

All onramp and offramp transactions are subject to provider-specific limits.

* **Buy limits** define the minimum and maximum *fiat amount* a user can spend.
* **Sell limits** define the minimum and maximum *crypto amount* a user can sell.

These limits depend on multiple factors such as provider, region, currency, payment method, and selected asset.To cover different integration scenarios, Coindisco provides **three separate APIs** for retrieving limits — from high-level aggregated values to fully detailed provider-specific data.Choose the appropriate endpoint based on the level of precision required in your integration:

* Use **global limits** for quick validation and initial UI boundaries
* Use **method-level limits** to display available payment options
* Use **provider-level limits** for precise calculations and final selection

Each option is described in detail below.

***

#### 1. Get Global Limits (All Providers) <a href="#id-1.-get-global-limits-all-providers" id="id-1.-get-global-limits-all-providers"></a>

Use this endpoint to **pre-fetch aggregated minimum and maximum limits across all providers**.This is useful for:

* displaying approximate boundaries in the UI before user selection
* performing a basic validation that a transaction is possible

The response contains the **widest possible range** (minimum of all minimums and maximum of all maximums) for both **buy and sell** operations.

```http
curl --location 'https://api.coindisco.com/api/white-label/v1/aggregated-limits/' --header 'partner-api-key: YOUR_API_KEY'
```

Response example

```http
{
    "version": 1,
    "buy": {
        "3": { // currency id (USD for example)
            "min_buy": 1,
            "max_buy": 30000
        },
    },
    "sell": {
        "2": { // cryptocurrency id (ETH for example)
            "min_sell": 0.00193,
            "max_sell": 62.768
        },
    }
}
```

***

#### 2. Get Available Methods with Limits <a href="#id-2.-get-available-methods-with-limits" id="id-2.-get-available-methods-with-limits"></a>

This endpoint returns a list of **payment methods available for a specific context**, along with their limits.Use this when:

* user has selected asset and region
* you want to show **available payment methods with limits**

Each method in the response includes its **aggregated limits across relevant providers**.

```http
curl --location '{{domain}}/api/white-label/v1/regions/{{region_id}}/v2/payment-methods/?\
service_id=1,14& \
type=buy/sell& \ 
cryptocurrency={{bitcoin_id}}& \
network={{bitcoin_network_id}}& \
limits=true& \
currency=USD' \
--header 'partner-api-key: YOUR_API_KEY'
```

Response example

```http
[
    {
        "id": 5,
        "letter_id": "mobile_wallet_apple_pay",
        "code": "mobile_wallet",
        "name": "Apple Pay",
        "icon": "https://s3.amazonaws.com/cdn-staging.coindisco.com/media/service_integration/PaymentMethod/mobile_wallet_ios_s9k38kz.png",
        "min_limit": 10,
        "max_limit": 50000
    },
    {
        "id": 10,
        "letter_id": "mobile_wallet_google_pay",
        "code": "mobile_wallet",
        "name": "Google Pay",
        "icon": "https://s3.amazonaws.com/cdn-staging.coindisco.com/media/service_integration/PaymentMethod/mobile_wallet_android.png",
        "min_limit": 10,
        "max_limit": 50000
    },
]
```

***

### 3. Get Provider-Specific Limits

This is the most detailed endpoint.

In addition to all parameters from the previous endpoint, you also pass:

* payment method

The response returns **limits for each individual provider** supporting this method.

Use this when:

* user selected a specific payment method
* you need **exact limits per provider**

```http
curl --location '{{domain}}/api/white-label/v1/limits/evaluate/?\
currency={{usd_currency}}& \
cryptocurrency={{eth_id}}& \
network={{eth_network_id}}& \
region={{usa_region}}& \
payment_method={{credit_card}}& \
type=buy/sell' \
--header 'partner-api-key: YOUR_API_KEY'
```

Response example

```http
[
    {
        "service": {
            "id": 1,
            "name": "MoonPay",
            "slug": "moonpay"
        },
        "limits": {
            "min": 20,
            "max": 30000
        }
    },
    {
        "service": {
            "id": 5,
            "name": "Transak",
            "slug": "transak"
        },
        "limits": {
            "min": 5,
            "max": 3000
        }
    },
]
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://coindisco.gitbook.io/coindisco/api-integration/limits-buy-amount-and-sell-quantity.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
