Connect to Gram (Toncoin) via Vezgo API
Accounts
Positions
Transactions
Support for Accounts, Positions and Transactions enabled.
- Balances and positions support added
- Jettons positions enabled.
- Staking support enabled.
- Transactions support enabled
Data mapping
A field-level guide to the Vezgo API data for Gram (Toncoin) — what each attribute means and where to read it — so you can map it into your own system.
| Data | Where to read it | Source on Gram (Toncoin) |
|---|---|---|
| Account & wallet | account.wallets[].address | The connected TON account address. One address is one account; wallet.address is the stable identity reused across syncs and reconnects. |
| Balances / positions | account.balances[] | Native TON plus every jetton (TON's token standard) the account holds, from the live on-chain snapshot. Each balance has ticker, amount and fiat_value (USD); jettons add ticker_address — the jetton master contract — and carry the token's image and verification status in misc. |
| Transactions | GET /accounts/:id/transactions | One Vezgo transaction per on-chain TON transaction, keyed by its hash. See "How to read a transaction" below — in particular, every row is denominated in TON. |
| Assets / securities | balance.ticker · balance.ticker_address | Native TON uses ticker TON. Jettons are keyed by ticker_address — the jetton master contract address — because jetton symbols are self-declared on-chain and are not unique; whitespace in a symbol is collapsed to hyphens, and USD₮ is normalised to USDT. |
How to read a transaction
TON transactions are built from messages: an incoming message credits the account, outgoing messages debit it. Vezgo emits one transaction per on-chain transaction — read the movement from parts[0] and the fee from fees[]:
- Value movement — parts[0] (direction sent/received, ticker, amount, fiat_value, from_address, to_address). The ticker is always "TON": the amount is the TON carried by the message, taken from the first outgoing message when the account sent, or from the incoming message when it received.
- Jetton transfers — a jetton moves via a message that also carries TON for gas, so the transaction appears here as its TON leg, with misc.op_name naming the operation (for example jetton_transfer). The jetton amount itself is not in the transaction feed; read jetton holdings from account.balances[].
- Transactions with several outgoing messages (batch sends) are represented by their first outgoing message.
- Network fee — fees[] (always TON), taken from the transaction's total fees.
- misc.aborted marks a transaction that failed on-chain — it still consumed a fee, and the description carries an "(aborted)" suffix. misc.origin_type is TON's own transaction type.
// One Vezgo transaction = one on-chain TON transaction
const hash = tx.misc.origin_id; // == tx.transaction_hash
const kind = tx.misc.origin_type; // TON transaction type, commonly "TransOrd"
const move = tx.parts?.[0]; // always ticker "TON"
const fee = tx.fees?.[0]; // total fees, in TON
if (tx.misc.op_name === "jetton_transfer") {
// A jetton moved. The TON here is the gas that carried it — the jetton
// amount is not in this feed; reconcile jettons from account.balances[].
}
if (tx.misc.aborted) { /* failed on-chain; the fee was still paid */ }
// TON has no tokenTransfers / nftTransfers / internalTransfers arrays.| Where to read it | Attributes | What it is |
|---|---|---|
tx.parts[0] | direction, ticker ("TON"), amount, fiat_value, from_address, to_address | The TON movement. Addresses come from the message that carried it. |
tx.fees[0] | ticker ("TON"), amount, fiat_value | Total fees for the transaction, always in TON. |
tx.misc | origin_id, origin_type, op_name, aborted | op_name is the decoded operation of the message (e.g. jetton_transfer); aborted flags an on-chain failure. |
misc.origin_type is TON's own transaction type, passed through unchanged. Treat the set as open-ended:
- TransOrd
Supported
- Native TON balances and transfers
- Jetton balances, keyed by their jetton master contract
- Network fees (reported in TON)
- Aborted transactions, flagged rather than dropped
- USD fiat valuation for TON and for priced jettons
Notes & limitations
- Every transaction row is denominated in TON — a jetton transfer appears as its TON gas leg with misc.op_name set; jetton amounts come from account.balances[], not from the transaction feed.
- A transaction with several outgoing messages is represented by its first outgoing message.
- Identify jettons by ticker_address (the jetton master contract), not by ticker — jetton symbols are self-declared, whitespace is collapsed to hyphens, and USD₮ is normalised to USDT.
- misc.aborted marks transactions that failed on-chain; they are still reported because they consumed a fee.
Try to connect to Gram (Toncoin) in our Demo Sandbox
Open DemoLet's get you started
To get your API Keys, sign up on the portal or reach out to the team at sales@vezgo.com