TriportRPC

getTransactions

POSThttps://triport.io/rpc/ton

Returns an account's transactions newest-first with paired cursor pagination.

TON mainnetton:rpcfree+; ton_read_rpc_heavy: 15 / 20 / 100 / 250 RPS (free / basic / pro / business; default, unmeasured)

getTransactions returns transactions for one TON account in newest-first order. Each transaction has a required transaction ID; the schema also permits serialized data, fee, Unix time, inbound message, and outbound messages.

Pagination uses a pair, not an independent scalar cursor. To continue, take both lt and hash from the oldest transaction returned and send them together in the next request. to_lt supplies an optional lower logical-time boundary.

The archival flag is a routing hint for a measured deep-history server. It is not a promise of continuous history and does not change an unavailable old range into an empty successful response.

Parameters

JSON-RPC params is a by-name object.

Params: object (by-name).

addressstringrequired
TON account in raw or user-friendly form.
limitintegeroptional
Maximum number of transactions; minimum 1, default 10.
ltstringoptional
Starting logical time encoded as unsigned decimal text.
hashstringoptional
Hash paired with lt for continuation.
to_ltstringoptional
Optional lower logical-time boundary as unsigned decimal text.
archivalbooleanoptional
Deep-history routing hint; default false.

Response

Response fields

FieldTypeDescription
jsonrpcstringJSON-RPC protocol version.
idnumber or stringCorrelates the response with the request.
resultarrayTransactions in newest-first order.
result[].transaction_idobjectRequired transaction cursor pair.
result[].transaction_id.ltstringTransaction logical time as unsigned decimal text.
result[].transaction_id.hashstringTransaction hash.
result[].datastringOptional serialized transaction data.
result[].feestringOptional fee value encoded as text.
result[].utimeintegerOptional Unix timestamp.
result[].in_msgobjectOptional inbound-message object.
result[].out_msgsarrayOptional outbound-message objects.

The JSON is copied from the accepted live fixture. The fixture sanitizer replaces transaction BoC data, so the displayed data value documents representation rather than a reusable transaction payload.

Errors

See TON errors for the shared envelope and retention handling.

CodeMeaningWhen it happens
-32602Invalid paramsThe address, limit, cursor pair, boundary, or named-object structure is invalid.
beyond_retentionHistory unavailableThe requested cursor falls outside the selected liteserver's history window.
-32601Method not foundThe method is outside the published read-only catalog.
401UnauthorizedThe API key is missing or invalid.
429Rate limitedThe ton_read_rpc_heavy budget is exceeded.

Examples

const params = { address: "EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs", limit: 1 };
const response = await fetch("https://triport.io/rpc/ton", {
  method: "POST",
  headers: { "x-token": process.env.TRIPORT_API_KEY, "Content-Type": "application/json" },
  body: JSON.stringify({ jsonrpc: "2.0", id: "transactions", method: "getTransactions", params }),
});
const { result: transactions } = await response.json();
const next = transactions.at(-1)?.transaction_id;

Notes

  • Preserve both values from transaction_id for pagination; lt or hash alone is not a cursor.
  • Pruned liteservers had a measured floor of 86 860 000. Two nodes answered from genesis, but ls-17 had a measured continuity gap.
  • archival: true is best-effort routing. No REST gateway, transaction stream, write method, or WebSocket subscription is published for TON.
  • Named params and response matching by id apply to batch calls.
  • Related method: getAddressInformation.