Skip to content
All documentation chapters
On this page

Supra Core API — Public Client Documentation

Chapter 20 — FA Burn Events Endpoint

1. Purpose

GET /api/v1/fa/burn-events returns normalized final FA burn events. The route is read-only and always returns the fa flow; no LEGACY burn route is currently public.

2. Request Parameters

Parameter Required? Default or bound Description
network No mainnet Validated network name
token No None Exact token metadata
symbol No None Exact token symbol
sender No None Exact sender address
tx_hash No None Exact transaction hash
from_block No None Inclusive minimum block
to_block No None Inclusive maximum block
limit No Default 50, maximum 500 Maximum rows; larger values are clamped
offset No Default 0, maximum 10000 Rows skipped; larger values are clamped

from_block must not exceed to_block. Invalid integer or range input returns HTTP 400.

3. Example

curl -sS \
  -H 'Accept: application/json' \
  -H 'X-API-Key: <api-key>' \
  '<api-base>/api/v1/fa/burn-events?token=<token-address>&limit=<limit>&offset=<offset>'

Illustrative response:

{
  "ok": true,
  "data": [
    {
      "id": 1,
      "network": "mainnet",
      "flow": "fa",
      "tx_hash": "<tx-hash>",
      "block_height": 123,
      "block_time_unix": 1234567890,
      "block_time_utc": "2009-02-13T23:31:30Z",
      "block_time_available": true,
      "function_name": "<function-name>",
      "source_event_index": 0,
      "event_type": "BURN",
      "evidence_type": "<event-type>",
      "sender_address": "<sender-address>",
      "token_metadata": "<token-address>",
      "token_symbol": "<token-symbol>",
      "token_decimals": 6,
      "amount_raw": "1250000000",
      "amount": "1250.000000",
      "store_address": "<store-address>",
      "source_contract_version": "<contract-version>",
      "created_at": "<row-created-at>"
    }
  ],
  "meta": {
    "api_version": "v1",
    "endpoint": "fa/burn-events",
    "network": "mainnet",
    "flow": "fa",
    "limit": 50,
    "offset": 0,
    "count": 1
  }
}

4. Timestamp and Amount Semantics

  • amount_raw is the exact integer amount as a JSON string.
  • amount is the normalized decimal amount as a JSON string.
  • token_decimals identifies the normalization scale when available.
  • block_time_unix and block_time_utc identify chain time when the source supplied it.
  • If chain time is unavailable, both time fields are null and block_time_available is false.
  • created_at is row-creation context and must not replace missing chain time.

Never replace unavailable time or amount evidence with zero.

5. Ordering, Pagination, and Privacy

Rows are ordered by block height, source event index, and row id descending. Use limit and offset; there is no page_token.

The response does not expose internal identity keys, evidence JSON, raw transaction payloads, or lineage records.

6. Errors

Status Meaning
400 Invalid network, integer, or block range
401 Authentication failure
405 Method other than GET
429 Rate limit exceeded
500 Sanitized internal error

An empty data array with HTTP 200 is a valid no-match result.