# Arkham Intel API **Arkham Intelligence official API documentation** The Arkham API provides direct query access to Ultra, our proprietary AI-powered algorithmic address matching engine, enabling sophisticated users to customize data flows and integrate them into their existing systems. Through the API, users can write custom queries to access a list of Arkham labels, as well as transaction logs and historical balance data for addresses and entities. Institutions that onboard to the **[Arkham Exchange](https://arkm.com)** automatically qualify for access to this API. The [deprecated API documentation](https://arkham-intelligence.notion.site/Arkham-API-Access-9232652274854efaa8a67633a94a2595) is available here in multiple languages; however, please note that it is no longer being updated. --- ## ⚠️ IMPORTANT: API-Key **All API requests MUST include a valid `API-Key` header. Requests without this header will be rejected with an unauthorized response.** To authenticate with Arkham's API, simply provide a valid `API-Key` in the header of your request. To apply for API access to our platform, visit: [https://info.arkm.com/api-platform](https://info.arkm.com/api-platform). ## Endpoints Our root URL is `https://api.arkm.com`. ## Rate limits Our API uses tier-based rate limits with different limits for different endpoints: ### Standard Rate Limits For the Basic API tier, most endpoints allow up to 20 requests per second with a small additional burst allowance for occasional spikes beyond that threshold. ### Heavy Endpoints Rate Limits Some resource-intensive endpoints have lower rate limits of 1 request per second: - /transfers - /swaps - /counterparties/address/{address} - /counterparties/entity/{entity} - /token/top_flow/{id} - /token/top_flow/{chain}/{address} - /token/volume/{id} - /token/volume/{chain}/{address} - /transfers/histogram **Note**: These heavy endpoints are computationally intensive and query large amounts of data, hence the stricter rate limits to ensure platform stability. If you are consistently hitting the default rate limit we have set for our API you can apply for a rate limit increase [here](https://docs.google.com/forms/d/e/1FAIpQLSdUIXdQwfElz7JOdYGljIr0l9UybkY-uDhoFxJ4wzTDEV2zVw/viewform). --- ## Security and Privacy All data on our platform—including your private labels—is stored securely, using state-of-the-art encryption both at rest and in transit, along with strict access controls to ensure your information remains confidential. For further details on our security and privacy measures, please refer to our [Privacy Policy.](https://info.arkm.com/privacy-policy) Version: 1.0.0 License: Prop ## Servers Production server ``` https://api.arkm.com ``` ## Security ### ApiKeyAuth API key for authentication Type: apiKey In: header Name: API-Key ## Download OpenAPI description [Arkham Intel API](https://docs.intel.arkm.com/_bundle/openapi.yaml) ## Health API Health check ### Health check endpoint - [GET /health](https://docs.intel.arkm.com/openapi/health/gethealth.md): Returns a simple "ok" text if the server is running. ## Chains View full list of supported blockchains. ### Get supported chains list - [GET /chains](https://docs.intel.arkm.com/openapi/chains/getchains.md): Retrieves a list of supported blockchain chains. The response is a simple JSON array of chain identifiers. ## Transfers Provides endpoints for retrieving blockchain transfer and swap activity. These include detailed transfer lists, aggregated histograms for analyzing transfer trends over time, and DEX swap data, all filterable by various query parameters. ### Get transfers - [GET /transfers](https://docs.intel.arkm.com/openapi/transfers/gettransfers.md): Retrieves a list of transfers based on various query filters. Rate Limit: This endpoint has a stricter rate limit of 1 request per second. Filter parameters: - base: Filter by specific entity or address. For example, "0x123abc" or "binance". - chains: Specify a comma-separated list of chains (e.g. "ethereum,bsc"). - flow: Direction of the transfer. Valid values are "in" (incoming), "out" (outgoing), "self" (self-transfers), or "all". - from: Comma-separated list of addresses, entities, or deposit services for the 'from' side of a transfer. You can also use special syntax like "type:cex" to filter on entity types or "deposit:binance" to filter on deposit addresses. - to: Comma-separated list of addresses, entities, or deposit services for the 'to' side. - tokens: Comma-separated list of token addresses or token IDs. E.g. "ethereum", "usd-coin", or "0x...tokenAddress". - counterparties: Comma-separated list of addresses or entities to treat strictly as counterparties (only base counterparty transfers). - timeLast: Filter transfers from a recent duration. For example, "24h" returns transfers from the last 24 hours. - timeGte/timeLte: Filter from/to a specific timestamp in milliseconds. - valueGte/valueLte: Numeric filters on the raw token amount (on-chain units). - usdGte/usdLte: Numeric filters on the historical USD value of the transfer. - sortKey: Field by which to sort the results. Options include "time", "value", or "usd". - sortDir: Sorting direction. Use "asc" for ascending or "desc" for descending. - limit: Maximum number of results to return (default is 50). - offset: Pagination offset (default is 0). ### WebSocket Transfer Streaming - [GET /ws/transfers](https://docs.intel.arkm.com/openapi/transfers/getwebsockettransfers.md): WebSocket endpoint for streaming real-time blockchain transfers. Connect to wss://api.arkm.com/ws/transfers with API-Key header.. Authentication: Include your API-Key as a header during the WebSocket connection handshake. Client Messages: - subscribe - Create a new filter to receive matching transfers json { "id": "1", "type": "subscribe", "payload": { "filters": { "from": ["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"], "to": ["binance", "coinbase"], "chains": ["ethereum"], "tokens": ["USDT"], "usdGte": 100000 } } } - unsubscribe - Remove an existing filter by ID json { "id": "2", "type": "unsubscribe", "payload": { "filterId": 123 } } - reconnect - Restore a previous session within 5 minutes of disconnection json { "id": "3", "type": "reconnect", "payload": { "sessionId": "ws_abc_123" } } Server Messages: - transfer - Real-time transfer notification matching your filters Example: json { "type": "transfer", "payload": { "transfer": { "id": "0xc99175260fd56ae461c7dce8d5f79e8aee068225ac5237932594880b277a87d1_502", "transactionHash": "0xc99175260fd56ae461c7dce8d5f79e8aee068225ac5237932594880b277a87d1", "fromAddress": { "address": "0x28C6c06298d514Db089934071355E5743bf21d60", "chain": "ethereum", "arkhamEntity": { "name": "Binance", "note": "", "id": "binance", "type": "cex", "service": null, "addresses": null, "website": "https://binance.com", "twitter": "https://twitter.com/binance", "crunchbase": "https://www.crunchbase.com/organization/binance", "linkedin": "https://www.linkedin.com/company/binance" }, "arkhamLabel": { "name": "Hot Wallet", "address": "0x28C6c06298d514Db089934071355E5743bf21d60", "chainType": "evm" }, "isUserAddress": false, "contract": false }, "fromIsContract": false, "toAddress": { "address": "0x401a39874f38a254a192bf58Dc52eD2A5078535D", "chain": "ethereum", "isUserAddress": false, "contract": false }, "toIsContract": false, "tokenAddress": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "type": "token", "blockTimestamp": "2025-08-28T11:01:35Z", "blockNumber": 23239187, "blockHash": "0xb75f0e8d59bd5f1a72d4ba54e3576a750580735b3c1bf34a9fbd73b2251c963e", "tokenName": "Tether USD", "tokenSymbol": "USDT", "tokenDecimals": 6, "unitValue": 503.9, "tokenId": "tether", "historicalUSD": 503.9, "chain": "ethereum" }, "alertId": 49 } } - ack - Acknowledgment for successful operations Example (subscribe success): json { "type": "ack", "payload": { "messageId": "1", "success": true, "message": "Filter created successfully", "data": { "filterId": 49, "sessionId": "ws_ad5c5dbb_1756378801" } } } - error - Error notifications for various failure scenarios Example (rate limited): json { "type": "error", "payload": { "code": "TIER_RATE_LIMITED", "limitType": "minutely", "message": "You have reached your per-minute WebSocket notification limit. Limit resets in 45 seconds.", "resetIn": 45 } } Rate Limits: - 10,000 transfers per hour - 1,000,000 transfers per month - 1 API credit consumed per transfer sent Filter Requirements: - Must include at least one of: from, to, tokens, base, or usdGte >= 10,000,000 - Initial transfers may take up to 90 seconds after subscribing ### Get a simple histogram of transfers (Public) - [GET /transfers/histogram/simple](https://docs.intel.arkm.com/openapi/transfers/gettransfershistogramsimple.md): Returns a simplified aggregated histogram of transfers over time. This is a public endpoint with basic rate limiting. Note: For the full-featured histogram endpoint with all filter options, use /transfers/histogram which requires API authentication. ### Get a detailed histogram of transfers (API Only) - [GET /transfers/histogram](https://docs.intel.arkm.com/openapi/transfers/gettransfershistogram.md): Returns an aggregated histogram of transfers over time (count and USD values) based on the same filter parameters used in /transfers. ⚠️ This endpoint requires API tier authentication (not just API key) Rate Limit: This endpoint has a stricter rate limit of 1 request per second. Additional parameter: - granularity: "1h" or "1d" (if the range exceeds 30 days, "1h" is invalid). Filter parameters (same as /transfers, minus pagination/sorting): - base: Filter by specific entity or address. For example, "0x123abc" or "binance". - chains: Specify a comma-separated list of chains (e.g. "ethereum,bsc"). - flow: Direction of the transfer. Valid values are "in", "out", "self", or "all". - timeLast: Filter from a recent duration (e.g. "24h", "7d", "30d", etc.). - timeGte/timeLte: Filter from/to a specific timestamp in milliseconds. - valueGte/valueLte: Numeric filters on the raw token amount. - usdGte/usdLte: Numeric filters on the historical USD value of the transfer. - from: Comma-separated list of addresses, entities, or deposit services for the 'from' side. - to: Comma-separated list of addresses, entities, or deposit services for the 'to' side. - tokens: Comma-separated list of token addresses or token IDs. E.g. "ethereum", "usd-coin", or "0x...tokenAddress". - counterparties: Comma-separated list of addresses or entities to treat strictly as counterparties (only base counterparty transfers). ### Get swaps - [GET /swaps](https://docs.intel.arkm.com/openapi/transfers/getswaps.md): Retrieves a list of swaps (DEX trades) based on various query filters. Rate Limit: This endpoint has a stricter rate limit of 1 request per second. Filter parameters: - base: Filter by specific entity or address involved in the swap. - chains: Specify a comma-separated list of chains (e.g. "ethereum,bsc"). - flow: Direction of the swap relative to base address. Valid values are "in" (receiving token1), "out" (sending token0), or "all". - from: Filter by sender addresses or entities. - to: Filter by receiver addresses or entities. - tokens: Comma-separated list of token addresses or token IDs that appear in either token0 or token1. - timeLast: Filter swaps from a recent duration (e.g. "24h", "7d"). - timeGte/timeLte: Filter from/to a specific timestamp in milliseconds. - usdGte/usdLte: Numeric filters on the historical USD value of the swap. - sortKey: Field by which to sort the results. Options include "time" or "usd". - sortDir: Sorting direction. Use "asc" for ascending or "desc" for descending. - limit: Maximum number of results to return (default is 50). - offset: Pagination offset (default is 0). ## Transaction Provides an endpoint for retrieving detailed information about a specific blockchain transaction using its hash. The response includes metadata such as block number, timestamp, sender and recipient addresses, gas usage, fees, value in native units and USD, and token details. ### Get transaction details - [GET /tx/{hash}](https://docs.intel.arkm.com/openapi/transaction/gettransaction.md): Returns transaction details by hash ## Token exchange movements Provides an endpoint for analyzing token activity across centralized and decentralized exchanges. This includes ranking tokens by volume, inflows, outflows, netflows, and other metrics over customizable time intervals, with support for filtering by chain, market cap, and specific tokens. ### Retrieves a ranked list of tokens based on trading volume, inflows, outflows, netflows, price, or other metrics over a specified time interval. Results can be sorted, filtered by chain, market cap, or token ID, and paginated for flexible queries. - [GET /token/top](https://docs.intel.arkm.com/openapi/token-exchange-movements/gettoptokens.md): Retrieves a list of top tokens based on various query filters. Filter parameters: - timeframe: Required time interval for token data. Valid values: "1h", "6h", "12h", "24h", "7d". - orderByAgg: Aggregation field to order tokens by. Valid values: "volume", "inflow", "outflow", "volumeDex", "volumeCex", "inflowDex", "inflowCex", "outflowDex", "outflowCex", "netflowDex", "netflowCex", "netflow", "netflowVolumeRatio", "netflowVolumeRatioDex", "netflowVolumeRatioCex", "price". - orderByDesc: Sorting direction. Must be "true" for descending or "false" for ascending. - orderByPercent: Whether to order results by percentage change. Must be "true" or "false". - from: Starting index for pagination. - size: Number of results to return. - chains: Comma-separated list of blockchain chains (e.g., "ethereum,bsc"). - minVolume: Minimum trading volume (float; default is 0). - maxVolume: Maximum trading volume (float; optional). - minMarketCap: Minimum market capitalization (float; default is 0). - maxMarketCap: Maximum market capitalization (float; optional). - numReferencePeriods: Number of reference periods, defaults to "auto". - tokenIds: Comma-separated list of token IDs to filter by (optional). ## User entities Provides endpoints for managing custom entities created by an authenticated user. Entities can be retrieved in bulk or individually, with support for including associated blockchain addresses. ### Get all custom entities for authenticated user - [GET /user/entities](https://docs.intel.arkm.com/openapi/user-entities/getuserentities.md): Returns all custom entities owned by the authenticated user. This endpoint supports an optional parameter includeAddresses to control whether addresses are included in the response. ### Get individual custom entity by ID - [GET /user/entities/{id}](https://docs.intel.arkm.com/openapi/user-entities/getuserentitybyid.md): Returns a single custom entity owned by the authenticated user, including all addresses for that entity. This endpoint always includes the full entity data with addresses. ## Entity bulk update Provides endpoints for updating custom entities in bulk. Entities can be fully overwritten (replacing details and address sets) or incrementally updated by adding new addresses without removing existing ones. ### Overwrite an entity (replace addresses) - [PUT /user/entities/{id}](https://docs.intel.arkm.com/openapi/entity-bulk-update/updateuserentity.md): Updates an entity by overwriting its details and full address set. The complete JSON input must include the updated entity fields plus a multi‑chain addresses mapping. The addresses object is keyed by blockchain type (for example, evm, bitcoin, solana, etc.) and each value is an array of address strings. Important: Any existing addresses not present in the payload will be removed. Use /user/entities/only_add/{id} if you want to keep existing addresses and only append new ones. Example Input Explanation: - name / note: Optional text fields. name is limited to 256 characters; note to 1024 characters. - addresses: Map of chain to array of addresses. - Bulk updates allow up to 100 total addresses per entity. Ensure addresses are valid and formatted correctly. ### Bulk upload addresses for an entity (only add new addresses) - [PUT /user/entities/only_add/{id}](https://docs.intel.arkm.com/openapi/entity-bulk-update/updateuserentityonlyadd.md): Updates an entity by bulk uploading addresses. The full JSON input must include the updated entity details along with a multi-chain addresses mapping. The addresses object is keyed by blockchain type (for example, evm, bitcoin, solana, etc.) and each value is an array of address strings. Example Input Explanation: - addresses: A map where each key is a chain identifier and the value is an array of valid hexadecimal addresses (or formatted address strings for non-EVM chains). - Use the same JSON format regardless of whether the entity is a user entity or an Arkham entity. - Bulk uploads allow up to 100 total addresses per entity. Make sure addresses are valid and formatted correctly. ## Intelligence Provides AI-powered intelligence endpoints for analyzing blockchain addresses, entities, contracts, and tokens. These endpoints return enriched insights such as tagging data, entity associations, predicted addresses, contract metadata, and token information across multiple chains. ### Get intelligence about an address - [GET /intelligence/address/{address}](https://docs.intel.arkm.com/openapi/intelligence/getaddressintelligence.md): Returns intelligence data for the specified address. ### Get all intelligence about an address across chains - [GET /intelligence/address/{address}/all](https://docs.intel.arkm.com/openapi/intelligence/getalladdressintelligence.md): Returns multi-chain intelligence for the provided address. ### Get intelligence about an address on all chains with additional address information - [GET /intelligence/address_enriched/{address}/all](https://docs.intel.arkm.com/openapi/intelligence/getalladdressintelligencewithextraenrichment.md): Similar to /intelligence/address_enriched/{address}, but aggregates data across every supported chain. By default, includes tags, entity predictions, and cluster IDs. Use query parameters to exclude specific enrichments. ### Get intelligence about an address with additional address information - [GET /intelligence/address_enriched/{address}](https://docs.intel.arkm.com/openapi/intelligence/getaddressintelligencewithextraenrichment.md): Similar to /intelligence/address/{address}, but includes additional address information (tags, cluster IDs, entity predictions). By default, includes tags, entity predictions, and cluster IDs. Use query parameters to exclude specific enrichments. ### Get intelligence about an entity - [GET /intelligence/entity/{entity}](https://docs.intel.arkm.com/openapi/intelligence/getentityintelligence.md): Returns top-level entity information, including associated tags. ### Get entity summary statistics - [GET /intelligence/entity/{entity}/summary](https://docs.intel.arkm.com/openapi/intelligence/getentityintelligencesummary.md): Returns precomputed or calculated summary statistics for the specified entity, including: - Total number of unique addresses (deduplicated across chains) - Total balance in USD across all chains - Total transfer volume in USD - First and last transfer timestamps Supports both Arkham entities and user entities: - For Arkham entities (e.g., "binance"): Returns precomputed data when available, falls back to calculation - For user entities: Always calculates on the fly - Includes user-added addresses for Arkham entities when authenticated Shareable user entities: If a user entity is marked as shareable, any authenticated or unauthenticated user can access the summary. ### Get predictions for an entity - [GET /intelligence/entity_predictions/{entity}](https://docs.intel.arkm.com/openapi/intelligence/getentitypredictions.md): Returns predicted addresses for the specified entity. These predictions are generated using machine learning algorithms to identify addresses that may belong to the entity based on transaction patterns and other blockchain data. Returns up to 1000 predictions per entity, sorted by USD balance. ### Get intelligence about a contract - [GET /intelligence/contract/{chain}/{address}](https://docs.intel.arkm.com/openapi/intelligence/getcontractintelligence.md): Returns contract metadata for the specified chain & address. ### Get intelligence on a token by CoinGecko pricing ID - [GET /intelligence/token/{id}](https://docs.intel.arkm.com/openapi/intelligence/gettokenintelligence.md): Retrieve basic token info using the CoinGecko pricing ID. ### Get intelligence on a token by chain/address - [GET /intelligence/token/{chain}/{address}](https://docs.intel.arkm.com/openapi/intelligence/gettokenintelligencebychainandaddress.md): Retrieve basic token info using chain + contract address. ### Get tag parameters - [GET /tag/{id}/params](https://docs.intel.arkm.com/openapi/intelligence/gettagparams.md): Returns a list of all unique tag parameter combinations for the specified tag. Pagination parameters: - limit: Number of items to return per page (1-1000, default 100) - offset: Number of items to skip from the beginning (default 0) ### Get tag summary statistics - [GET /tag/{id}/summary](https://docs.intel.arkm.com/openapi/intelligence/gettagsummary.md): Returns precomputed summary statistics for the specified tag, including total counts of addresses, entities, and unique tag parameters. ## History Provides endpoints for retrieving historical analytics on blockchain entities and addresses. Returns time-series USD value snapshots to help analyze changes over time. ### Get historical data for an entity - [GET /history/entity/{entity}](https://docs.intel.arkm.com/openapi/history/getentityhistory.md): Returns historical USD snapshots for the specified entity. ### Get historical data for an address - [GET /history/address/{address}](https://docs.intel.arkm.com/openapi/history/getaddresshistory.md): Returns historical USD snapshots for the specified address. ## Portfolio Provides endpoints for managing and tracking entity and address portfolios. Includes historical snapshots, daily time-series data, and cross-chain portfolio analytics. ### Get entity portfolio history - [GET /portfolio/entity/{entity}](https://docs.intel.arkm.com/openapi/portfolio/getentityportfoliohistory.md): Retrieves historical portfolio snapshots for the specified entity across chains. Filter parameters: - entity: The unique identifier of the entity. This can be a user entity ID or another entity. - time: Unix timestamp in milliseconds representing the time for which to retrieve the portfolio history. The time will be truncated to the start of the UTC day. ### Get address portfolio history - [GET /portfolio/address/{address}](https://docs.intel.arkm.com/openapi/portfolio/getaddressportfoliohistory.md): Retrieves historical portfolio snapshots for the specified address across chains. Filter parameters: - address: The blockchain address for which to retrieve portfolio history. - time: Unix timestamp in milliseconds representing the time for which to retrieve the portfolio history. The time is truncated to the start of the UTC day. ### Get daily time series data for an entity's token - [GET /portfolio/timeSeries/entity/{entity}](https://docs.intel.arkm.com/openapi/portfolio/getentityportfoliohistorytimeseries.md): Returns daily snapshots (in UTC) of the specified entity's holdings of a given token. ### Get daily time series data for an address's token - [GET /portfolio/timeSeries/address/{address}](https://docs.intel.arkm.com/openapi/portfolio/getaddressportfoliohistorytimeseries.md): Returns daily snapshots (in UTC) of the specified address's holdings of a given token. ## Token Provides endpoints for retrieving token-related information, including holders, flows, volumes, trending tokens, and balances across chains. These endpoints allow analysis of token distribution, trading activity, and ownership at both entity and address levels. ### Get top token holders by pricing ID - [GET /token/holders/{pricing_id}](https://docs.intel.arkm.com/openapi/token/gettoptokenholders.md): Returns top token holders for the token identified by its CoinGecko pricing ID. ### Get top token holders by chain and address - [GET /token/holders/{chain}/{address}](https://docs.intel.arkm.com/openapi/token/gettoptokenholdersbychainandaddress.md): Returns top token holders for the token at the specified contract address on the given chain. ### Get trending tokens - [GET /token/trending](https://docs.intel.arkm.com/openapi/token/gettrendingtokens.md): Returns a list of currently trending tokens across multiple chains. ### Get a single trending token by ID - [GET /token/trending/{id}](https://docs.intel.arkm.com/openapi/token/gettrendingtoken.md): Returns a single trending token, identified by a specific ID (e.g., "bitcoin", "ethereum"). ### Get top flow for a token by pricing ID - [GET /token/top_flow/{id}](https://docs.intel.arkm.com/openapi/token/gettokentopflow.md): Returns the top inflows/outflows for the specified token ID, aggregated by address. Rate Limit: This endpoint has a stricter rate limit of 1 request per second. ### Get top token flow - [GET /token/top_flow/{chain}/{address}](https://docs.intel.arkm.com/openapi/token/gettokentopflowbychain.md): Retrieves the top token flow (in USD and value) for the specified chain and address over a given duration. Rate Limit: This endpoint has a stricter rate limit of 1 request per second. Filter parameters: - chain: The blockchain chain identifier (e.g., ethereum, bitcoin). - address: The token address or holder address. - timeLast: A duration string (e.g., "24h", "7d") representing the time window to consider. - chains (optional): Comma-separated list of chains to further filter the results. ### Get volume for a token by pricing ID - [GET /token/volume/{id}](https://docs.intel.arkm.com/openapi/token/gettokenvolume.md): Returns aggregated volume data for the specified token ID, optionally broken down by time granularity. Rate Limit: This endpoint has a stricter rate limit of 1 request per second. ### Get volume for a token by chain/address - [GET /token/volume/{chain}/{address}](https://docs.intel.arkm.com/openapi/token/gettokenvolumebychain.md): Returns aggregated volume data for the specified token contract on a certain chain. Rate Limit: This endpoint has a stricter rate limit of 1 request per second. ### Get token balance (all chains) for an entity or address - [GET /token/balance/{id}](https://docs.intel.arkm.com/openapi/token/gettokenbalance.md): Returns the aggregated token balance for either an entity or address, across all chains. ### Get token balance for an entity or address, for a specific chain/address - [GET /token/balance/{chain}/{address}](https://docs.intel.arkm.com/openapi/token/gettokenbalancebychain.md): Returns the aggregated token balance for either an entity or address, across all chains, but identified by the specific token contract. ## Market Data Provides an endpoint for accessing market data and analytics, including indices and metrics that track token and altcoin performance relative to the broader market. ### Get Altcoin Index - [GET /marketdata/altcoin_index](https://docs.intel.arkm.com/openapi/market-data/getaltcoinindex.md): Retrieves the altcoin index calculated by comparing the percentage change of top altcoins to Bitcoin's percentage change over the last 90 days. The index represents the count of altcoins outperforming Bitcoin. ## ARKM Provides endpoints related to the ARKM token and Arkham Exchange tokens, including supply information and token listings. ### Get ARKM circulating supply - [GET /arkm/circulating](https://docs.intel.arkm.com/openapi/arkm/getarkmcirculating.md): Retrieves the circulating supply of ARKM tokens based on the current time ### Get Arkham Exchange tokens - [GET /token/arkham_exchange_tokens](https://docs.intel.arkm.com/openapi/arkm/getarkhamexchangetokens.md): Returns a JSON object with token symbols/addresses as keys and booleans as values. ## Networks Provides endpoints for monitoring blockchain networks and retrieving chain-specific historical data, including current status and historical quotes. ### Get status for all supported networks - [GET /networks/status](https://docs.intel.arkm.com/openapi/networks/getnetworkstatus.md): Returns an array of current status information for each network. ### Get historical network data - [GET /networks/history/{chain}](https://docs.intel.arkm.com/openapi/networks/getnetworkhistory.md): Returns historical quotes for the specified chain. ## Balances Provides endpoints for tracking and retrieving token balances for blockchain addresses and entities, with optional filtering by chain. ### Get token balances for an address - [GET /balances/address/{address}](https://docs.intel.arkm.com/openapi/balances/getaddressbalances.md): Returns token balances for the specified address, optionally filtered by chains. ### Get token balances for an entity - [GET /balances/entity/{entity}](https://docs.intel.arkm.com/openapi/balances/getentitybalances.md): Returns token balances for the specified entity, optionally filtered by chains. ## Loans Provides endpoints for tracking loan and borrow positions on-chain, including supplied, borrowed, and outstanding assets for addresses and entities. ### Get loan/borrow positions for an address - [GET /loans/address/{address}](https://docs.intel.arkm.com/openapi/loans/getaddressloans.md): Returns an overview of loaned/supplied/borrowed assets for a given address. ### Get loan/borrow positions for an entity - [GET /loans/entity/{entity}](https://docs.intel.arkm.com/openapi/loans/getentityloans.md): Returns an overview of loaned/supplied/borrowed assets for a given entity. ## Counterparties Provides endpoints for analyzing counterparty activity, aggregating top counterparties by volume for addresses and entities. Supports filtering by transfer direction, chain, token, time range, and transaction value. ### Get counterparties for an address - [GET /counterparties/address/{address}](https://docs.intel.arkm.com/openapi/counterparties/getaddresscounterparty.md): Returns aggregated info about top counterparties by volume (in/out). Rate Limit: This endpoint has a stricter rate limit of 1 request per second. Filter parameters: - flow: Direction of the transfer. Valid values are "in", "out", or "either". - limit: Maximum number of results to return. - chains: Comma-separated list of chains (e.g. "ethereum,bsc"). - tokens: Comma-separated list of token addresses or token IDs. E.g. "ethereum", "usd-coin", or "0x...tokenAddress". - timeLast: Time range filter using relative durations (e.g. "24h", "7d", "30d"). Cannot be used with timeGte/timeLte. - timeGte/timeLte: Filter from/to a specific timestamp in milliseconds. Cannot be used with 'timeLast' parameter. - valueGte/valueLte: Numeric filters on the raw token amount (on-chain units). - usdGte/usdLte: Numeric filters on the historical USD value. ### Get counterparties for an entity - [GET /counterparties/entity/{entity}](https://docs.intel.arkm.com/openapi/counterparties/getentitycounterparty.md): Returns aggregated info about top counterparties by volume (in/out). Rate Limit: This endpoint has a stricter rate limit of 1 request per second. Filter parameters: - flow: Direction of the transfer. Valid values are "in", "out", or "either". - limit: Maximum number of results to return. - chains: Comma-separated list of chains (e.g. "ethereum,bsc"). - tokens: Comma-separated list of token addresses or token IDs. E.g. "ethereum", "usd-coin", or "0x...tokenAddress". - timeLast: Time range filter using relative durations (e.g. "24h", "7d", "30d"). Cannot be used with timeGte/timeLte. - timeGte/timeLte: Filter from/to a specific timestamp in milliseconds. Cannot be used with 'timeLast' parameter. - valueGte/valueLte: Numeric filters on the raw token amount (on-chain units). - usdGte/usdLte: Numeric filters on the historical USD value. ## Labels Provides endpoints for managing user-defined labels, including creating, retrieving, updating, and deleting labels associated with blockchain addresses. ### Get user labels - [GET /user/labels](https://docs.intel.arkm.com/openapi/labels/getlabels.md): Retrieves a list of labels for the authenticated user. ### Create labels for the user - [POST /user/labels](https://docs.intel.arkm.com/openapi/labels/createlabels.md): Creates one or more labels for the authenticated user. Each label must include: - name: A string (maximum 256 characters) - note: A string (maximum 1024 characters) - address: The label's address - chainType: The type of the chain (e.g., "evm", "bitcoin", "tron", "solana", "dogecoin", "ton") ### Delete multiple user labels - [DELETE /user/labels](https://docs.intel.arkm.com/openapi/labels/deletelabels.md): Deletes multiple labels for the authenticated user. The labels query parameter should be a comma-separated list of label identifiers, where each identifier is in the format address:chainType. For example: "0xABCDEF1234567890:evm,bc1qexamplebitcoinaddress:bitcoin". ### Update a user label - [PUT /user/labels/{address}](https://docs.intel.arkm.com/openapi/labels/updatelabel.md): Updates an existing label for the authenticated user. The label to update is identified by the address provided in the URL, which must include the chain type appended after a colon (e.g., "0xABCDEF1234567890:evm"). The request body should include the updated name, note, address, and chainType. ### Delete a user label - [DELETE /user/labels/{address}](https://docs.intel.arkm.com/openapi/labels/deletelabel.md): Deletes a specific label for the authenticated user. The label is identified by the address path parameter which includes the chain type. Example format: "0xABCDEF1234567890:evm". ## Flow Provides endpoints for analyzing historical USD flows for addresses and entities across supported chains, including inflows, outflows, and running totals over time. ### Get USD flow data for an address - [GET /flow/address/{address}](https://docs.intel.arkm.com/openapi/flow/getaddressflow.md): Retrieves historical USD flow snapshots for the specified address across all supported chains. Flow data includes: - Inflow: USD value flowing into the address per time period - Outflow: USD value flowing out of the address per time period - Cumulative flows: Running totals of inflows and outflows over time Filter parameters: - address: The blockchain address to get flow data for. Can be a comma-separated list of addresses. - chains: Optional comma-separated list of chains to filter results (e.g. "ethereum,bsc"). ### Get USD flow data for an entity - [GET /flow/entity/{entity}](https://docs.intel.arkm.com/openapi/flow/getentityflow.md): Retrieves historical USD flow snapshots for the specified entity across all supported chains. Flow data includes: - Inflow: USD value flowing into the entity per time period - Outflow: USD value flowing out of the entity per time period - Cumulative flows: Running totals of inflows and outflows over time Entity types supported: - User entities (custom entities created by users) - Arkham entities (pre-labeled entities in the Arkham database) Filter parameters: - entity: The entity ID to get flow data for - chains: Optional comma-separated list of chains to filter results (e.g. "ethereum,bsc").