API Reference

Payments

Read confirmed on-chain payments you have received.

The Payment object

A confirmed on-chain payment received by your account, usually tied to the invoice it settled.

objectstring
Always `"payment"`.
idstring
Unique identifier for the payment.
invoice_idstring | null
The invoice this payment settled, if any.
assetstring
Asset received. Currently always `BTC`.
amount_satsinteger
Amount received, in satoshis.
amount_usd_at_receiptnumber | null
USD value at the time of receipt. `null` if unavailable.
tx_hashstring | null
On-chain transaction hash.
created_atstring
ISO 8601 timestamp the payment confirmed.

Example payment

application/json
{
  "object": "payment",
  "id": "pay_5Rt9Bc2",
  "invoice_id": "inv_3n8Kd0Qz",
  "asset": "BTC",
  "amount_sats": 132099,
  "amount_usd_at_receipt": 99.87,
  "tx_hash": "9f2c1a7e5b3d8c4f6a0e2d1b7c9f4a3e8d6b2c1f0a9e7d5c3b1f8a6e4d2c0b9a",
  "created_at": "2026-09-16T18:14:22.000Z"
}

List payments

read
GET/api/v1/payments

Returns confirmed on-chain payments received by the merchant, optionally filtered to a single invoice.

Query parameters

limitintegerOptional
Maximum number of items to return, newest first.1–100 · Default: 50
invoice_idstringOptional
Return only payments that settled this invoice.

Request

curl "https://markgroup.app/api/v1/payments" \
  -H "Authorization: Bearer $MG_API_KEY"

Response · 200

application/json
{
  "object": "list",
  "data": [
    {
      "object": "payment",
      "id": "pay_5Rt9Bc2",
      "invoice_id": "inv_3n8Kd0Qz",
      "asset": "BTC",
      "amount_sats": 132099,
      "amount_usd_at_receipt": 99.87,
      "tx_hash": "9f2c1a7e5b3d8c4f6a0e2d1b7c9f4a3e8d6b2c1f0a9e7d5c3b1f8a6e4d2c0b9a",
      "created_at": "2026-09-16T18:14:22.000Z"
    }
  ]
}

Errors

  • 400invalid_requestThe request was malformed — a field is missing, the wrong type, or out of range. The message names the offending field.