Skip to Content
APIAccountGet Account Approval Change Records

Get Account Approval Change Records

1. Overview & Typical Use

Query the token approval (Approve) change history for a specified account. Supports querying by approval records or transfer records.

  • Typical use: track approval amount changes, review approval usage, contract approval security analysis.
  • When not to use: for current approval list use “Get Approval List”.
  • limit maximum is 50.

2. Endpoint & Authentication

GET /api/account/approve/change

For Base URL and authentication, see Common Network & Authentication.

3. Request

ParameterTypeRequiredDefaultDescription
contract_addressstringYes—Contract address
from_addressstringYes—Initiator address
to_addressstringYes—Recipient address
startintegerNo0Starting offset
limitintegerNo10Page size, max 50
typestringNoapproveRecord type. approve: approval records; transfer: transfer records

4. Response

Top-level

FieldTypeRequiredDescriptionUnit/Precision
totalintegerRequiredTotal record count—
rangeTotalintegerRequiredTotal count within the filtered range—
dataarrayRequiredChange records array; see below—
contractMapobjectRequiredAddress → boolean map of whether it is a contract (may be empty object)—
contractInfoobjectOptionalContract address → label info; may be empty object {}, not returned in some responses; value schema below—

data[] elements

FieldTypeRequiredDescriptionUnit/Precision
hashstringRequiredTransaction hash—
blockintegerRequiredBlock height—
date_createdintegerRequiredRecord creation timems timestamp
from_addressstringRequiredInitiator address—
fromAddressTagstringOptionalInitiator address label; only present when the initiator has a public label (verified 2026-06-02: key absent for accounts without a label)—
owner_addressstringRequiredOwner address—
to_addressstringRequiredRecipient address—
toAddressTagstringOptionalRecipient address label; only present when the recipient has a public label (verified 2026-06-02: key absent for accounts without a label)—
contract_addressstringRequiredContract address—
typestringRequiredRecord type: approve or transfer—
amount_strstringRequiredApproval/transfer amount (raw value string)Requires tokenInfo.tokenDecimal to convert
unlimitedbooleanRequiredWhether it is an unlimited approval—
revertbooleanRequiredWhether the transaction was reverted—
confirmedbooleanRequiredWhether confirmed—
contract_retstringRequiredContract execution result—
tokenInfoobjectRequiredToken metadata (value schema below)—

contractInfo[<addr>] object schema (8 fields):

FieldTypeRequiredDescription
tag1stringRequiredPrimary label (project name / contract name / exchange name)
tag1UrlstringRequiredURL of the primary label (may be an empty string)
namestringRequiredFormal contract / project name
isTokenbooleanRequiredWhether it is a token contract (true / false)
vipbooleanRequiredWhether it is a VIP entity (true / false)
riskboolean | stringRequiredRisk label; most endpoints return boolean, some return a string risk type (blacklist / fraud, etc.)
publicTagDescstringRequiredPublic label description; empty string for most accounts
publicTagstringOptionalPublic label (e.g. "USDT Token" / "Binance"); returned only for well-known entities or certain endpoints

tokenInfo object schema (9 common fields + issuerAddr):

FieldTypeRequiredDescriptionUnit/Precision
tokenIdstringRequiredToken contract address (Base58); TRX placeholder is _—
tokenAbbrstringRequiredToken abbreviation (e.g. USDT / TRX)—
tokenNamestringRequiredToken name—
tokenDecimalintegerRequiredDecimal precision (required to convert the amount field)—
tokenCanShowintegerRequiredWhether displayable (1 yes / 0 no)—
tokenTypestringRequiredToken type (trc10 / trc20 / trc721 / trc1155)—
tokenLogostringRequiredToken logo URL—
tokenLevelstringRequiredToken level: 0 (UNKNOWN), 1 (NEUTRAL), 2 (OK), 3 (SUSPICIOUS), 4 (UNSAFE)—
vipbooleanRequiredWhether it is a VIP token—
issuerAddrstringRequiredIssuer address (Base58)—

5. Errors

For HTTP status codes, see Common Errors. Notes for this endpoint:

  • Empty result is not an error: no matching change records returns 200 + data: [], which is a normal response.
Last updated on: