Skip to main content
Poll this endpoint to check the confirmation status of a settlement. The response includes the full settlement record along with nested details about the associated invoice, service, payer, and merchant. If the settlement is in SUBMITTED status and has a transaction hash, Retempo automatically re-checks the on-chain receipt on every request — no separate polling mechanism is needed.
GET https://api.retempo.xyz/api/v1/settlements/:settlementId

Path Parameters

settlementId
string
required
The unique identifier of the settlement to retrieve.

Response

A successful request returns HTTP 200 OK with the full settlement object and all related records.
settlement
object
The requested settlement record with all related objects.

200 — Settlement retrieved

{
  "settlement": {
    "id": "clz1settle222",
    "invoiceId": "clz1invoice999",
    "serviceId": "clz1abc2def3ghi4",
    "payerId": "clz1user111",
    "merchantId": "clz1owner123",
    "amount": "49.000000",
    "currency": "USDC",
    "referenceHash": "0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890",
    "transactionHash": "0x9f8e7d6c5b4a392817263544536271819f0e1d2c3b4a5968...",
    "status": "CONFIRMED",
    "recordedAt": "2025-06-01T10:20:00.000Z",
    "createdAt": "2025-06-01T10:20:00.000Z",
    "invoice": {
      "id": "clz1invoice999",
      "status": "PAID",
      "amount": "49.000000",
      "currency": "USDC",
      "paidAt": "2025-06-01T10:20:00.000Z"
    },
    "service": {
      "id": "clz1abc2def3ghi4",
      "name": "DataStream Pro"
    },
    "payer": {
      "id": "clz1user111",
      "email": "subscriber@example.com"
    },
    "merchant": {
      "id": "clz1owner123",
      "email": "owner@datastreampro.com"
    }
  }
}

Example Request

curl https://api.retempo.xyz/api/v1/settlements/clz1settle222

Error Codes

StatusMessageCondition
404 Not FoundSettlement was not found.No settlement exists for the provided ID.
If the settlement status is SUBMITTED, the API automatically re-checks the on-chain receipt on each GET request and updates the status. Poll this endpoint until status transitions to CONFIRMED or FAILED.