Transactions API
Read the payment activity of your program's cards. See Transaction Lifecycle for statuses and stages.
This page is part of the reference of the first version of the Web3Card API, kept here for reference. API v1 does not take new integrations: API v2 replaces it, and the platform today works as described in the rest of this manual.
GET /transactions
List transactions across your program. Filters: userId, cardId, status, from, to. Paginated with limit and cursor.
// Response
{
"data": [
{
"id": "txn_c410",
"cardId": "card_3b7c",
"userId": "usr_9f4c",
"status": "settled",
"amount": "42.90",
"currency": "USDC",
"merchant": {
"name": "AIRLINE TICKETS LTD",
"category": "airlines",
"country": "US"
},
"authorizedAt": "2026-07-18T09:12:44Z",
"settledAt": "2026-07-19T02:03:10Z",
"settlementTxHash": "0x9c2f…e11a"
}
],
"nextCursor": null
}
settlementTxHash links every settled payment to its verifiable on-chain settlement.
GET /transactions/{id}
Retrieve a single transaction with its full event history (authorization, capture, settlement, refunds).
GET /transactions/dispute-reasons
List the accepted dispute reason codes.
// Response
{
"data": [
{ "code": "fraud", "label": "Unauthorized transaction" },
{ "code": "not_received", "label": "Goods or services not received" },
{ "code": "duplicate", "label": "Duplicate charge" },
{ "code": "amount_differs", "label": "Charged amount differs" }
]
}
POST /transactions/{id}/disputes
Open a dispute for a settled transaction. Available within 60 days of settlement.
// Request
{ "reason": "duplicate", "comment": "Charged twice for the same order." }
// Response
{ "id": "dsp_11ba", "transactionId": "txn_c410", "status": "open" }
Dispute progress is delivered through transaction.updated webhooks with the embedded dispute object.