LOOMAL
SDK / API ReferencePayments

List Payments

List recent payments for the current Identity

Scope: payments:accept

Returns recent payments received by this Identity, newest first.

Request

import { Loomal } from "@loomal/sdk";

const loomal = new Loomal({ apiKey: process.env.LOOMAL_API_KEY! });
const { payments, count } = await loomal.payments.list({ limit: 20 });
import os
from loomal import Loomal

loomal = Loomal(api_key=os.environ["LOOMAL_API_KEY"])
result = loomal.payments.list(limit=20)
curl https://api.loomal.ai/v0/payments?limit=20 \
  -H "Authorization: Bearer loid-your-api-key"

Query Parameters

ParamTypeDefaultDescription
limitnumber20Max rows to return, capped at 100

Response — 200 OK

{
  "payments": [
    {
      "id": "cmoh…",
      "endpointId": "se_abc123",
      "endpoint": {
        "id": "se_abc123",
        "urlPattern": "https://your-api.com/search",
        "priceUsdc": "0.05"
      },
      "network": "base",
      "payerAddress": "0x<buyer-eoa-address>",
      "recipientAddress": "0x<your-identity-wallet-address>",
      "amountUsdcRaw": "50000",
      "txHash": "0x<onchain-settle-tx-hash>",
      "status": "settled",
      "resourceUrl": "https://your-api.com/search",
      "failureReason": null,
      "createdAt": "2026-04-28T12:34:56.789Z",
      "settledAt": "2026-04-28T12:34:57.123Z"
    }
  ],
  "count": 1
}
FieldDescription
endpointId / endpointNull if the payment landed at a URL with no registered endpoint.
amountUsdcRawAmount in raw USDC units (6 decimals). Divide by 1,000,000 to get the decimal value.
status"settled", "verified", "failed", or "unpaid_delivered".
resourceUrlOrigin + path of the paid request (query stripped).
txHashnull until on-chain settle confirms.

Errors

StatusCause
401Missing or invalid Authorization
403API key lacks payments:accept scope

Next

GET /v0/payments/:id — fetch a single payment with its full Ed25519 receipt.

On this page