Skip to content

Arkham Intel API (1.0.0)

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 automatically qualify for access to this API.

The deprecated API documentation 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.

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.


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.

Download OpenAPI description
Overview
License
Languages
Servers
Mock server
https://docs.intel.arkm.com/_mock/openapi/
Production server
https://api.arkm.com/

Health

API Health check

Operations

Chains

View full list of supported blockchains.

Operations

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.

Operations

Get a simple histogram of transfers (Public)

Request

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.

Security
ApiKeyAuth
Query
basestring

Filter by specific entity or address

chainsstring

Comma-separated list of chains

flowstring

Transfer direction

Enum"in""out""self""all"
timeLaststring

Time range filter (e.g. "24h", "7d")

timeGtestring

Start time in milliseconds

timeLtestring

End time in milliseconds

curl -i -X GET \
  'https://docs.intel.arkm.com/_mock/openapi/transfers/histogram/simple?base=string&chains=string&flow=in&timeLast=string&timeGte=string&timeLte=string' \
  -H 'API-Key: YOUR_API_KEY_HERE'

Responses

Successful histogram data

Bodyapplication/jsonArray [
timestring(date-time)
Example: "2025-03-31T00:00:00Z"
countinteger
Example: 17
usdnumber
Example: 983
]
Response
application/json
[ { "time": "2025-03-31T00:00:00Z", "count": 17, "usd": 983 } ]

Get a detailed histogram of transfers (API Only)

Request

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).
Security
ApiKeyAuth
Query
basestring

Filter by specific entity or address. For example: "0x123abc" or "binance".

granularitystringrequired

Granularity of histogram buckets. Valid values: "1h" or "1d". For time ranges over 30 days, only "1d" is valid.

Enum"1h""1d"
chainsstring

Comma-separated list of chains. For example: "ethereum,bsc".

flowstring

Transfer direction: "in" for incoming, "out" for outgoing, "self" for self-transfers, or "all".

Enum"in""out""self""all"
timeLaststring

Time range filter using relative durations. Examples: "24h", "7d", "30d".

timeGtestring

Time range filter (from) in milliseconds (e.g. 1696630274000).

timeLtestring

Time range filter (to) in milliseconds (e.g. 1696716674000).

valueGtenumber

Minimum raw token value (on-chain units).

valueLtenumber

Maximum raw token value (on-chain units).

usdGtenumber

Minimum historical USD value.

usdLtenumber

Maximum historical USD value.

fromstring

Comma-separated list of addresses, entities, or deposit services for the 'from' side. You can also use special syntax like "type:smart_money" or "deposit:binance".

tostring

Comma-separated list of addresses, entities, or deposit services for the 'to' side.

tokensstring

Comma-separated list of token addresses or token IDs. E.g. "ethereum", "usd-coin", or "0x...tokenAddress".

counterpartiesstring

Comma-separated list of addresses or entities to treat strictly as counterparties (only base <-> counterparty transfers).

curl -i -X GET \
  'https://docs.intel.arkm.com/_mock/openapi/transfers/histogram?base=string&granularity=1h&chains=string&flow=in&timeLast=string&timeGte=string&timeLte=string&valueGte=0&valueLte=0&usdGte=0&usdLte=0&from=string&to=string&tokens=string&counterparties=string' \
  -H 'API-Key: YOUR_API_KEY_HERE'

Responses

Successful histogram data

Bodyapplication/jsonArray [
timestring(date-time)
Example: "2025-03-31T00:00:00Z"
countinteger
Example: 17
usdnumber
Example: 983
]
Response
application/json
[ { "time": "2025-03-31T00:00:00Z", "count": 17, "usd": 983 } ]

Get swaps

Request

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).
Security
ApiKeyAuth
Query
basestring

Filter by specific entity or address

chainsstring

Comma-separated list of chains

flowstring

Swap direction relative to base address

Enum"in""out""all"
fromstring

Filter by sender addresses or entities

tostring

Filter by receiver addresses or entities

tokensstring

Comma-separated list of token addresses or IDs

timeLaststring

Time range filter (e.g. "24h", "7d")

timeGtestring

Start time in milliseconds

timeLtestring

End time in milliseconds

usdGtenumber

Minimum historical USD value

usdLtenumber

Maximum historical USD value

sortKeystring

Field to sort by

Enum"time""usd"
sortDirstring

Sort direction

Enum"asc""desc"
limitinteger

Maximum number of results

Default 50
offsetinteger

Pagination offset

Default 0
curl -i -X GET \
  'https://docs.intel.arkm.com/_mock/openapi/swaps?base=string&chains=string&flow=in&from=string&to=string&tokens=string&timeLast=string&timeGte=string&timeLte=string&usdGte=0&usdLte=0&sortKey=time&sortDir=asc&limit=50&offset=0' \
  -H 'API-Key: YOUR_API_KEY_HERE'

Responses

List of swaps matching the filters

Bodyapplication/json
swapsArray of objects(Swap)
countinteger
Example: 10
Response
application/json
{ "swaps": [ {} ], "count": 10 }

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.

Operations

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.

Operations

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.

Operations

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.

Operations

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.

Operations

History

Provides endpoints for retrieving historical analytics on blockchain entities and addresses. Returns time-series USD value snapshots to help analyze changes over time.

Operations

Portfolio

Provides endpoints for managing and tracking entity and address portfolios. Includes historical snapshots, daily time-series data, and cross-chain portfolio analytics.

Operations

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.

Operations

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.

Operations

ARKM

Provides endpoints related to the ARKM token and Arkham Exchange tokens, including supply information and token listings.

Operations

Networks

Provides endpoints for monitoring blockchain networks and retrieving chain-specific historical data, including current status and historical quotes.

Operations

Balances

Provides endpoints for tracking and retrieving token balances for blockchain addresses and entities, with optional filtering by chain.

Operations

Loans

Provides endpoints for tracking loan and borrow positions on-chain, including supplied, borrowed, and outstanding assets for addresses and entities.

Operations

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.

Operations

Labels

Provides endpoints for managing user-defined labels, including creating, retrieving, updating, and deleting labels associated with blockchain addresses.

Operations

Flow

Provides endpoints for analyzing historical USD flows for addresses and entities across supported chains, including inflows, outflows, and running totals over time.

Operations