# API overview

{% hint style="danger" %}

### Important announcement

We announce the release of the new API version **v3** on June 1, 2025.

This version introduces the following significant changes:

* New [base URLs](#base-urls)
* New [Authentication](https://docs.b2binpay.com/api-guide/authentication) procedure
* New [Callback secret](https://docs.b2binpay.com/how-tos/manage-your-profile-and-system/how-to-access-api#obtain-a-callback-secret) and modifications in the callback verification method for [deposits](https://docs.b2binpay.com/deposit-methods#callback-verification) and [payouts](https://docs.b2binpay.com/payout-methods#callback-verification)

**Action required:**

We strongly encourage you to review the changes and update your integrations **before December 1, 2025**, as the old API version will be shut down after this date. Please ensure all updates are completed before the deadline to avoid any service disruptions.

**Deprecated API notice:**

The previous version of the API guide has been moved to a [separate section](https://docs.b2binpay.com/api-guide-v2-deprecated/api-overview) and is now marked as deprecated.
{% endhint %}

{% hint style="warning" %}
Before you start working with the B2BINPAY API, you need to enable API access to the system. Refer to [How to access the API](https://docs.b2binpay.com/how-tos/manage-your-profile-and-system/how-to-access-api) for step-by-step instructions.
{% endhint %}

## General information

The B2BINPAY API v3 is organized in accordance with JSON API paradigm. For a better understanding of the paradigm principles, read the [JSON API Specification](https://jsonapi.org/format/).

We use conventional HTTP response codes, OAuth 2.0 protocol for authentication, and HMAC-SHA256 algorithm for encryption.

Except for [Authentication](https://docs.b2binpay.com/api-guide/authentication), all requests must contain the following HTTP headers:

* `Authorization: Bearer {YOUR_ACCESS_TOKEN}`: Used to authenticate your request.
* `Content-Type: application/vnd.api+json`: Required according to [JSON API Specification](https://jsonapi.org/format/).

## Filtering

Filters by object parameters can be applied to any <mark style="color:green;">`GET`</mark>-method according to the [JSON API Specification](https://jsonapi.org/format/).

## Callbacks

The B2BINPAY API also provides flexible options for callback — an asynchronous notification about changing statuses of deposits and payouts. To learn more, refer to [Callback](https://docs.b2binpay.com/references/key-terms#callback).

To receive callbacks, specify a callback URL when sending a [Create deposit](https://docs.b2binpay.com/deposit-methods#create-deposit) or [Create payout](https://docs.b2binpay.com/payout-methods#create-payout) request. When a transaction receives the required number of confirmation blocks, the callback is sent via an HTTP <mark style="color:blue;">`POST`</mark>-request to the specified URL. If you also want to be notified when the number of confirmations received for a transaction doesn’t reach a specific threshold or exceeds it, indicate the required number of confirmations in the request.

## Date-time values

All date-time values are specified as per [ISO 8601-1:2019](https://www.iso.org/standard/70907.html), with milliseconds precision and timezone included: `YYYY-MM-DDThh:mm:ss[.SSSSSS]±hh:mm`.

## Destination object

The object contains the following fields:

* `address_type` (string or null)\
  For wallets denominated in BTC, LTC, BCH, XRP: the address type. Refer to [Address types](https://docs.b2binpay.com/references/address-types) for supported values.\
  For other wallets the value is null.
* `address` (string)\
  The deposit address.\
  For payments in XRP, an array of objects is returned containing the `x-address` and `address` (with a destination `tag` additionally specified):

{% code overflow="wrap" %}

```json
"destination": [
  {
    "address_type": "x-address",
    "address": "X7dBkB9KmvUh6GGHbjhxdu4LfkwhJ74oVWbGRoy7VLnHdJ6"
  },
  {
    "address_type": "address",
    "address": "rsxXXvBXmKUkCyCeNCHUFpfCX9pQdxQhv5",
    "tag": "0"
  }
]
```

{% endcode %}

For payments in XLM, the `destination` object is as follows:

{% code overflow="wrap" %}

```json
"destination": {
  "address_type": "address",
  "address": "GCZJFWB5NVQHVBMV4U6CCJIXXBGINGYF2W33PMD5REBD5VQ6H6BLCJR5",
  "tag_type": 0,
  "tag": ""
}
```

{% endcode %}

where:

* `address_type` is always `"address"`.
* `address` is a string value containing the wallet address.
* `tag_type` is a number value containing tag or memo type. Possible values:
  * `0` — no memo
  * `1` — a 64-bit unsigned integer
* `tag` is a string value containing the tag.

## API rate limits and accessibility

The number of requests to the endpoint without prior authentication is limited to 15 per 1 minute.

To check the network availability of the system, use the `/ping` endpoint without authorization headers.

## Base URLs

<table><thead><tr><th width="137">Code</th><th width="244">Production</th><th>Sandbox</th></tr></thead><tbody><tr><td><code>[base]</code></td><td><a href="https://sv.v3.api.b2binpay.com/">https://sv.v3.api.b2binpay.com/</a> (El Salvador jurisdiction)</td><td><a href="https://v3.api-sandbox.b2binpay.com/">https://v3.api-sandbox.b2binpay.com/</a></td></tr></tbody></table>


---

# 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://docs.b2binpay.com/api-guide/api-overview.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.
