List transactions
Transactions by playerId, gameId, from, to
Request
A client sends this request signed with its credential. The example is signed with the test API key test-key-test-key and the test secret docs-example-signing, at the timestamp 1767225600 with the nonce docs-example-nonce-0001; see Authentication and signing.
Headers
- Name
X-Api-Key- Type
- string, required
- Description
The credential id. Sent together with X-Timestamp, X-Nonce and X-Signature.
- Name
X-Signature- Type
- string, required
- Description
Base64 HMAC-SHA256 of the method, the path with its query, X-Timestamp, X-Nonce and the lowercase hex SHA-256 of the raw body, joined by newlines. Compared in constant time; 30 seconds of tolerance; each nonce is used once.
- Name
X-Timestamp- Type
- string, required
- Description
Unix seconds; within 30 seconds of the receiver's clock. Matches
^[0-9]{1,12}$.
- Name
X-Nonce- Type
- string, required
- Description
Single use per credential, kept until the timestamp plus 30 seconds. At least 16 characters. At most 128 characters.
Query parameters
- Name
playerId- Type
- string
- Description
The client's own player id, at most 44 characters so that every provider can carry it namespaced. At least 1 character. At most 44 characters.
- Name
gameId- Type
- string (uuid)
- Description
A UUID v7.
- Name
from- Type
- string (date-time)
- Description
Inclusive start. An RFC 3339 date-time with an offset and at most 3 fractional second digits. A UTC time outside the years 0100 to 9999, with the offset applied first, is 400 MALFORMED_REQUEST. Matches
^\d{4}-\d{2}-\d{2}[Tt]\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?(?:[Zz]|[+-]\d{2}:\d{2})$.
- Name
to- Type
- string (date-time)
- Description
Exclusive end. An RFC 3339 date-time with an offset and at most 3 fractional second digits. A UTC time outside the years 0100 to 9999, with the offset applied first, is 400 MALFORMED_REQUEST. Matches
^\d{4}-\d{2}-\d{2}[Tt]\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?(?:[Zz]|[+-]\d{2}:\d{2})$.
- Name
cursor- Type
- string
- Description
The opaque next_cursor of the previous page, sent back unchanged by the client it was given to. A history cursor is sealed for that client: another client's cursor, or one changed in any byte, is 400 MALFORMED_REQUEST. A history cursor is also bound to the filters of the page that returned it (limit, from, to, playerId, gameId). It expires one hour after that page. A cursor sent with other filters, or later, is the same 400 MALFORMED_REQUEST. A new first page starts the list again. At least 1 character. At most 512 characters.
- Name
limit- Type
- integer
- Description
At least 1. At most 200. Defaults to
50.
Request
curl "https://aggregator.asteriks.casino/v1/transactions?playerId=player-1001&limit=50" \
-H "X-Api-Key: test-key-test-key" \
-H "X-Timestamp: 1767225600" \
-H "X-Nonce: docs-example-nonce-0001" \
-H "X-Signature: +seVVs1NtDPnHTFIvgVY5LkiRw1yiA/AgIRmYp7K9KU="
Response
The answer is 200 with application/json.
- Name
items- Type
- object[], required
- Description
- Name
items[].transaction_id- Type
- string (uuid) | null, required
- Description
The wallet transaction_id the entry sent; null for an entry that called no wallet (tombstone, parked entry, compensation that sent nothing).
- Name
items[].provider_transaction_id- Type
- string | null, required
- Description
Null for the aggregator's own compensations. A compensation reuses the bet's key, so the journal keeps the bet's provider id and the list shows null for it.
- Name
items[].operation- Type
- string, required
- Description
One of
bet,win,rollback,round_finished,compensation,tombstone,retry.
- Name
items[].amount- Type
- integer, required
- Description
Gross: this entry's own amount in minor units, never netted against a later reversal. A rollback or compensation is an entry of its own that refers to it. At least 0. At most 9007199254740991.
- Name
items[].currency- Type
- string, required
- Description
One of
TRY,EUR,USD,USDT,TON,BTC,AED,AFN,ALL,AMD,AOA,ARS,AUD,AWG,AZN,BAM,BBD,BDT,BGN,BHD,BIF,BMD,BND,BOB,BOV,BRL,BSD,BTN,BWP,BYN,BZD,CAD,CDF,CHE,CHF,CHW,CLF,CLP,CNY,COP,COU,CRC,CUP,CVE,CZK,DJF,DKK,DOP,DZD,EGP,ERN,ETB,FJD,FKP,GBP,GEL,GHS,GIP,GMD,GNF,GTQ,GYD,HKD,HNL,HTG,HUF,IDR,ILS,INR,IQD,IRR,ISK,JMD,JOD,JPY,KES,KGS,KHR,KMF,KPW,KRW,KWD,KYD,KZT,LAK,LBP,LKR,LRD,LSL,LYD,MAD,MDL,MGA,MKD,MMK,MNT,MOP,MRU,MUR,MVR,MWK,MXN,MXV,MYR,MZN,NAD,NGN,NIO,NOK,NPR,NZD,OMR,PAB,PEN,PGK,PHP,PKR,PLN,PYG,QAR,RON,RSD,RUB,RWF,SAR,SBD,SCR,SDG,SEK,SGD,SHP,SLE,SOS,SRD,SSP,STN,SVC,SYP,SZL,THB,TJS,TMT,TND,TOP,TTD,TWD,TZS,UAH,UGX,USN,UYI,UYU,UYW,UZS,VED,VES,VND,VUV,WST,XAF,XCD,XCG,XOF,XPF,YER,ZAR,ZMW,ZWG.
- Name
items[].outcome- Type
- string, required
- Description
The entry's journaled state. One of
pending,completed,refused,compensating,compensated,retrying,needs_attention.
- Name
items[].balance_reported- Type
- integer | null, required
- Description
The balance the client reported, below zero after a rollback of a win; null when it did not answer with one. At least -9007199254740991. At most 9007199254740991.
- Name
items[].occurred_at- Type
- string (date-time), required
- Description
- Name
items[].refers_to_transaction_id- Type
- string (uuid) | null, required
- Description
The wallet transaction_id of the entry a rollback or compensation reverses; null when that entry called no wallet.
- Name
items[].provider_metadata- Type
- object | any[] | null, required
- Description
The provider's own metadata of the operation, opaque: the JSON object or array the provider sent, for support; never read for money. It is stored parsed, so an object's key order is not preserved. Integers beyond 2^53 may lose precision when read back; the value is support data and is never used for money. Null when the provider sent none. The debit of a sportsbook bet carries its bet_slip. The bet_slip holds the bet type, the system index, the total factor, the cash-out flag and the events of the slip. Each event has its name, date, tournament, sport id, factor, live flag and status. A value the provider did not send is null. At most 100 events are kept. Each text is cut to 256 characters.
- Name
next_cursor- Type
- string | null, required
- Description
Null on the last page.
Errors
Each error carries one of these codes in the error object of Errors.
- Name
MALFORMED_REQUEST- Type
- 400
- Description
MALFORMED_REQUEST: a body, query or path value fails its schema.
- Name
UNAUTHORIZED- Type
- 401
- Description
UNAUTHORIZED: a missing or wrong key, signature, timestamp or nonce.
- Name
INTERNAL_ERROR- Type
- 503
- Description
INTERNAL_ERROR is retryable. The page waits until every journal entry or round up to its horizon is committed or rolled back. One still open after the read's bound refuses the whole page rather than answer part of it. Repeat the same request after Retry-After. Retry-After: The whole seconds to wait before repeating the request. Cache-Control: A refusal is never cached.
Response
{
"items": [
{
"transaction_id": "0199c5a0-0000-7000-8000-000000000004",
"provider_transaction_id": "transaction-7731",
"operation": "bet",
"amount": 2500,
"currency": "EUR",
"outcome": "pending",
"balance_reported": 97500,
"occurred_at": "2026-10-13T12:00:00Z",
"refers_to_transaction_id": null,
"provider_metadata": {
"bet_slip": {
"bet_type_id": 1,
"system_index": null,
"factor": 2.35,
"is_cashout": false,
"events": [
{
"event_name": "Team A - Team B",
"event_date": "2026-10-22T18:00:00Z",
"tournament_name": "Example League",
"sport_id": 1,
"factor": 2.35,
"is_live": false,
"status": "Open"
}
]
}
}
}
],
"next_cursor": null
}