---
title: "Diff Snapshot"
method: GET
path: "/v0/token/snapshot/diff"
tags: ["Token"]
---

# Diff Snapshot

`GET /v0/token/snapshot/diff`

Retrieve tokens that experienced a state change within the specified timeframe

Specify your preferred page size to manage response size.
Specify the time frame in minutes.
it is recommended to use timeframes shorter than 30 minutes

Use the provided cursor to navigate through the pages.
The cursor value will be null on the final page, indicating there are no more results to fetch.
To retrieve the complete data set, iterate through all pages using the cursors provided in the response

## Query parameters

- `chain` 'arbitrum' | 'avalanche' | 'base' | 'bsc' | 'ethereum' | 'optimism' | 'polygon' | 'zora' | 'solana' | 'starknet' | 'starknet-sepolia' | 'stellar' | 'linea' | 'degen' | 'zksync' | 'scroll' | 'blast' | 'soneium-minato' | 'base-sepolia' | 'bitcoin' | 'abstract' | 'soneium' | 'ink' | 'berachain' | 'unichain' | 'ronin' | 'sui' | 'hedera' | 'hyperevm' | 'xlayer' | 'monad' | 'megaeth' | 'tempo' | 'sei' | 'kaia' | 'tron' | 'robinhood' | 'flare', required — The chain name
- `timeframe` integer — Timeframe in minutes
- `cursor` string, nullable — Cursor to start from, if not provided, the first page will be returned
- `size` integer — Number of tokens to return in a page

## Response `200`

Successful Response

- TokenCursorPageTokenValidationResponse
  - `items` TokenValidationResponse[], required
    - `result_type` 'Benign' | 'Warning' | 'Malicious' | 'Spam', required
    - `malicious_score` string, required — Score between 0 to 1 (double)
    - `attack_types` object, required — Dictionary of detected attacks found during the scan
    - `chain` 'arbitrum' | 'avalanche' | 'base' | 'bsc' | 'ethereum' | 'optimism' | 'polygon' | 'zora' | 'solana' | 'starknet' | 'starknet-sepolia' | 'stellar' | 'linea' | 'degen' | 'zksync' | 'scroll' | 'blast' | 'soneium-minato' | 'base-sepolia' | 'bitcoin' | 'abstract' | 'soneium' | 'ink' | 'berachain' | 'unichain' | 'ronin' | 'sui' | 'hedera' | 'hyperevm' | 'xlayer' | 'monad' | 'megaeth' | 'tempo' | 'sei' | 'kaia' | 'tron' | 'robinhood' | 'flare', required — The chain name
    - `address` string, required — Token address to validate (EVM / Solana)
    - `metadata` union, required — Metadata of the token
      - SolanaMetadata
        - `type` string, nullable — Type of the token
        - `name` string, nullable — Name of the token
        - `symbol` string, nullable — Symbol of the token
        - `decimals` integer, nullable — Decimals of the token
        - `image_url` string, nullable — URL of the token image
        - `description` string, nullable — Description of the token
        - `deployer` string, nullable — Address of the deployer of the fungible token
        - `deployer_balance` Amount
          - `amount` number, nullable
          - `amount_wei` string, nullable
        - `contract_balance` Amount
          - `amount` number, nullable
          - `amount_wei` string, nullable
        - `owner_balance` Amount
          - `amount` number, nullable
          - `amount_wei` string, nullable
        - `owner` string, nullable — Contract owner address
        - `creation_timestamp` string, nullable — Contract deploy date
        - `external_links` ExternalLinks
          - `homepage` string, nullable
          - `twitter_page` string, nullable
          - `telegram_channel_id` string, nullable
        - `urls` string[], nullable — Urls associated with the token
        - `malicious_urls` string[], nullable — Malicious urls associated with the token
        - `token_creation_initiator` string, nullable — Address of the token creation initiator, only set if the tokens was created by a well known token launch platform
        - `impersonation_targets` ImpersonationTarget[], nullable — List of tokens that this token is impersonating, if detected as an impersonator
          - `chain` string, required — Blockchain network of the target token
          - `address` string, required — Address of the token being impersonated
          - `name` string, nullable — Name of the token being impersonated
          - `symbol` string, nullable — Symbol of the token being impersonated
          - `source` 'TOP_TOKEN' | 'USER_DEFINED' — Source of the impersonation match
        - `mint_authority` string, nullable — Solana token mint authority account
        - `update_authority` string, nullable — Solana token update authority account
        - `freeze_authority` string, nullable — Solana token freeze authority account
        - `permanent_delegate` string, nullable — Solana token permanent delegate account
      - BitcoinMetadataToken
        - `type` string, nullable — Type of the token
        - `name` string, nullable — Name of the token
        - `symbol` string, nullable — Symbol of the token
        - `decimals` integer, nullable — Decimals of the token
        - `id` string, nullable — The unique ID for the Rune
        - `number` integer, nullable — The rune's unique sequential number.
        - `formatted_name` string, nullable — The formatted name of the rune, with spacers
      - EvmMetadataToken
        - `type` string, nullable — Type of the token
        - `name` string, nullable — Name of the token
        - `symbol` string, nullable — Symbol of the token
        - `decimals` integer, nullable — Decimals of the token
        - `image_url` string, nullable — URL of the token image
        - `description` string, nullable — Description of the token
        - `deployer` string, nullable — Address of the deployer of the fungible token
        - `deployer_balance` Amount
          - `amount` number, nullable
          - `amount_wei` string, nullable
        - `contract_balance` Amount
          - `amount` number, nullable
          - `amount_wei` string, nullable
        - `owner_balance` Amount
          - `amount` number, nullable
          - `amount_wei` string, nullable
        - `owner` string, nullable — Contract owner address
        - `creation_timestamp` string, nullable — Contract deploy date
        - `external_links` ExternalLinks
          - `homepage` string, nullable
          - `twitter_page` string, nullable
          - `telegram_channel_id` string, nullable
        - `urls` string[], nullable — Urls associated with the token
        - `malicious_urls` string[], nullable — Malicious urls associated with the token
        - `token_creation_initiator` string, nullable — Address of the token creation initiator, only set if the tokens was created by a well known token launch platform
        - `impersonation_targets` ImpersonationTarget[], nullable — List of tokens that this token is impersonating, if detected as an impersonator
          - `chain` string, required — Blockchain network of the target token
          - `address` string, required — Address of the token being impersonated
          - `name` string, nullable — Name of the token being impersonated
          - `symbol` string, nullable — Symbol of the token being impersonated
          - `source` 'TOP_TOKEN' | 'USER_DEFINED' — Source of the impersonation match
    - `fees` Fees, required
      - `transfer` number, nullable — Transfer fee of the token
      - `transfer_fee_max_amount` integer, nullable — The maximum value that a transfer fee will cost
      - `buy` number, nullable — Buy fee of the token
      - `sell` number, nullable — Sell fee of the token
    - `features` Feature[] — List of features associated with the token
      - `feature_id` 'VERIFIED_CONTRACT' | 'UNVERIFIED_CONTRACT' | 'HIGH_TRADE_VOLUME' | 'MARKET_PLACE_SALES_HISTORY' | 'HIGH_REPUTATION_TOKEN' | 'ONCHAIN_ACTIVITY_VALIDATOR' | 'STATIC_CODE_SIGNATURE' | 'KNOWN_MALICIOUS' | 'IS_EOA' | 'IS_CONTRACT' | 'ERC20_CONTRACT' | 'TRUSTED_CONTRACT' | 'BENIGN_CREATOR' | 'METADATA' | 'AIRDROP_PATTERN' | 'IMPERSONATOR' | 'INORGANIC_VOLUME' | 'DYNAMIC_ANALYSIS' | 'CONCENTRATED_SUPPLY_DISTRIBUTION' | 'HONEYPOT' | 'INSUFFICIENT_LOCKED_LIQUIDITY' | 'UNSTABLE_TOKEN_PRICE' | 'RUGPULL' | 'WASH_TRADING' | 'CONSUMER_OVERRIDE' | 'INAPPROPRIATE_CONTENT' | 'HIGH_TRANSFER_FEE' | 'HIGH_BUY_FEE' | 'HIGH_SELL_FEE' | 'UNSELLABLE_TOKEN' | 'IS_MINTABLE' | 'REBASE_TOKEN' | 'LIQUID_STAKING_TOKEN' | 'MODIFIABLE_TAXES' | 'CAN_BLACKLIST' | 'CAN_WHITELIST' | 'HAS_TRADING_COOLDOWN' | 'EXTERNAL_FUNCTIONS' | 'HIDDEN_OWNER' | 'TRANSFER_PAUSEABLE' | 'OWNERSHIP_RENOUNCED' | 'OWNER_CAN_CHANGE_BALANCE' | 'PROXY_CONTRACT' | 'SIMILAR_MALICIOUS_CONTRACT' | 'IMPERSONATOR_SENSITIVE_ASSET' | 'IMPERSONATOR_HIGH_CONFIDENCE' | 'IMPERSONATOR_MEDIUM_CONFIDENCE' | 'IMPERSONATOR_LOW_CONFIDENCE' | 'IMPERSONATION_PROTECTED' | 'FAKE_VOLUME' | 'HIDDEN_SUPPLY_BY_KEY_HOLDER' | 'FAKE_TRADE_MAKER_COUNT' | 'TRANSFER_FROM_REVERTS' | 'OFFENSIVE_TOKEN_METADATA' | 'LISTED_ON_CENTRALIZED_EXCHANGE' | 'SANCTIONED_CREATOR' | 'SPAM_TEXT' | 'BONDING_CURVE_TOKEN' | 'HEAVILY_SNIPED' | 'SOLANA_TOKEN_2022' | 'POST_DUMP' | 'DEX_PAID' | 'LOW_REPUTATION_CREATOR' | 'SNIPE_AT_MINT' | 'TRANSFER_HOOK_ENABLED' | 'CONFIDENTIAL_TRANSFERS_ENABLED' | 'NON_TRANSERABLE' | 'TOKEN_BACKDOOR' | 'CREATED_VIA_LAUNCHPAD' | 'COMPROMISED_TOKEN' | 'LONG_FUND_TRAIL', required
      - `type` 'Benign' | 'Info' | 'Warning' | 'Malicious', required
      - `description` string, required — Description of the feature
    - `trading_limits` TradingLimits, required
      - `max_buy` Amount
        - `amount` number, nullable
        - `amount_wei` string, nullable
      - `max_sell` Amount
        - `amount` number, nullable
        - `amount_wei` string, nullable
      - `max_holding` Amount
        - `amount` number, nullable
        - `amount_wei` string, nullable
      - `sell_limit_per_block` Amount
        - `amount` number, nullable
        - `amount_wei` string, nullable
    - `financial_stats` FinancialStats, required
      - `supply` integer, nullable — token supply
      - `holders_count` integer, nullable — Amount of token holders
      - `usd_price_per_unit` number, nullable — token price in USD
      - `burned_liquidity_percentage` number, nullable — Token liquidity burned percentage
      - `locked_liquidity_percentage` number, nullable — Token liquidity locked percentage
      - `top_holders` TopHolder[] — Top token holders
        - `label` 'market' | 'locker' | 'wallet' | 'contract' | 'program'
        - `name` string, nullable
        - `address` string, nullable — Address
        - `holding_percentage` number, nullable — Holding position out of total token liquidity
      - `total_reserve_in_usd` number, nullable — Total reserve in USD
      - `dev_holding_percentage` number, nullable — Percentage of token's supply held in known developer wallets (0.0 to 100.0)
      - `initial_snipers_holding_percentage` number, nullable — Percentage of token's supply _currently_ held by sniper bots (0.0 to 100.0). Currently available for Solana only.
      - `snipers_holding_percentage` number, nullable — Percentage of token's supply _initially_ held by sniper bots (0.0 to 100.0). Currently available for Solana only.
      - `bundlers_holding_percentage` number, nullable — Percentage of token currently held by bundlers - wallets that bought in the exact same Solana slot, at any point in the token's life-cycle. Currently available for Solana only.
      - `insiders_holding_percentage` number, nullable — Percentage of supply that is currently held by insiders - defined as wallets exhibiting early acquisition behaviors typically associated with insider activity.
      - `markets` TokenMarket[] — Token markets/pools
        - `market_type` 'BONDING_CURVE' | 'AMM' | 'UNKNOWN', required
        - `market_name` string, required
        - `pair_name` string, required
        - `address` string, required
        - `base_token` string, required
        - `quote_token` string, required
        - `reserve_in_usd` number, required
  - `current_page` string, required — Cursor to refetch the current page
  - `previous_page` string, nullable — Cursor for the previous page
  - `next_page` string, nullable — Cursor for the next page

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/blockaid-official/apis/blockaid-api.md) · [All operations](https://skmtc.net/blockaid-official/apis/blockaid-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/blockaid-official/blockaid-api/versions/17c41f337b2e/schema)
