Send Request Callback

A callback will be sent to the merchant's callback_url when the send request is created or the status is changed

📘

API Callback Documentation

Read more about common callback functionalities in the API Callbacks section.

CoinGate callback sends the data below:

Name

Type

Value

id

Integer

Unique identifier for the send request.

status

String

The current status of the send request (e.g., pending, completed, failed). Available Statuses

purpose

String

Description of the purpose of the Send Request.

callback_url

String

URL that will receive status change callbacks for this request.

created_at

String

Timestamp indicating when the send request was created.

external_id

String

A unique identifier provided by the merchant during record creation. (optional, string, max length: 50, uniq)

ledger_account

Hash

Ledger account used for deducting the sending amount.

input_amount

Float

The amount you intend to send in the specified input_currency.

input_currency

Hash

The currency in which the amount is provided. This will be converted into the sending_currency before sending. For example, if you want to send 100 EUR but the beneficiary’s currency is ETH, the amount will be converted accordingly.

sending_amount

Float

The actual amount that will be sent to the beneficiary after conversion.

sending_currency

Hash

The currency in which the beneficiary will receive the funds.

input_to_sending_rate

String

The exchange rate used to convert input_amount from input_currency to sending_amount in sending_currency. For example, if sending 100 EUR (input_currency) to ETH (sending_currency), this rate determines how much ETH the beneficiary receives.

sending_to_balance_debit_rate

String

The exchange rate between sending_currency and balance_debit_currency, used to determine the deducted amount from the ledger.

balance_debit_amount

Float

The amount deducted from the ledger account. If the sending currency and ledger account currency differ, the amount will be converted before deduction. For example, if you send 0.1 ETH, but your ledger balance is in USDC, then the equivalent USDC amount will be deducted.

balance_debit_currency

Hash

The currency of the ledger account used for deduction.

beneficiary_payout_setting

Hash

The payout settings associated with the beneficiary. The beneficiary currency is the same as sending_currency.

fees

Hash

The fees applied to the transaction. Possible fee types include:

  • service_fee: A fee for processing the transaction.
  • conversion_fee: A fee applied when converting between sending_currencyand balance_debit_currency.

blockchain_transactions

Array

An array containing details of blockchain transactions related to this request. Each transaction includes:

  • txid: The blockchain transaction ID.
  • amount: The amount transferred in the transaction.
  • status: The current status of the transaction.
  • network_confirmations: The number of confirmations received on the blockchain.

actions_required

Hash

The actions_required field is present only when an exchange is needed (i.e., when sending_currency and balance_debit_currency are different). If currency conversion is not required, user confirmation is not needed. Note that the conversion is based on sending_currency and balance_debit_currency, not input_currency, even if the currencies differ. Possible actions: PATCH(cancel) or PATCH(confirm).

requires_2fa_confirmation

Boolean

Indicates whether the operation requires additional manual confirmation in the account dashboard using two-factor authentication (2FA).

An example of callback in JSON:

{
  "id": 11,
  "status": "draft",
  "purpose": "Sending 100 EUR Value",
  "callback_url": "https://example.com/callback_url",
  "created_at": "2025-03-13T00:45:17.250Z",
  "external_id": "1",
  "ledger_account": {
    "id": "01JNQWKKJ6WXN8BZT1Y66B6G9H",
    "balance": "1.0",
    "status": "active",
    "currency": {
      "id": 1,
      "title": "Bitcoin",
      "symbol": "BTC"
    }
  },
  "input_amount": "100.0",
  "input_currency": {
    "id": 2,
    "title": "Euro",
    "kind": "fiat",
    "symbol": "EUR"
  },
  "sending_amount": "0.049422",
  "sending_currency": {
    "id": 5,
    "title": "Ethereum",
    "kind": "crypto",
    "symbol": "ETH"
  },
  "input_to_sending_rate": "0.00049422",
  "sending_to_balance_debit_rate": "40.3258",
  "balance_debit_amount": "0.00122557",
  "balance_debit_currency": {
    "id": 1,
    "title": "Bitcoin",
    "kind": "crypto",
    "symbol": "BTC"
  },
  "beneficiary_payout_setting": {
    "id": 2,
    "created_at": "2025-03-07T10:39:33.152Z",
    "beneficiary_id": 1,
    "platform": {
      "id": 2,
      "title": "Ethereum",
      "id_name": "ethereum"
    },
    "crypto_address": "tb1qcq670zweall6zz4f96flfrefhr8myfxz9ll9l2",
    "crypto_address_metadata": null,
    "currency": {
      "id": 5,
      "title": "Ethereum",
      "kind": "crypto",
      "symbol": "ETH"
    }
  },
  "fees": {
    "service_fee": {
      "amount": "0.00001226",
      "currency": {
        "id": 1,
        "title": "Bitcoin",
        "kind": "crypto",
        "symbol": "BTC"
      }
    },
    "conversion_fee": {
      "amount": "0.00001226",
      "currency": {
        "id": 1,
        "title": "Bitcoin",
        "kind": "crypto",
        "symbol": "BTC"
      }
    }
  },
  "blockchain_transactions": [],
  "actions_required": {
    "confirm": "https://api.coingate.com/api/v2/send_requests/11/confirm",
    "cancel": "https://api.coingate.com/api/v2/send_requests/11/cancel"
  },
  "requires_2fa_confirmation": true
}