/** * @pinax/token-api - Pinax Token API * * Power your apps & AI agents with real-time token data. * * @see https://thegraph.com/docs/en/token-api/quick-start/ * @license Apache-2.0 */ import type { paths } from './openapi.d.ts'; export type * from './openapi.d.ts'; export declare const DEFAULT_BASE_URL = "https://token-api.thegraph.com"; /** * Typed error class for API-level errors returned by the Token API. * * Network errors (DNS, socket, timeout) propagate as native `TypeError`/`Error` * and do not go through `handleResponse`, so they are not wrapped in `APIError`. * * @example * ```typescript * try { * await client.evm.tokens.getHolders({ ... }); * } catch (e) { * if (e instanceof APIError) { * if (e.status === 429) { // retry } * if (e.status === 404) { // not found } * } * } * ``` */ export declare class APIError extends Error { status: number; code: string; constructor(error: { status: number; code: string; message: string; }); } export type EvmTransfersResponse = NonNullable['evm']['tokens']['getTransfers']>>>; export type EvmSwapsResponse = NonNullable['evm']['dexs']['getSwaps']>>>; export type EvmTokensResponse = NonNullable['evm']['tokens']['getTokenMetadata']>>>; export type EvmBalancesResponse = NonNullable['evm']['tokens']['getBalances']>>>; export type EvmHoldersResponse = NonNullable['evm']['tokens']['getHolders']>>>; export type EvmPoolsResponse = NonNullable['evm']['dexs']['getPools']>>>; export type SvmTransfersResponse = NonNullable['svm']['tokens']['getTransfers']>>>; export type SvmSwapsResponse = NonNullable['svm']['dexs']['getSwaps']>>>; export type SvmTokensResponse = NonNullable['svm']['tokens']['getTokenMetadata']>>>; export type SvmNativeTokensResponse = NonNullable['svm']['tokens']['getNativeTokenMetadata']>>>; export type SvmBalancesResponse = NonNullable['svm']['tokens']['getBalances']>>>; export type SvmHoldersResponse = NonNullable['svm']['tokens']['getHolders']>>>; export type SvmPoolsResponse = NonNullable['svm']['dexs']['getPools']>>>; export type TvmTransfersResponse = NonNullable['tvm']['tokens']['getTransfers']>>>; export type TvmSwapsResponse = NonNullable['tvm']['dexs']['getSwaps']>>>; export type TvmTokensResponse = NonNullable['tvm']['tokens']['getTokenMetadata']>>>; export type TvmPoolsResponse = NonNullable['tvm']['dexs']['getPools']>>>; export type PolymarketMarketsResponse = NonNullable['polymarket']['getMarkets']>>>; export type PolymarketUsersResponse = NonNullable['polymarket']['getUsers']>>>; export type HyperliquidMarketsResponse = NonNullable['hyperliquid']['getMarkets']>>>; export type HyperliquidUsersResponse = NonNullable['hyperliquid']['getUsers']>>>; type GetQuery

= paths[P] extends { get: { parameters: { query?: infer Q; }; }; } ? Q : never; export type EvmNetwork = 'mainnet' | 'base' | 'arbitrum-one' | 'bsc' | 'polygon' | 'optimism' | 'avalanche' | 'unichain'; export type SvmNetwork = 'solana'; export type TvmNetwork = 'tron'; export type EvmDexProtocol = 'uniswap_v1' | 'uniswap_v2' | 'uniswap_v3' | 'uniswap_v4' | 'curvefi' | 'balancer' | 'bancor' | 'cow' | 'aerodrome' | 'dodo' | 'woofi' | 'traderjoe' | 'kyber_elastic'; export type TvmDexProtocol = 'uniswap_v1' | 'uniswap_v2' | 'uniswap_v3' | 'uniswap_v4' | 'sunpump'; export type SvmDexProtocol = 'jupiter_v4' | 'jupiter_v6' | 'pumpfun' | 'pumpfun_amm' | 'raydium_amm_v4' | 'raydium_clmm' | 'raydium_cpmm' | 'raydium_launchpad' | 'meteora_daam' | 'meteora_dlmm' | 'meteora_amm' | 'orca_whirlpool' | 'boop' | 'byreal' | 'darklake' | 'dumpfun' | 'moonshot' | 'pancakeswap'; export type SvmTokenProgramId = '11111111111111111111111111111111' | 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb' | 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'; export type SvmDexProgramId = 'LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj' | 'CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C' | '675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8' | 'CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK' | 'Eo7WjKq67rjJQSZxS6z3YkapzY3eMj6Xy8X5EQVn5UaB' | 'JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4' | 'LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo' | 'cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG' | 'pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA' | 'JUP4Fb2cqiRUcaTHdrPC8h2gNsA2ETXiPDD33WcGuJB' | '6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P'; /** * @deprecated Use `EvmDexProtocol` or `TvmDexProtocol` instead. */ export type DexProtocol = EvmDexProtocol; /** * EVM chain identifiers for network parameter. * Use these constants instead of raw strings for type safety. * * @example * ```typescript * import { TokenAPI, EVMChains } from "@pinax/token-api"; * * const client = new TokenAPI(); * const transfers = await client.evm.tokens.getTransfers({ * network: EVMChains.Ethereum, * limit: 10, * }); * ``` */ export declare const EVMChains: { /** Ethereum Mainnet (alias for 'mainnet') */ readonly Ethereum: "mainnet"; /** Base */ readonly Base: "base"; /** Arbitrum One */ readonly ArbitrumOne: "arbitrum-one"; /** BNB Smart Chain */ readonly BSC: "bsc"; /** Polygon */ readonly Polygon: "polygon"; /** Optimism */ readonly Optimism: "optimism"; /** Avalanche */ readonly Avalanche: "avalanche"; /** Unichain */ readonly Unichain: "unichain"; }; /** * SVM (Solana Virtual Machine) chain identifiers for network parameter. * Use these constants instead of raw strings for type safety. * * @example * ```typescript * import { TokenAPI, SVMChains } from "@pinax/token-api"; * * const client = new TokenAPI(); * const transfers = await client.svm.tokens.getTransfers({ * network: SVMChains.Solana, * limit: 10, * }); * ``` */ export declare const SVMChains: { /** Solana */ readonly Solana: "solana"; }; /** * TVM (Tron Virtual Machine) chain identifiers for network parameter. * Use these constants instead of raw strings for type safety. * * @example * ```typescript * import { TokenAPI, TVMChains } from "@pinax/token-api"; * * const client = new TokenAPI(); * const transfers = await client.tvm.tokens.getTransfers({ * network: TVMChains.Tron, * limit: 10, * }); * ``` */ export declare const TVMChains: { /** Tron */ readonly Tron: "tron"; }; /** * Configuration options for the Pinax SDK client */ export interface PinaxClientOptions { /** * Bearer token for authentication. * Get your API token at https://thegraph.market * * Required for most API endpoints. Some monitoring endpoints * like health, version, and networks may work without authentication. */ apiToken?: string; /** * Base URL for the API (defaults to production) */ baseUrl?: string; /** * Custom fetch implementation */ fetch?: typeof fetch; } /** * Create a Pinax Token API client for accessing the Token API * * @example * ```typescript * import { createAPIClient } from "@pinax/token-api"; * * const client = createAPIClient({ * apiToken: "your-api-token-jwt" * }); * * // Get token transfers * const { data, error } = await client.GET("/v1/evm/transfers", { * params: { * query: { * network: "mainnet", * to_address: "0xd8da6bf26964af9d7eed9e03e53415d37aa96045", * limit: 10 * } * } * }); * * if (data) { * console.log("Transfers:", data.data); * } * ``` */ export declare function createAPIClient(options?: PinaxClientOptions): import("openapi-fetch").Client; /** * EVM Tokens API - Token operations on EVM networks */ declare class EvmTokens { private client; constructor(client: ReturnType); /** * Get ERC-20 token transfers */ getTransfers(params: { network: EvmNetwork; transaction_id?: string | string[]; contract?: string | string[]; from_address?: string | string[]; to_address?: string | string[]; start_time?: string; end_time?: string; start_block?: number; end_block?: number; page?: number; limit?: number; }): Promise<{ data: { block_num: number; datetime: string; timestamp: number; transaction_id: string; contract: string; from: string; to: string; name: string | null; symbol: string | null; decimals: number | null; amount: string; value: number; network: "arbitrum-one" | "avalanche" | "base" | "bsc" | "mainnet" | "optimism" | "polygon" | "unichain"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get native token transfers (ETH, etc.) */ getNativeTransfers(params: { network: EvmNetwork; transaction_id?: string | string[]; from_address?: string | string[]; to_address?: string | string[]; start_time?: string; end_time?: string; start_block?: number; end_block?: number; page?: number; limit?: number; }): Promise<{ data: { block_num: number; datetime: string; timestamp: number; transaction_id: string; from: string; to: string; name: string | null; symbol: string | null; decimals: number | null; amount: string; value: number; network: "arbitrum-one" | "avalanche" | "base" | "bsc" | "mainnet" | "optimism" | "polygon" | "unichain"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get token metadata */ getTokenMetadata(params: { network: EvmNetwork; contract: string | string[]; }): Promise<{ data: { last_update: string; last_update_block_num: number; last_update_timestamp: number; contract: string; name: string | null; symbol: string | null; decimals: number | null; circulating_supply: number; total_supply: number; holders: number; total_transfers: number; network: "arbitrum-one" | "avalanche" | "base" | "bsc" | "mainnet" | "optimism" | "polygon" | "unichain"; icon?: { web3icon: string; }; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get token balances for a wallet address */ getBalances(params: { network: EvmNetwork; address: string | string[]; contract?: string | string[]; include_null_balances?: boolean; page?: number; limit?: number; }): Promise<{ data: { last_update: string; last_update_block_num: number; last_update_timestamp: number; address: string; contract: string; amount: string; value: number; name: string | null; symbol: string | null; decimals: number | null; network: "arbitrum-one" | "avalanche" | "base" | "bsc" | "mainnet" | "optimism" | "polygon" | "unichain"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get token holders */ getHolders(params: { network: EvmNetwork; contract: string; page?: number; limit?: number; }): Promise<{ data: { last_update: string; last_update_block_num: number; last_update_timestamp: number; address: string; contract: string; amount: string; value: number; is_contract: boolean; name: string | null; symbol: string | null; decimals: number | null; network: "arbitrum-one" | "avalanche" | "base" | "bsc" | "mainnet" | "optimism" | "polygon" | "unichain"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get native token holders (ranked by ETH balance, etc.) */ getNativeHolders(params: { network: EvmNetwork; page?: number; limit?: number; }): Promise<{ data: { last_update: string; last_update_block_num: number; last_update_timestamp: number; address: string; amount: string; value: number; is_contract: boolean; name: string | null; symbol: string | null; decimals: number | null; network: "arbitrum-one" | "avalanche" | "base" | "bsc" | "mainnet" | "optimism" | "polygon" | "unichain"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get native token balances for wallet addresses */ getNativeBalances(params: { network: EvmNetwork; address: string | string[]; }): Promise<{ data: { last_update: string; last_update_block_num: number; last_update_timestamp: number; address: string; amount: string; value: number; name: string | null; symbol: string | null; decimals: number | null; network: "arbitrum-one" | "avalanche" | "base" | "bsc" | "mainnet" | "optimism" | "polygon" | "unichain"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get historical token balance changes over time in OHLCV format */ getHistoricalBalances(params: { network: EvmNetwork; address: string; contract?: string | string[]; interval?: '1h' | '4h' | '1d' | '1w'; start_time?: string; end_time?: string; page?: number; limit?: number; }): Promise<{ data: { datetime: string; address: string; contract: string; decimals: number; open: number; high: number; low: number; close: number; name: string | null; symbol: string | null; network: "arbitrum-one" | "avalanche" | "base" | "bsc" | "mainnet" | "optimism" | "polygon" | "unichain"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get historical native balance changes over time in OHLCV format */ getHistoricalNativeBalances(params: { network: EvmNetwork; address: string; interval?: '1h' | '4h' | '1d' | '1w'; start_time?: string; end_time?: string; page?: number; limit?: number; }): Promise<{ data: { datetime: string; address: string; contract: string; decimals: number; open: number; high: number; low: number; close: number; name: string | null; symbol: string | null; network: "arbitrum-one" | "avalanche" | "base" | "bsc" | "mainnet" | "optimism" | "polygon" | "unichain"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get native token metadata (ETH, etc.) including supply and holder count */ getNativeTokenMetadata(params: { network: EvmNetwork; }): Promise<{ data: { last_update: string; last_update_block_num: number; last_update_timestamp: number; name: string | null; symbol: string | null; decimals: number | null; circulating_supply: number; total_supply: number; holders: number; network: "arbitrum-one" | "avalanche" | "base" | "bsc" | "mainnet" | "optimism" | "polygon" | "unichain"; icon?: { web3icon: string; }; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; } /** * EVM DEXs API - Decentralized exchange operations on EVM networks */ declare class EvmDexs { private client; constructor(client: ReturnType); /** * Get DEX swap transactions */ getSwaps(params: { network: EvmNetwork; transaction_id?: string | string[]; factory?: string | string[]; pool?: string | string[]; caller?: string | string[]; sender?: string | string[]; recipient?: string | string[]; input_contract?: string | string[]; output_contract?: string | string[]; protocol?: EvmDexProtocol; start_time?: string; end_time?: string; start_block?: number; end_block?: number; page?: number; limit?: number; }): Promise<{ data: { block_num: number; datetime: string; timestamp: number; transaction_id: string; transaction_index: number; transaction_from: string; call_index: number | null; log_index: number; log_ordinal: number; log_block_index: number; log_topic0: string; factory: string; pool: string; input_token: { address: string | null; symbol: string | null; decimals: number | null; }; output_token: { address: string | null; symbol: string | null; decimals: number | null; }; caller: string; user: string; sender: string; recipient: string; input_amount: string; input_value: number; output_amount: string; output_value: number; price: number; price_inv: number; protocol: "uniswap_v1" | "uniswap_v2" | "uniswap_v3" | "uniswap_v4" | "curvefi" | "balancer" | "bancor" | "cow" | "aerodrome" | "dodo" | "woofi" | "traderjoe" | "kyber_elastic"; summary: string; network: "arbitrum-one" | "avalanche" | "base" | "bsc" | "mainnet" | "optimism" | "polygon" | "unichain"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get DEX liquidity pools */ getPools(params: { network: EvmNetwork; factory?: string | string[]; pool?: string | string[]; input_token?: string | string[]; output_token?: string | string[]; protocol?: EvmDexProtocol; page?: number; limit?: number; }): Promise<{ data: { pool: string; factory: string; protocol: "uniswap_v1" | "uniswap_v2" | "uniswap_v3" | "uniswap_v4" | "curvefi" | "balancer" | "bancor" | "cow" | "aerodrome" | "dodo" | "woofi" | "traderjoe" | "kyber_elastic"; input_token: { address: string | null; symbol: string | null; decimals: number | null; }; output_token: { address: string | null; symbol: string | null; decimals: number | null; }; network: "arbitrum-one" | "avalanche" | "base" | "bsc" | "mainnet" | "optimism" | "polygon" | "unichain"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get supported DEXs */ getDexes(params: { network: EvmNetwork; page?: number; limit?: number; }): Promise<{ data: { factory: string; protocol: "uniswap_v1" | "uniswap_v2" | "uniswap_v3" | "uniswap_v4" | "curvefi" | "balancer" | "bancor" | "cow" | "aerodrome" | "dodo" | "woofi" | "traderjoe" | "kyber_elastic"; uaw: number; transactions: number; last_activity: string; network: "arbitrum-one" | "avalanche" | "base" | "bsc" | "mainnet" | "optimism" | "polygon" | "unichain"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get OHLCV price data for liquidity pools */ getPoolOHLC(params: { network: EvmNetwork; pool: string; interval?: '1h' | '4h' | '1d' | '1w'; start_time?: string; end_time?: string; page?: number; limit?: number; }): Promise<{ data: { datetime: string; ticker: string; pool: string; open: number; high: number; low: number; close: number; volume: number; transactions: number; network: "arbitrum-one" | "avalanche" | "base" | "bsc" | "mainnet" | "optimism" | "polygon" | "unichain"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; } /** * EVM NFTs API - NFT operations on EVM networks */ declare class EvmNfts { private client; constructor(client: ReturnType); /** * Get NFT collection metadata and stats */ getCollections(params: { network: EvmNetwork; contract: string; page?: number; limit?: number; }): Promise<{ data: { contract_creation: string; contract_creator: string; contract: string; name: string | null; symbol: string | null; owners: number; total_supply: number; total_unique_supply: number; total_transfers: number; network: "arbitrum-one" | "avalanche" | "base" | "bsc" | "mainnet" | "optimism" | "polygon" | "unichain"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get NFT holders for a collection */ getHolders(params: { network: EvmNetwork; contract: string; page?: number; limit?: number; }): Promise<{ data: { contract: string; token_standard: "ERC721" | "ERC1155"; address: string; quantity: number; unique_tokens: number; percentage: number; network: "arbitrum-one" | "avalanche" | "base" | "bsc" | "mainnet" | "optimism" | "polygon" | "unichain"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get NFT items with metadata */ getItems(params: { network: EvmNetwork; contract: string; token_id?: string | string[]; page?: number; limit?: number; }): Promise<{ data: { address: string; contract: string; token_id: string; token_standard: "ERC721" | "ERC1155"; name: string | null; description: string | null; image: string | null; uri: string | null; attributes: { trait_type: string; value: string; display_type?: string; }[]; network: "arbitrum-one" | "avalanche" | "base" | "bsc" | "mainnet" | "optimism" | "polygon" | "unichain"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get NFT ownerships by wallet address */ getOwnerships(params: { network: EvmNetwork; address: string | string[]; contract?: string | string[]; token_id?: string | string[]; token_standard?: 'ERC721' | 'ERC1155'; include_null_balances?: boolean; page?: number; limit?: number; }): Promise<{ data: { address: string; contract: string; token_id: string; token_standard: "ERC721" | "ERC1155"; name: string | null; symbol: string | null; network: "arbitrum-one" | "avalanche" | "base" | "bsc" | "mainnet" | "optimism" | "polygon" | "unichain"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get NFT sales data */ getSales(params: { network: EvmNetwork; transaction_id?: string | string[]; contract?: string | string[]; token_id?: string | string[]; address?: string | string[]; from_address?: string | string[]; to_address?: string | string[]; start_time?: string; end_time?: string; start_block?: number; end_block?: number; page?: number; limit?: number; }): Promise<{ data: { block_num: number; datetime: string; timestamp: number; transaction_id: string; contract: string; token_id: string; name: string | null; symbol: string | null; offerer: string; recipient: string; sale_amount: number; sale_currency: string; network: "arbitrum-one" | "avalanche" | "base" | "bsc" | "mainnet" | "optimism" | "polygon" | "unichain"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get NFT transfers */ getTransfers(params: { network: EvmNetwork; type?: 'BURN' | 'MINT' | 'TRANSFER'; transaction_id?: string | string[]; contract?: string | string[]; token_id?: string | string[]; address?: string | string[]; from_address?: string | string[]; to_address?: string | string[]; start_time?: string; end_time?: string; start_block?: number; end_block?: number; page?: number; limit?: number; }): Promise<{ data: { block_num: number; datetime: string; timestamp: number; "@type": "BURN" | "MINT" | "TRANSFER"; transfer_type: string; transaction_id: string; contract: string; token_id: string; name: string | null; symbol: string | null; token_standard: "ERC721" | "ERC1155"; from: string; to: string; amount: string; network: "arbitrum-one" | "avalanche" | "base" | "bsc" | "mainnet" | "optimism" | "polygon" | "unichain"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; } /** * EVM API - Operations on EVM (Ethereum Virtual Machine) networks */ declare class EvmApi { readonly tokens: EvmTokens; readonly dexs: EvmDexs; readonly nfts: EvmNfts; constructor(client: ReturnType); } /** * SVM Tokens API - Token operations on Solana Virtual Machine networks */ declare class SvmTokens { private client; constructor(client: ReturnType); /** * Get SPL token transfers */ getTransfers(params: { network: SvmNetwork; signature?: string | string[]; source?: string | string[]; destination?: string | string[]; authority?: string | string[]; mint?: string | string[]; program_id?: SvmTokenProgramId; start_time?: string; end_time?: string; start_block?: number; end_block?: number; page?: number; limit?: number; }): Promise<{ data: { block_num: number; datetime: string; timestamp: number; signature: string; transaction_index: number; instruction_index: number; stack_height: number; signer: string; signers: string[]; fee: number; compute_units_consumed: number; program_id: "11111111111111111111111111111111" | "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" | "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"; mint: string; source: string; destination: string; authority: string; multisig_authority: string[]; amount: string; value: number; decimals: number | null; name: string | null; symbol: string | null; uri: string | null; metadata: string | null; network: "solana"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get native SOL transfers */ getNativeTransfers(params: GetQuery<'/v1/svm/transfers/native'>): Promise<{ data: { block_num: number; datetime: string; timestamp: number; signature: string; transaction_index: number; instruction_index: number; stack_height: number; fee_payer: string; signer: string; signers: string[]; fee: number; compute_units_consumed: number; program_id: string; mint: string; source: string; destination: string; amount: string; value: number; decimals: number | null; name: string | null; symbol: string | null; network: "solana"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get token metadata */ getTokenMetadata(params: { network: SvmNetwork; mint: string | string[]; }): Promise<{ data: { last_update: string; last_update_block_num: number; last_update_timestamp: number; program_id: "11111111111111111111111111111111" | "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" | "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"; mint: string; decimals: number | null; circulating_supply: number; holders: number; name: string | null; symbol: string | null; uri: string | null; network: string; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get native SOL token metadata */ getNativeTokenMetadata(params: GetQuery<'/v1/svm/tokens/native'>): Promise<{ data: { last_update: string; last_update_block_num: number; last_update_timestamp: number; program_id: "11111111111111111111111111111111" | "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" | "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"; mint: string; decimals: number | null; circulating_supply: number; holders: number; name: string; symbol: string; network: string; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get token balances for a wallet address */ getBalances(params: { network: SvmNetwork; owner: string | string[]; token_account?: string | string[]; mint?: string | string[]; program_id?: SvmTokenProgramId; include_null_balances?: boolean; page?: number; limit?: number; }): Promise<{ data: { last_update: string; last_update_block_num: number; last_update_timestamp: number; program_id: "11111111111111111111111111111111" | "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" | "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"; owner: string; token_account: string; mint: string; amount: string; value: number; decimals: number | null; name: string | null; symbol: string | null; uri: string | null; network: "solana"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get native SOL balances for wallet addresses */ getNativeBalances(params: { network: SvmNetwork; address: string | string[]; include_null_balances?: boolean; page?: number; limit?: number; }): Promise<{ data: { last_update: string; last_update_block_num: number; last_update_timestamp: number; program_id: "11111111111111111111111111111111" | "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" | "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"; address: string; mint: string; amount: string; value: number; decimals: number | null; name: string | null; symbol: string | null; network: "solana"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get token holders */ getHolders(params: { network: SvmNetwork; mint: string; page?: number; limit?: number; }): Promise<{ data: { last_update: string; last_update_block_num: number; last_update_timestamp: number; program_id: string; mint: string; owner: string; token_account: string; amount: string; value: number; decimals: number; name: string | null; symbol: string | null; uri: string | null; network: "solana"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get native SOL holders */ getNativeHolders(params: GetQuery<'/v1/svm/holders/native'>): Promise<{ data: { last_update: string; last_update_block_num: number; last_update_timestamp: number; program_id: string; mint: string; token_account: string; amount: string; value: number; decimals: number; name: string | null; symbol: string | null; network: "solana"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get account owner lookup */ getAccountOwner(params: { network: SvmNetwork; account: string | string[]; page?: number; limit?: number; }): Promise<{ data: { last_update: string; last_update_block_num: number; last_update_timestamp: number; account: string; owner: string; is_closed: boolean; network: "solana"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; } /** * SVM DEXs API - Decentralized exchange operations on Solana Virtual Machine networks */ declare class SvmDexs { private client; constructor(client: ReturnType); /** * Get DEX swap transactions */ getSwaps(params: { network: SvmNetwork; signature?: string | string[]; amm?: string | string[]; amm_pool?: string | string[]; user?: string | string[]; fee_payer?: string | string[]; signer?: string | string[]; input_mint?: string | string[]; protocol?: SvmDexProtocol; output_mint?: string | string[]; program_id?: string | string[]; start_time?: string; end_time?: string; start_block?: number; end_block?: number; page?: number; limit?: number; }): Promise<{ data: { block_num: number; datetime: string; timestamp: number; signature: string; transaction_index: number; instruction_index: number; stack_height: number; fee_payer: string; signer: string; signers: string[]; fee: number; compute_units_consumed: number; program_id: string; program_name: string; amm: string; amm_pool: string; input_token: { address: string | null; symbol: string | null; decimals: number | null; }; output_token: { address: string | null; symbol: string | null; decimals: number | null; }; user: string; input_mint: string; input_amount: string; input_value: number; output_mint: string; output_amount: string; output_value: number; protocol: "jupiter_v4" | "jupiter_v6" | "pumpfun" | "pumpfun_amm" | "raydium_amm_v4" | "raydium_clmm" | "raydium_cpmm" | "raydium_launchpad" | "meteora_daam" | "meteora_dlmm" | "meteora_amm" | "orca_whirlpool" | "boop" | "byreal" | "darklake" | "dumpfun" | "moonshot" | "pancakeswap" | "spl_token_swap" | "okx_dex"; summary: string; network: "solana"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get DEX liquidity pools */ getPools(params: { network: SvmNetwork; amm?: string | string[]; amm_pool?: string | string[]; mint?: string | string[]; program_id?: string | string[]; protocol?: Exclude; page?: number; limit?: number; }): Promise<{ data: { program_id: string; program_name: string; amm: string; amm_name: string; amm_pool: string; input_mint: string; input_decimals: number | null; output_mint: string; output_decimals: number | null; transactions: number; network: "solana"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get supported DEXs */ getDexes(params: { network: SvmNetwork; page?: number; limit?: number; }): Promise<{ data: { program_id: string; program_name: string; amm: string; amm_name: string; is_aggregator: boolean; transactions: number; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get OHLCV price data for liquidity pools */ getPoolOHLC(params: { network: SvmNetwork; amm_pool: string; interval?: '1h' | '4h' | '1d' | '1w'; start_time?: string; end_time?: string; page?: number; limit?: number; }): Promise<{ data: { datetime: string; program_id: string; amm: string; amm_pool: string; token0: string; token0_decimals: number; token1: string; token1_decimals: number; open: number; high: number; low: number; close: number; volume: number; uaw: number; transactions: number; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; } /** * SVM NFTs API - NFT operations on Solana Virtual Machine networks * * @remarks * This class is a placeholder for future NFT functionality on SVM networks (Solana). * Methods will be added when the Token API adds support for Solana NFT operations. */ declare class SvmNfts { private client; constructor(client: ReturnType); } /** * SVM API - Operations on SVM (Solana Virtual Machine) networks */ declare class SvmApi { readonly tokens: SvmTokens; readonly dexs: SvmDexs; readonly nfts: SvmNfts; constructor(client: ReturnType); } /** * Polymarket API - Market, activity, platform, and user analytics */ declare class PolymarketApi { private client; constructor(client: ReturnType); /** * Get Polymarket market metadata */ getMarkets(params?: GetQuery<'/v1/polymarket/markets'>): Promise<{ data: { condition_id: string; market_slug: string; event_slug: string | null; event_title: string | null; question: string; description: string; outcomes: { label: string; token_id: string; }[]; closed: boolean; neg_risk: boolean; accepting_orders: boolean; fees_enabled: boolean; volume: number; start_date: string; end_date: string; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get OHLCV data for a Polymarket outcome token */ getMarketOHLC(params: GetQuery<'/v1/polymarket/markets/ohlc'>): Promise<{ data: { timestamp: string; open: number; high: number; low: number; close: number; volume: number; trades: number; buys: number; sells: number; unique_makers: number; unique_takers: number; total_fees: number; total_refunds: number; net_fees: number; fee_count: number; effective_fee_rate_gross: number; effective_fee_rate: number; market: { condition_id: string | null; market_slug: string | null; token_id: string; outcome_label: string | null; closed: boolean; }; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get market open interest time-series */ getMarketOpenInterest(params?: GetQuery<'/v1/polymarket/markets/oi'>): Promise<{ data: { timestamp: string; net_open_interest: number; split_amount: number; merge_amount: number; split_count: number; merge_count: number; transactions: number; unique_stakeholders: number; market: { condition_id: string; market_slug: string | null; token_id: null; outcome_label: null; closed: boolean; }; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get on-chain Polymarket activity */ getMarketActivity(params?: GetQuery<'/v1/polymarket/markets/activity'>): Promise<{ data: { event_type: string; timestamp: string; block_num: number; tx_hash: string; user: string; amount: string; value: number; fee_amount: string; fee_value: number; market: { condition_id: string | null; market_slug: string | null; token_id: string | null; outcome_label: string | null; closed: boolean; }; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get leaderboard positions for a market outcome token */ getMarketPositions(params: GetQuery<'/v1/polymarket/markets/positions'>): Promise<{ data: { user: string; buy_cost: number; sell_revenue: number; realized_pnl: number; unrealized_pnl: number; total_pnl: number; pnl_pct: number; net_position: number; avg_price: number; current_price: number; position_value: number; active: boolean; buys: number; sells: number; transactions: number; market: { condition_id: string | null; market_slug: string | null; token_id: string; outcome_label: string | null; closed: boolean; }; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get platform-wide Polymarket aggregates */ getPlatform(params?: GetQuery<'/v1/polymarket/platform'>): Promise<{ data: { timestamp: string; volume: number; buy_volume: number; sell_volume: number; trades: number; buys: number; sells: number; net_open_interest: number; split_amount: number; merge_amount: number; split_count: number; merge_count: number; oi_transactions: number; total_fees: number; total_refunds: number; net_fees: number; fee_count: number; effective_fee_rate_gross: number; effective_fee_rate: number; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get Polymarket user stats */ getUsers(params?: GetQuery<'/v1/polymarket/users'>): Promise<{ data: { user: string; buys: number; sells: number; transactions: number; volume_bought: number; volume_sold: number; total_volume: number; realized_pnl: number; unrealized_pnl: number; total_pnl: number; first_trade: string; last_trade: string; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get positions for a Polymarket user */ getUserPositions(params: GetQuery<'/v1/polymarket/users/positions'>): Promise<{ data: { user: string; buy_cost: number; sell_revenue: number; realized_pnl: number; unrealized_pnl: number; total_pnl: number; pnl_pct: number; net_position: number; avg_price: number; current_price: number; position_value: number; active: boolean; buys: number; sells: number; transactions: number; market: { condition_id: string | null; market_slug: string | null; token_id: string; outcome_label: string | null; closed: boolean; }; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; } /** * Hyperliquid API - Markets, users, vaults, liquidations, and platform analytics */ declare class HyperliquidApi { private client; constructor(client: ReturnType); /** * Get Hyperliquid DEX aggregates */ getDexes(): Promise<{ data: { dex: string; assets: number; volume_24h: number; trades_24h: number; unique_users_24h: number; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get Hyperliquid market metadata */ getMarkets(params?: GetQuery<'/v1/hyperliquid/markets'>): Promise<{ data: { coin: string; market_name: string; dex: string; base_token: string | null; quote_token: string | null; price: number; price_24h: number | null; price_24h_change: number; volume_24h: number; buy_volume_24h: number; sell_volume_24h: number; trades_24h: number; unique_users_24h: number; open_interest: number | null; funding_rate: number | null; funding_snapshot_time: string | null; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get Hyperliquid market OHLC */ getMarketOHLC(params: GetQuery<'/v1/hyperliquid/markets/ohlc'>): Promise<{ data: { timestamp: string; coin: string; market_name: string; dex: string; interval_min: number; open: number; high: number; low: number; close: number; buy_volume: number; sell_volume: number; gross_volume: number; net_volume: number; open_long_volume: number; close_long_volume: number; open_short_volume: number; close_short_volume: number; transactions: number; buys: number; sells: number; unique_users: number; total_fees: number; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get Hyperliquid market open interest */ getMarketOpenInterest(params: GetQuery<'/v1/hyperliquid/markets/oi'>): Promise<{ data: { timestamp: string; coin: string; market_name: string; dex: string; interval_min: number; open_interest: number; net_position: number; long_size: number; short_size: number; long_positions: number; short_positions: number; funding_rate: number; total_funding: number; positive_funding: number; negative_funding: number; funding_events: number; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get Hyperliquid market activity */ getMarketActivity(params?: GetQuery<'/v1/hyperliquid/markets/activity'>): Promise<{ data: { block_num: number; timestamp: string; transaction_hash: string; transaction_id: number; coin: string; market_name: string; dex: string; user: string; side: string; direction: string; price: number; size: number; notional: number; start_position: string; closed_pnl: number; fee: number; fee_token: string; order_id: number; client_order_id: string; twap_id: number; crossed: boolean; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get Hyperliquid liquidation events */ getLiquidations(params?: GetQuery<'/v1/hyperliquid/markets/liquidations'>): Promise<{ data: { block_num: number; timestamp: string; event_hash: string; coin: string; market_name: string; dex: string; liquidated_user: string; direction: string; liquidation_kind: string; fills: number; total_size: number; notional: number; avg_fill_price: number; mark_price: number; liquidation_method: string; total_fees: number; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get Hyperliquid liquidation OHLC */ getLiquidationOHLC(params: GetQuery<'/v1/hyperliquid/markets/liquidations/ohlc'>): Promise<{ data: { timestamp: string; coin: string; market_name: string; dex: string; interval_min: number; open: number; high: number; low: number; close: number; mark_price_open: number; mark_price_high: number; mark_price_low: number; mark_price_close: number; buy_volume: number; sell_volume: number; gross_volume: number; net_volume: number; open_long_volume: number; close_long_volume: number; open_short_volume: number; close_short_volume: number; transactions: number; buys: number; sells: number; unique_liquidators: number; unique_liquidated: number; total_fees: number; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get Hyperliquid user stats */ getUsers(params?: GetQuery<'/v1/hyperliquid/users'>): Promise<{ data: { user: string; coin: string | null; dex: string | null; interval: string | null; transactions: number; buys: number; sells: number; volume_bought: number; volume_sold: number; total_volume: number; total_fees: number; realized_pnl: number; total_funding: number; liquidation_fills: number; coins_traded: number; first_trade: string; last_trade: string; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get Hyperliquid user positions */ getUserPositions(params: GetQuery<'/v1/hyperliquid/users/positions'>): Promise<{ data: { user: string; coin: string; market_name: string; dex: string; position_size: number; funding_rate: number; last_update: string; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get Hyperliquid user balance-changing activity */ getUserActivity(params: GetQuery<'/v1/hyperliquid/users/activity'>): Promise<{ data: { block_num: number; timestamp: string; transaction_hash: string; event_index: number; event_type: "bridge_deposit" | "bridge_withdraw_pending" | "bridge_withdraw_finalized" | "deposit" | "withdraw" | "vault_deposit" | "vault_withdraw" | "liquidation" | "funding"; user: string; counterparty: string; amount: number; token: string; notes: string; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get Hyperliquid vault stats */ getVaults(params?: GetQuery<'/v1/hyperliquid/vaults'>): Promise<{ data: { vault: string; leader: string | null; created_at: string | null; initial_deposit: number; create_fee: number; lifetime_deposits: number; lifetime_withdrawals: number; lifetime_distributions: number; lifetime_leader_commissions: number; depositor_count: number; deposit_count: number; withdrawal_count: number; last_activity_at: string | null; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get Hyperliquid vault depositors */ getVaultDepositors(params: GetQuery<'/v1/hyperliquid/vaults/depositors'>): Promise<{ data: { user: string; vault: string; deposits: number; deposit_count: number; withdrawals: number; withdrawal_count: number; distributions_received: number; last_activity_at: string; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get Hyperliquid platform-wide aggregates */ getPlatform(params?: GetQuery<'/v1/hyperliquid/platform'>): Promise<{ data: { timestamp: string; interval_min: number; volume: number; buy_volume: number; sell_volume: number; transactions: number; buys: number; sells: number; active_coins: number; total_fees: number; liquidations_volume: number; liquidations_count: number; unique_liquidated_users: number; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; } /** * TVM Tokens API - Token operations on Tron Virtual Machine networks */ declare class TvmTokens { private client; constructor(client: ReturnType); /** * Get TRC-20 token transfers */ getTransfers(params: { network: TvmNetwork; transaction_id?: string | string[]; contract?: string | string[]; from_address?: string | string[]; to_address?: string | string[]; start_time?: string; end_time?: string; start_block?: number; end_block?: number; page?: number; limit?: number; }): Promise<{ data: { block_num: number; datetime: string; timestamp: number; transaction_id: string; transaction_index: number; log_index: number; log_ordinal: number; contract: string; from: string; to: string; amount: string; value: number; name: string | null; symbol: string | null; decimals: number | null; network: "tron"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get native TRX transfers */ getNativeTransfers(params: { network: TvmNetwork; transaction_id?: string | string[]; from_address?: string | string[]; to_address?: string | string[]; start_time?: string; end_time?: string; start_block?: number; end_block?: number; page?: number; limit?: number; }): Promise<{ data: { block_num: number; datetime: string; timestamp: number; transaction_id: string; transaction_index: number; from: string; to: string; amount: string; value: number; name: string | null; symbol: string | null; decimals: number | null; network: "tron"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get token metadata */ getTokenMetadata(params: { network: TvmNetwork; contract: string | string[]; }): Promise<{ data: { last_update: string; last_update_block_num: number; last_update_timestamp: number; contract: string; total_transfers: number; decimals: number | null; name: string | null; symbol: string | null; network: "tron"; icon?: { web3icon: string; }; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get native TRX token metadata */ getNativeTokenMetadata(params: { network: TvmNetwork; }): Promise<{ data: { last_update: string; last_update_block_num: number; last_update_timestamp: number; decimals: number | null; name: string | null; symbol: string | null; network: string; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; } /** * TVM DEXs API - Decentralized exchange operations on Tron Virtual Machine networks */ declare class TvmDexs { private client; constructor(client: ReturnType); /** * Get DEX swap transactions */ getSwaps(params: { network: TvmNetwork; transaction_id?: string | string[]; factory?: string | string[]; pool?: string | string[]; transaction_from?: string | string[]; sender?: string | string[]; recipient?: string | string[]; input_contract?: string | string[]; output_contract?: string | string[]; protocol?: TvmDexProtocol; start_time?: string; end_time?: string; start_block?: number; end_block?: number; page?: number; limit?: number; }): Promise<{ data: { block_num: number; datetime: string; timestamp: number; transaction_id: string; transaction_index: number; transaction_from: string; log_index: number; log_ordinal: number; log_block_index: number; log_topic0: string; factory: string; pool: string; input_token: { address: string; symbol: string; name: string; decimals: number; }; output_token: { address: string; symbol: string; name: string; decimals: number; }; user: string; sender: string; recipient: string; input_amount: string; input_value: number; output_amount: string; output_value: number; price: number; price_inv: number; protocol: "uniswap_v1" | "uniswap_v2" | "uniswap_v3" | "uniswap_v4" | "sunpump"; summary: string; network: "tron"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get supported DEXs */ getDexes(params: { network: TvmNetwork; page?: number; limit?: number; }): Promise<{ data: { factory: string; protocol: "uniswap_v1" | "uniswap_v2" | "uniswap_v3" | "uniswap_v4" | "sunpump"; transactions: number; uaw: number; last_activity: string; network: "tron"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get DEX liquidity pools */ getPools(params: { network: TvmNetwork; factory?: string | string[]; pool?: string | string[]; input_token?: string | string[]; output_token?: string | string[]; protocol?: TvmDexProtocol; page?: number; limit?: number; }): Promise<{ data: { factory: string; pool: string; input_token: { address: string | null; symbol: string | null; decimals: number | null; }; output_token: { address: string | null; symbol: string | null; decimals: number | null; }; fee: number; protocol: "uniswap_v1" | "uniswap_v2" | "uniswap_v3" | "uniswap_v4" | "curvefi" | "balancer" | "bancor" | "cow" | "aerodrome" | "dodo" | "woofi" | "traderjoe" | "kyber_elastic"; network: "arbitrum-one" | "avalanche" | "base" | "bsc" | "mainnet" | "optimism" | "polygon" | "unichain"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; /** * Get OHLCV price data for liquidity pools */ getPoolOHLC(params: { network: TvmNetwork; pool: string; interval?: '1h' | '4h' | '1d' | '1w'; start_time?: string; end_time?: string; page?: number; limit?: number; }): Promise<{ data: { datetime: string; ticker: string; pool: string; open: number; high: number; low: number; close: number; volume: number; transactions: number; network: "tron"; }[]; statistics: { elapsed?: number; rows_read?: number; bytes_read?: number; }; pagination: { previous_page: number; current_page: number; }; results: number; request_time: string; duration_ms: number; }>; } /** * TVM NFTs API - NFT operations on Tron Virtual Machine networks * * @remarks * This class is a placeholder for future NFT functionality on TVM networks (Tron). * Methods will be added when the Token API adds support for Tron NFT operations. */ declare class TvmNfts { private client; constructor(client: ReturnType); } /** * TVM API - Operations on TVM (Tron Virtual Machine) networks */ declare class TvmApi { readonly tokens: TvmTokens; readonly dexs: TvmDexs; readonly nfts: TvmNfts; constructor(client: ReturnType); } /** * High-level wrapper for common Token API operations * * @example * ```typescript * import { TokenAPI } from "@pinax/token-api"; * * const client = new TokenAPI({ apiToken: "YOUR_API_KEY_HERE" }); * * // Get EVM transfers * const transfers = await client.evm.tokens.getTransfers({ * network: "mainnet", * to_address: "0xd8da6bf26964af9d7eed9e03e53415d37aa96045" * }); * * // Get EVM swaps * const swaps = await client.evm.dexs.getSwaps({ * network: "mainnet", * pool: "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640" * }); * ``` */ export declare class TokenAPI { private client; /** * EVM (Ethereum Virtual Machine) API - Ethereum, Base, Arbitrum, etc. */ readonly evm: EvmApi; /** * SVM (Solana Virtual Machine) API - Solana */ readonly svm: SvmApi; /** * TVM (Tron Virtual Machine) API - Tron */ readonly tvm: TvmApi; /** * Polymarket analytics API */ readonly polymarket: PolymarketApi; /** * Hyperliquid analytics API */ readonly hyperliquid: HyperliquidApi; constructor(options?: PinaxClientOptions); /** * Get the underlying openapi-fetch client for advanced usage */ getClient(): import("openapi-fetch").Client; /** * Check API health status */ getHealth(): Promise<{ status: string; }>; /** * Get API version information */ getVersion(): Promise<{ version: string; date: string; commit: string; }>; /** * Get list of supported networks */ getNetworks(params?: { network?: string | string[]; }): Promise<{ networks: { id: string; fullName: string; shortName: string; caip2Id: string; networkType: string; icon: { web3Icons: { name: string; }; }; aliases: string[]; indexed_to: { category: string; version: string; block_num: number; datetime: string; timestamp: number; }[]; }[]; }>; } export default TokenAPI; /** * @deprecated Use `TokenAPI` instead. `TokenClient` is an alias kept for backward compatibility. */ export declare const TokenClient: typeof TokenAPI; //# sourceMappingURL=index.d.ts.map