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
| Param | Type | Default | Description |
|---|---|---|---|
limit | number | 20 | Max 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
}| Field | Description |
|---|---|
endpointId / endpoint | Null if the payment landed at a URL with no registered endpoint. |
amountUsdcRaw | Amount in raw USDC units (6 decimals). Divide by 1,000,000 to get the decimal value. |
status | "settled", "verified", "failed", or "unpaid_delivered". |
resourceUrl | Origin + path of the paid request (query stripped). |
txHash | null until on-chain settle confirms. |
Errors
| Status | Cause |
|---|---|
| 401 | Missing or invalid Authorization |
| 403 | API key lacks payments:accept scope |
Next
GET /v0/payments/:id — fetch a single payment with its full Ed25519 receipt.