# API overview

{% hint style="danger" %}
This API version is deprecated and will no longer be supported after December 1, 2025. Refer to [API v3](/api-guide/api-overview.md) for updated descriptions.
{% endhint %}

## General information

The B2BINPAY API 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.

All methods are private. All requests except for [Obtain token](/api-guide-v2-deprecated/authentication.md#obtain-token) and [Refresh token](/api-guide-v2-deprecated/authentication.md#refresh-token) should contain HTTP header: `Authorization: Bearer <Access Token>`.

According to [JSON API Specification](https://jsonapi.org/format/), all requests should contain HTTP header: `Content-Type: application/vnd.api+json`.

## 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](/references/key-terms.md#callback).

To receive callbacks, specify a callback URL when sending a [Create deposit](/api-guide-v2-deprecated/deposit-methods.md#create-deposit) or [Create payout](/api-guide-v2-deprecated/payout-methods.md#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](/references/address-types.md) 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://api.it.b2binpay.com">https://api.it.b2binpay.com</a></td><td><a href="https://api-sandbox.b2binpay.com">https://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-v2-deprecated/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.
