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:

NameTypeValue
idIntegerUnique identifier for the send request.
statusStringThe current status of the send request (e.g., pending, completed, failed). Available Statuses
purposeStringDescription of the purpose of the Send Request.
callback_urlStringURL that will receive status change callbacks for this request.
created_atStringTimestamp indicating when the send request was created.
external_idStringA unique identifier provided by the merchant during record creation. (optional, string, max length: 50, uniq)
ledger_accountHashLedger account used for deducting the sending amount.
input_amountFloatThe amount you intend to send in the specified input_currency.
input_currencyHashThe 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_amountFloatThe actual amount that will be sent to the beneficiary after conversion.
sending_currencyHashThe currency in which the beneficiary will receive the funds.
input_to_sending_rateStringThe 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_rateStringThe exchange rate between sending_currency and balance_debit_currency, used to determine the deducted amount from the ledger.
balance_debit_amountFloatThe 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_currencyHashThe currency of the ledger account used for deduction.
beneficiary_payout_settingHashThe payout settings associated with the beneficiary. The beneficiary currency is the same as sending_currency.
feesHashThe 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_transactionsArrayAn 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_requiredHashThe 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_confirmationBooleanIndicates 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
}