For the complete documentation index, see llms.txt. This page is also available as Markdown.

Fetch transaction history

Fetch paginated transaction history for reconciliation, or fetch a single transaction by sending exactly one of id, txHash, or reqId (mutually exclusive). The transaction webhook delivers the same transaction structure; parse detailsJson according to the transaction type.

post
/api/fma/v1/transactions
Authorizations
X-Api-SignaturestringRequired

Partner Auth: EIP-191 signature by the partner's registered backend key, with X-Api-Deadline and optional X-Api-PublicKey headers. See the Signature and verify guide.

Header parameters
X-Api-SignaturestringRequired

0x-prefixed 65-byte hex EIP-191 signature over the Partner Auth message. See the Signature and verify guide.

X-Api-DeadlinestringRequired

Unix seconds. UR rejects the request when the current time is past the deadline. Keep the validity window at or under 5 minutes.

X-Api-PublicKeystringRequired

0x-prefixed partner signer address registered with UR.

X-Ur-IdstringOptional

Send at least one of X-Ur-Id or X-External-User-Id. When both are present, UR resolves the user by X-Ur-Id first.

X-External-User-IdstringOptional

Send at least one of X-Ur-Id or X-External-User-Id. When both are present, UR resolves the user by X-Ur-Id first.

Body
pageSizeintegerOptional

Page size. Defaults to 50; maximum is 100.

typestringOptional

Single transaction type filter. Do not send together with txTypes.

txTypesstring[]Optional

Multiple transaction type filter. Do not send together with type.

currenciesstring[]Optional

Currency filter. Values are normalized to lowercase by UR.

directionstring · enumOptional

Direction filter.

Possible values:
statusstringOptional

Transaction status filter.

chainIdstringOptional

Chain ID filter, for example eip155:5000.

tokenSymbolstringOptional

Token symbol filter, for example USDC.

minAmountstringOptional

Minimum amount filter.

maxAmountstringOptional

Maximum amount filter.

fromTimestampintegerOptional

Start timestamp filter.

toTimestampintegerOptional

End timestamp filter.

cursorTimestampintegerOptional

Next-page cursor timestamp from data.nextCursor.timestamp. Send only when hasNextPage is true.

cursorIdintegerOptional

Next-page cursor ID from data.nextCursor.id. Send only when hasNextPage is true.

prevCursorTimestampintegerOptional

Previous-page cursor timestamp from data.prevCursor.timestamp. Send only when hasPrevPage is true.

prevCursorIdintegerOptional

Previous-page cursor ID from data.prevCursor.id. Send only when hasPrevPage is true.

idintegerOptional

Exact lookup by UR internal transaction ID. Mutually exclusive with txHash and reqId.

txHashstringOptional

Exact lookup by transaction hash. Mutually exclusive with id and reqId.

reqIdstringOptional

Exact lookup by the idempotency key used when the transaction was created. Mutually exclusive with id and txHash.

Responses
200

Standard envelope. Business errors return HTTP 200 with a non-zero code. For exact lookups, data.items is empty when no transaction matches.

application/json

Standard UR OpenAPI response envelope. code 0 means success; a non-zero code is a business error described by message.

codeintegerRequired

0 on success; non-zero business error code.

messagestringRequired

Human-readable explanation. May be empty on success.

post/api/fma/v1/transactions
POST /api/fma/v1/transactions HTTP/1.1
Host: openapi.ur.app
X-Api-Signature: text
X-Api-Deadline: text
X-Api-PublicKey: text
Content-Type: application/json
Accept: */*
Content-Length: 15

{
  "pageSize": 20
}
200

Standard envelope. Business errors return HTTP 200 with a non-zero code. For exact lookups, data.items is empty when no transaction matches.

{
  "code": 0,
  "message": "",
  "data": {
    "items": [
      {
        "id": 150650,
        "txHash": "0x3051...",
        "txLogIndex": 0,
        "blockNumber": 12345678,
        "createTimeE9": 1779275635000000000,
        "broadcastTimeE9": 1779275636000000000,
        "finalTimeE9": 1779275640000000000,
        "type": "MARQETA_AUTHORIZE",
        "chainId": "eip155:5000",
        "chainName": "Mantle",
        "urId": "7123456789",
        "direction": "OUT",
        "amount": "-36.90",
        "currency": "usd",
        "status": "PENDING",
        "reqId": "fx-20260423-0001",
        "detailsJson": "{\"merchant\":\"Merchant ABC\"}",
        "refundType": ""
      }
    ],
    "hasNextPage": true,
    "hasPrevPage": false,
    "nextCursor": {
      "timestamp": 1779275635000000000,
      "id": 150650
    },
    "prevCursor": {
      "timestamp": 0,
      "id": 0
    },
    "currentPageSize": 1
  }
}

Last updated