GET
/
v1
/
trends
/
evm
/
contracts
/
{chain}
curl --request GET \
  --url https://api.dune.com/api/v1/trends/evm/contracts/{chain} \
  --header 'X-DUNE-API-KEY: <x-dune-api-key>'
{
  "execution_id": "01HT6JP0406V2P27ER1Q5VVGVN",
  "query_id": 3575084,
  "is_execution_finished": true,
  "state": "QUERY_STATE_COMPLETED",
  "submitted_at": "2024-04-16T15:14:43.606076Z",
  "expires_at": "2024-07-15T15:15:31.475503Z",
  "execution_started_at": "2024-04-16T15:15:11.247805Z",
  "execution_ended_at": "2024-04-16T15:15:31.4755Z",
  "result": {
    "rows": [
      {
        "blockchain": "ethereum",
        "contract_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
        "contract_calls": 2700467,
        "contract_name": "Tether_USD",
        "contract_project": "Tether",
        "created_time": "2017-11-28 00:41:21.000 UTC",
        "deployed_days_ago": 2314,
        "deployer": "0x36928500bc1dcd7af6a2b4008875cc336b927d57",
        "token_standard": null,
        "transaction_calls": 3311351,
        "unique_callers": 937948,
        "unique_contract_callers": 85191,
        "usd_value_recieved": 1830950.412353698
      }
    ]
  },
  "metadata": {
    "column_names": [
      "contract_address",
      "blockchain",
      "deployer",
      "contract_project",
      "contract_name",
      "created_time",
      "deployed_days_ago",
      "token_standard",
      "usd_value_recieved",
      "transaction_calls",
      "unique_callers",
      "contract_calls",
      "unique_contract_callers"
    ],
    "row_count": 1,
    "result_set_bytes": 440,
    "total_row_count": 994180,
    "total_result_set_bytes": 155079150,
    "datapoint_count": 13,
    "pending_time_millis": 48645,
    "execution_time_millis": 96350
  },
  "next_uri": "https://api.dune.com/api/v1/execution/01HT6JP0406V2P27ER1Q5VVGVN/results?filters=blockchain%3D%22ethereum%22&limit=1&offset=1&sort_by=transaction_calls+desc",
  "next_offset": 10
}
  • Query can be found here
  • Scheduled to update once a day (12am UTC)
  • You can apply filters like WHERE, IN, AND/OR upon results

Use Cases

  • Feed into a CRM of developers and projects based on contract popularity
  • Build an explorer page of top trending contracts, with basic metadata to support.
  • Track trending contracts by value and type (user facing, contract facing, token, router, safes, etc.)

Column Descriptions

Column NameDescriptionType
contract_addressContract address of the contractstring
blockchainBlockchain of the contractstring
deployerDeployer address of the contractstring
contract_projectProject of the contractstring
contract_nameName of the contractstring
created_timeTime when the contract was createdstring
deployed_days_agoNumber of days since deploymentinteger
token_standardStandard of the token (ERC20,ERC721,ERC1155) if applicablestring
usd_value_receivedValue received in USD in ETH and ERC20 tokens in last 30 daysinteger
transaction_callsNumber of transaction calls (top level transactions) in last 30 daysinteger
unique_callersNumber of unique callers (tx from) in last 30 daysinteger
contract_callsNumber of calls from other contracts in last 30 daysinteger
unique_contract_callersNumber of unique contracts calling this contract in traces in last 30 daysinteger

Headers

X-DUNE-API-KEY
string
required

API Key for the service

Path Parameters

chain
string
required

EVM chain name (use Dune namespace, i.e. ethereum, bnb, polygon, optimsm, etc)

Query Parameters

api_key
string

API Key for the service, alternative to using the HTTP header X-DUNE-API-KEY.

limit
integer
required

Limit number of rows to return. This together with 'offset' allows easy pagination through results in an incremental and efficient way. This parameter is incompatible with sampling (sample_count).

offset
integer

Offset row number to start (inclusive, first row means offset=0) returning results from. This together with 'limit' allows easy pagination through results in an incremental and efficient way. This parameter is incompatible with sampling (sample_count).

filters
string

Expression to filter out rows from the results to return. This expression is similar to a SQL WHERE clause. More details about it in the Filtering section of the doc. This parameter is incompatible with sample_count.

sort_by
string

Expression to define the order in which the results should be returned. This expression is similar to a SQL ORDER BY clause. More details about it in the Sorting section of the doc.

Response

200 - application/json
execution_id
string

Unique identifier for the execution

query_id
integer

Unique identifier for the query

is_execution_finished
boolean

Flag to indicate if the execution is finished

state
string

State of the query execution

submitted_at
string

Time when the query was submitted

expires_at
string

Time when the query will expire

execution_started_at
string

Time when the execution started

execution_ended_at
string

Time when the execution ended

result
object

results from query

metadata
object

metadata about the results

next_uri
string

URI to get the next set of results

next_offset
integer

Offset to get the next set of results