GET

List Payins

La référence de l'API est en anglais. Les guides, l'authentification, les webhooks et les codes d'erreur sont en français.

Lists deposits created through the API (not those created in the panel), newest first (created_at descending), with filters and pagination.

Answers 200 OK. summary counts pending, completed, failed and reversed deposits matching the same filters. minimum_payment is the percentage of crypto_amount that marks the payin completed; received_amount is what actually arrived, and payment_status says partial, exact or overpaid (null before any payment). A reversed deposit carries reversal with reversed_at, partial (true when part of the payin is still credited) and amounts (balance key and amount removed); reversal is null otherwise. meta.filters echoes the filters applied, with status in its public value. Fields that need explanation are described below.

GEThttps://bridge.bifrostcrypto.com/v1/list-payin
Portée requise :payin:read(une clé nouvelle sans liste est en lecture seule)

Headers

KeyValue
X-Bifrost-Invoke{{api_key}}

Query Parameters

ParameterExample
page
1
per_page
50
status
completed
crypto_currency
USDT
network
BinanceSmartChain
date_from
2026-01-01
date_to
2026-01-31
reference_id
invoice_67890

cURL Example

bash
curl -X GET "https://bridge.bifrostcrypto.com/v1/list-payin?page=1&per_page=50&status=completed" \
  -H "X-Bifrost-Invoke: YOUR_API_KEY"

Response Example

json
{
  "message": "deposits_retrieved_success",
  "deposits": [
    {
      "internal_reference": "f531c319-6957-45c6-a154-d4944ca3eee3",
      "reference_id": "invoice_67890",
      "wallet": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0",
      "crypto_currency": "USDT",
      "invoice_currency": "USDT",
      "invoice_amount": "50.00",
      "fiat_currency": "USD",
      "crypto_amount": "50.00",
      "received_amount": "0.00000000",
      "fiat_amount": "50.00",
      "process_by": "crypto_amount",
      "percent_rate": "2.50",
      "network_fee": "0.00000000",
      "minimum_payment": "10.00",
      "network": "BinanceSmartChain",
      "status": "pending",
      "payment_status": null,
      "txid": null,
      "payments": [],
      "webhook_url": "https://your-site.com/webhook-deposit",
      "is_wallet_fixed": false,
      "reversal": null,
      "created_at": "2026-01-16 10:00:00",
      "updated_at": "2026-01-16 10:00:00",
      "expires_at": "2026-01-16 14:00:00"
    }
  ],
  "summary": {
    "total_pending": 1,
    "total_completed": 0,
    "total_failed": 0,
    "total_reversed": 0
  },
  "meta": {
    "current_page": 1,
    "per_page": 50,
    "total": 1,
    "total_pages": 1,
    "filters": {
      "status": "pending",
      "crypto_currency": "USDT"
    }
  }
}

Deposit fields

Fields of each entry in deposits that are not obvious from their name.

FieldMeaning
invoice_currency · invoice_amountToken and amount of the payin as created (the same as crypto_currency and crypto_amount).
received_amountAmount actually received, converted to crypto_currency when the customer paid with another token.
minimum_paymentPercentage of crypto_amount that marks the payin completed.
payment_statuspartial, exact or overpaid, comparing received_amount with crypto_amount; null before any payment.
payments[]One entry per transfer received: token, amount, network, txid and timestamp. converted_to (token and amount) appears when the transfer was in a token other than the invoice token.
txidText holding a JSON list of transaction hashes, e.g. "[\"0xabc...\"]". Decode it as JSON; null before any payment.
is_wallet_fixedtrue when the payin came from a fixed address.
reversalnull, or reversed_at, partial and amounts when the network undid a credited payment.

Errors

Every error has the shape error.code, error.message and, when useful, error.details. Authentication, scope and rate-limit errors (401, 403, 429) apply to every endpoint and are described under Authentication.

StatusCodeWhenWhat to do
400invalid_page_numberpage is negative.Fix the request before sending it again.
400invalid_per_page_limitper_page is negative or above 100.Fix the request before sending it again.
400invalid_status_filterstatus is not one of the accepted values.Fix the request before sending it again.
400invalid_network_filternetwork is not a known network name (case-sensitive).Fix the request before sending it again.
400invalid_date_from · invalid_date_toA date could not be read.Send YYYY-MM-DD.
500internal_errorUnexpected failure.Nothing was changed. Retry later.

Autres réponses

Réponses qui ne sont pas le chemin nominal et qui doivent malgré tout être traitées dans votre intégration.

400

Invalid filter

json
{
  "error": {
    "code": "invalid_network_filter",
    "message": "Invalid network filter"
  }
}