Skip to content

Instantly share code, notes, and snippets.

@Filip3Dev
Created August 27, 2025 16:48
Show Gist options
  • Select an option

  • Save Filip3Dev/eb963b62b05ef7f990b26650dd168a2b to your computer and use it in GitHub Desktop.

Select an option

Save Filip3Dev/eb963b62b05ef7f990b26650dd168a2b to your computer and use it in GitHub Desktop.
{
"openapi": "3.0.0",
"info": {
"title": "Insight service",
"version": "1.0.0"
},
"servers": [
{
"url": "https://{chainId}.insight.thirdweb.com/",
"variables": {
"chainId": {
"enum": [
"1",
"10",
"14",
"31",
"89",
"114",
"137",
"146",
"232",
"240",
"295",
"300",
"324",
"360",
"388",
"466",
"480",
"690",
"747",
"753",
"828",
"1114",
"1116",
"1301",
"1514",
"1628",
"1923",
"1924",
"1946",
"1962",
"1993",
"1996",
"2020",
"2021",
"2039",
"2187",
"2741",
"4654",
"4661",
"4801",
"5330",
"6342",
"7897",
"8333",
"8453",
"9116",
"9746",
"10143",
"11124",
"11690",
"13746",
"16601",
"19934",
"19991",
"20993",
"28802",
"33139",
"37111",
"41455",
"41923",
"42161",
"42170",
"42220",
"42793",
"43113",
"43114",
"44787",
"49321",
"50104",
"55244",
"57054",
"57073",
"59141",
"59144",
"61166",
"70700",
"80002",
"80069",
"80087",
"80094",
"80888",
"81457",
"84532",
"98866",
"98867",
"98985",
"128123",
"167000",
"167009",
"421614",
"534351",
"534352",
"543210",
"656476",
"660279",
"747474",
"984122",
"1000080",
"2632500",
"7082400",
"7777777",
"11155111",
"11155420",
"888888888",
"994873017",
"1660990954",
"1952959480",
"2030232745",
"37714555429",
"123420001114"
],
"default": "1"
}
}
}
],
"security": [
{
"clientId": []
}
],
"tags": [
{
"name": "events",
"description": "Query blockchain events"
},
{
"name": "transactions",
"description": "Query blockchain transactions"
},
{
"name": "blocks",
"description": "Query blockchain blocks"
},
{
"name": "tokens",
"description": "Query token balances, transfers, prices etc."
},
{
"name": "nfts",
"description": "Query NFT transfers, collections etc."
},
{
"name": "wallets",
"description": "Wallet related queries"
},
{
"name": "contracts",
"description": "Query contract metadata, ABIs, etc."
},
{
"name": "decode",
"description": "Decode contract logs and transactions"
},
{
"name": "resolve",
"description": "Resolve various kinds of blockchain data, like addresses, block numbers, contracts etc"
},
{
"name": "webhooks",
"description": "Manage thirdweb Insight webhooks"
}
],
"components": {
"securitySchemes": {
"clientId": {
"type": "apiKey",
"in": "header",
"name": "x-client-id",
"description": "thirdweb client ID in headers"
},
"secretKey": {
"type": "apiKey",
"in": "header",
"name": "x-secret-key",
"description": "thirdweb secret key in headers"
},
"dashboard": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "JWT",
"description": "thirdweb JWT + Client ID"
},
"clientId-query": {
"type": "apiKey",
"in": "query",
"name": "clientId",
"description": "thirdweb client ID in query params"
}
},
"schemas": {},
"parameters": {}
},
"paths": {
"/v1/webhooks": {
"get": {
"description": "Get a list of webhooks or a single webhook by ID",
"summary": "Get webhooks",
"tags": [
"webhooks"
],
"security": [
{
"secretKey": []
}
],
"parameters": [
{
"schema": {
"type": "string",
"minLength": 1,
"description": "The webhook ID to request the data for"
},
"required": false,
"name": "webhook_id",
"in": "query"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"team_id": {
"type": "string"
},
"project_id": {
"type": "string"
},
"name": {
"type": "string",
"nullable": true
},
"webhook_url": {
"type": "string"
},
"webhook_secret": {
"type": "string"
},
"filters": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"nullable": true
},
{
"type": "object",
"additionalProperties": {
"nullable": true
}
},
{
"type": "array",
"items": {
"nullable": true
}
},
{
"nullable": true
}
]
},
"suspended_at": {
"type": "string",
"nullable": true
},
"suspended_reason": {
"type": "string",
"nullable": true
},
"disabled": {
"type": "boolean"
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"team_id",
"project_id",
"name",
"webhook_url",
"webhook_secret",
"filters",
"suspended_at",
"suspended_reason",
"disabled",
"created_at",
"updated_at"
]
}
}
},
"required": [
"data"
]
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
},
"post": {
"description": "Create a new webhook. In order to receive decoded data, specify a partial ABI in the filters.",
"summary": "Create webhook",
"tags": [
"webhooks"
],
"security": [
{
"secretKey": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"webhook_url": {
"type": "string",
"format": "uri"
},
"filters": {
"type": "object",
"properties": {
"v1.events": {
"type": "object",
"properties": {
"chain_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^\\d+$"
}
},
"addresses": {
"type": "array",
"items": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"minItems": 1
},
"signatures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"sig_hash": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{64}$"
},
"abi": {
"type": "string"
},
"params": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
}
}
},
"required": [
"sig_hash"
]
}
}
},
"required": [
"addresses"
]
},
"v1.transactions": {
"type": "object",
"properties": {
"chain_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^\\d+$"
}
},
"from_addresses": {
"type": "array",
"items": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"minItems": 1
},
"to_addresses": {
"type": "array",
"items": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"minItems": 1
},
"signatures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"sig_hash": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{8}$"
},
"abi": {
"type": "string"
},
"params": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
}
}
},
"required": [
"sig_hash"
]
}
}
}
}
}
},
"name": {
"type": "string",
"minLength": 3,
"maxLength": 100
}
},
"required": [
"webhook_url",
"filters"
]
}
}
}
},
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"team_id": {
"type": "string"
},
"project_id": {
"type": "string"
},
"name": {
"type": "string",
"nullable": true
},
"webhook_url": {
"type": "string"
},
"webhook_secret": {
"type": "string"
},
"filters": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"nullable": true
},
{
"type": "object",
"additionalProperties": {
"nullable": true
}
},
{
"type": "array",
"items": {
"nullable": true
}
},
{
"nullable": true
}
]
},
"suspended_at": {
"type": "string",
"nullable": true
},
"suspended_reason": {
"type": "string",
"nullable": true
},
"disabled": {
"type": "boolean"
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"team_id",
"project_id",
"name",
"webhook_url",
"webhook_secret",
"filters",
"suspended_at",
"suspended_reason",
"disabled",
"created_at",
"updated_at"
]
}
},
"required": [
"data"
]
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/webhooks/{webhook_id}": {
"patch": {
"description": "Update a webhook.",
"summary": "Update webhook",
"tags": [
"webhooks"
],
"security": [
{
"secretKey": []
}
],
"parameters": [
{
"schema": {
"type": "string",
"minLength": 1
},
"required": true,
"name": "webhook_id",
"in": "path"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"webhook_url": {
"type": "string",
"format": "uri"
},
"filters": {
"type": "object",
"properties": {
"v1.events": {
"type": "object",
"properties": {
"chain_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^\\d+$"
}
},
"addresses": {
"type": "array",
"items": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"minItems": 1
},
"signatures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"sig_hash": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{64}$"
},
"abi": {
"type": "string"
},
"params": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
}
}
},
"required": [
"sig_hash"
]
}
}
},
"required": [
"addresses"
]
},
"v1.transactions": {
"type": "object",
"properties": {
"chain_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^\\d+$"
}
},
"from_addresses": {
"type": "array",
"items": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"minItems": 1
},
"to_addresses": {
"type": "array",
"items": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"minItems": 1
},
"signatures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"sig_hash": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{8}$"
},
"abi": {
"type": "string"
},
"params": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
}
}
},
"required": [
"sig_hash"
]
}
}
}
}
}
},
"name": {
"type": "string",
"minLength": 3,
"maxLength": 100
},
"disabled": {
"type": "boolean"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"team_id": {
"type": "string"
},
"project_id": {
"type": "string"
},
"name": {
"type": "string",
"nullable": true
},
"webhook_url": {
"type": "string"
},
"webhook_secret": {
"type": "string"
},
"filters": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"nullable": true
},
{
"type": "object",
"additionalProperties": {
"nullable": true
}
},
{
"type": "array",
"items": {
"nullable": true
}
},
{
"nullable": true
}
]
},
"suspended_at": {
"type": "string",
"nullable": true
},
"suspended_reason": {
"type": "string",
"nullable": true
},
"disabled": {
"type": "boolean"
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"team_id",
"project_id",
"name",
"webhook_url",
"webhook_secret",
"filters",
"suspended_at",
"suspended_reason",
"disabled",
"created_at",
"updated_at"
]
}
},
"required": [
"data"
]
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"404": {
"description": "Webhook not found",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
},
"delete": {
"description": "Delete a webhook. This action cannot be undone.",
"summary": "Delete webhook",
"tags": [
"webhooks"
],
"security": [
{
"secretKey": []
}
],
"parameters": [
{
"schema": {
"type": "string",
"minLength": 1
},
"required": true,
"name": "webhook_id",
"in": "path"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"team_id": {
"type": "string"
},
"project_id": {
"type": "string"
},
"name": {
"type": "string",
"nullable": true
},
"webhook_url": {
"type": "string"
},
"webhook_secret": {
"type": "string"
},
"filters": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"nullable": true
},
{
"type": "object",
"additionalProperties": {
"nullable": true
}
},
{
"type": "array",
"items": {
"nullable": true
}
},
{
"nullable": true
}
]
},
"suspended_at": {
"type": "string",
"nullable": true
},
"suspended_reason": {
"type": "string",
"nullable": true
},
"disabled": {
"type": "boolean"
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"team_id",
"project_id",
"name",
"webhook_url",
"webhook_secret",
"filters",
"suspended_at",
"suspended_reason",
"disabled",
"created_at",
"updated_at"
]
}
},
"required": [
"data"
]
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"404": {
"description": "Webhook not found",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/webhooks/test": {
"post": {
"description": "Test your webhook URL. This will send a test event to the webhook URL signed with an example secret 'test123'. NB! The payload does not necessarily match your webhook filters. You can however use it to test signature verification and payload format handling.",
"summary": "Test webhook",
"tags": [
"webhooks"
],
"security": [
{
"secretKey": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"webhook_id": {
"type": "string",
"minLength": 1
},
"webhook_url": {
"type": "string",
"format": "uri"
},
"type": {
"type": "string",
"enum": [
"event",
"transaction"
],
"default": "event"
}
},
"required": [
"webhook_url"
]
}
}
}
},
"responses": {
"200": {
"description": "Test event sent successfully",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
]
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"429": {
"description": "Rate limit exceeded",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/events": {
"get": {
"description": "Get events",
"summary": "Get events",
"tags": [
"events"
],
"parameters": [
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number",
"example": 1000000
},
"required": false,
"name": "filter_block_number",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number greater than or equal to",
"example": 1000000
},
"required": false,
"name": "filter_block_number_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number greater than",
"example": 1000000
},
"required": false,
"name": "filter_block_number_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number less than or equal to",
"example": 1000000
},
"required": false,
"name": "filter_block_number_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number less than",
"example": 1000000
},
"required": false,
"name": "filter_block_number_lt",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by block hash",
"example": "0x3a1fba5abd9d41457944e91ed097e039b7b12d3d7ba324a3f422db2277a48e28"
},
"required": false,
"name": "filter_block_hash",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp greater than or equal to",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp greater than",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp less than or equal to",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp less than",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_lt",
"in": "query"
},
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"block_number"
],
"title": "constant"
},
{
"type": "string",
"title": "string"
}
],
"description": "Field to sort results by",
"example": "block_number"
},
"required": false,
"name": "sort_by",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"description": "Sort order (asc or desc)",
"example": "desc"
},
"required": false,
"name": "sort_order",
"in": "query"
},
{
"schema": {
"type": [
"string",
"null"
],
"description": "Field(s) to group by. You can specify multiple with repeated query parameters, e.g., ?group_by=chain_id&group_by=block_number"
},
"required": false,
"name": "group_by",
"in": "query"
},
{
"schema": {
"type": [
"string",
"null"
],
"description": "Aggregation(s). You can specify multiple with repeated query parameters, e.g., ?aggregate=count()&aggregate=sum(gas_used)",
"example": "count() as count"
},
"required": false,
"name": "aggregate",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index",
"example": 5
},
"required": false,
"name": "filter_transaction_index",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index greater than or equal to",
"example": 5
},
"required": false,
"name": "filter_transaction_index_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index greater than",
"example": 5
},
"required": false,
"name": "filter_transaction_index_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index less than or equal to",
"example": 5
},
"required": false,
"name": "filter_transaction_index_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index less than",
"example": 5
},
"required": false,
"name": "filter_transaction_index_lt",
"in": "query"
},
{
"schema": {
"type": "boolean",
"nullable": true,
"description": "Enable ABI decoding of the transactions/events data",
"example": true
},
"required": false,
"name": "decode",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by transaction hash",
"example": "0x218b632d932371478d1ae5a01620ebab1a2030f9dad6f8fba4a044ea6335a57e"
},
"required": false,
"name": "filter_transaction_hash",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by log index",
"example": 5
},
"required": false,
"name": "filter_log_index",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by log index greater than or equal to",
"example": 5
},
"required": false,
"name": "filter_log_index_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by log index greater than",
"example": 5
},
"required": false,
"name": "filter_log_index_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by log index less than or equal to",
"example": 5
},
"required": false,
"name": "filter_log_index_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by log index less than",
"example": 5
},
"required": false,
"name": "filter_log_index_lt",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by topic 1",
"example": "0xa6697e974e6a320f454390be03f74955e8978f1a6971ea6730542e37b66179bc"
},
"required": false,
"name": "filter_topic_1",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by topic 2",
"example": "0xa6697e974e6a320f454390be03f74955e8978f1a6971ea6730542e37b66179bc"
},
"required": false,
"name": "filter_topic_2",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by topic 3",
"example": "0xa6697e974e6a320f454390be03f74955e8978f1a6971ea6730542e37b66179bc"
},
"required": false,
"name": "filter_topic_3",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by topic 0",
"example": "0xa6697e974e6a320f454390be03f74955e8978f1a6971ea6730542e37b66179bc"
},
"required": false,
"name": "filter_topic_0",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by address",
"title": "address (hex or ENS)",
"example": "0x5564886ca2c518d1964e5fcea4f423b41db9f561"
},
"required": false,
"name": "filter_address",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 20,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"default": 0,
"description": "Page number (0-indexed). Maximum value depends on query parameters: 20 for regular queries, 500 when using aggregate or group_by parameters.",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "string"
},
"block_number": {
"type": "number"
},
"block_hash": {
"type": "string"
},
"block_timestamp": {
"type": "number"
},
"transaction_hash": {
"type": "string"
},
"transaction_index": {
"type": "number"
},
"log_index": {
"type": "number"
},
"address": {
"type": "string"
},
"data": {
"type": "string"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"decoded": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"signature": {
"type": "string"
},
"indexed_params": {
"type": "object",
"properties": {}
},
"non_indexed_params": {
"type": "object",
"properties": {}
}
},
"required": [
"name",
"signature",
"indexed_params",
"non_indexed_params"
]
}
},
"required": [
"chain_id",
"block_number",
"block_hash",
"block_timestamp",
"transaction_hash",
"transaction_index",
"log_index",
"address",
"data",
"topics"
]
}
},
"aggregations": {
"nullable": true
},
"meta": {
"type": "object",
"properties": {
"chain_ids": {
"type": "array",
"items": {
"type": "number"
}
},
"address": {
"type": "string"
},
"signature": {
"type": "string"
},
"page": {
"type": "number"
},
"limit_per_chain": {
"type": "number"
},
"total_items": {
"type": "number"
},
"total_pages": {
"type": "number"
}
},
"required": [
"chain_ids",
"page",
"limit_per_chain",
"total_items",
"total_pages"
]
}
},
"required": [
"meta"
]
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/events/{contractAddress}": {
"get": {
"description": "Get contract events",
"summary": "Get contract events",
"tags": [
"events"
],
"parameters": [
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "contractAddress",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number",
"example": 1000000
},
"required": false,
"name": "filter_block_number",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number greater than or equal to",
"example": 1000000
},
"required": false,
"name": "filter_block_number_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number greater than",
"example": 1000000
},
"required": false,
"name": "filter_block_number_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number less than or equal to",
"example": 1000000
},
"required": false,
"name": "filter_block_number_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number less than",
"example": 1000000
},
"required": false,
"name": "filter_block_number_lt",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by block hash",
"example": "0x3a1fba5abd9d41457944e91ed097e039b7b12d3d7ba324a3f422db2277a48e28"
},
"required": false,
"name": "filter_block_hash",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp greater than or equal to",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp greater than",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp less than or equal to",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp less than",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_lt",
"in": "query"
},
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"block_number"
],
"title": "constant"
},
{
"type": "string",
"title": "string"
}
],
"description": "Field to sort results by",
"example": "block_number"
},
"required": false,
"name": "sort_by",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"description": "Sort order (asc or desc)",
"example": "desc"
},
"required": false,
"name": "sort_order",
"in": "query"
},
{
"schema": {
"type": [
"string",
"null"
],
"description": "Field(s) to group by. You can specify multiple with repeated query parameters, e.g., ?group_by=chain_id&group_by=block_number"
},
"required": false,
"name": "group_by",
"in": "query"
},
{
"schema": {
"type": [
"string",
"null"
],
"description": "Aggregation(s). You can specify multiple with repeated query parameters, e.g., ?aggregate=count()&aggregate=sum(gas_used)",
"example": "count() as count"
},
"required": false,
"name": "aggregate",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index",
"example": 5
},
"required": false,
"name": "filter_transaction_index",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index greater than or equal to",
"example": 5
},
"required": false,
"name": "filter_transaction_index_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index greater than",
"example": 5
},
"required": false,
"name": "filter_transaction_index_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index less than or equal to",
"example": 5
},
"required": false,
"name": "filter_transaction_index_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index less than",
"example": 5
},
"required": false,
"name": "filter_transaction_index_lt",
"in": "query"
},
{
"schema": {
"type": "boolean",
"nullable": true,
"description": "Enable ABI decoding of the transactions/events data",
"example": true
},
"required": false,
"name": "decode",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by transaction hash",
"example": "0x218b632d932371478d1ae5a01620ebab1a2030f9dad6f8fba4a044ea6335a57e"
},
"required": false,
"name": "filter_transaction_hash",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by log index",
"example": 5
},
"required": false,
"name": "filter_log_index",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by log index greater than or equal to",
"example": 5
},
"required": false,
"name": "filter_log_index_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by log index greater than",
"example": 5
},
"required": false,
"name": "filter_log_index_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by log index less than or equal to",
"example": 5
},
"required": false,
"name": "filter_log_index_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by log index less than",
"example": 5
},
"required": false,
"name": "filter_log_index_lt",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by topic 1",
"example": "0xa6697e974e6a320f454390be03f74955e8978f1a6971ea6730542e37b66179bc"
},
"required": false,
"name": "filter_topic_1",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by topic 2",
"example": "0xa6697e974e6a320f454390be03f74955e8978f1a6971ea6730542e37b66179bc"
},
"required": false,
"name": "filter_topic_2",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by topic 3",
"example": "0xa6697e974e6a320f454390be03f74955e8978f1a6971ea6730542e37b66179bc"
},
"required": false,
"name": "filter_topic_3",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by topic 0",
"example": "0xa6697e974e6a320f454390be03f74955e8978f1a6971ea6730542e37b66179bc"
},
"required": false,
"name": "filter_topic_0",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 20,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"default": 0,
"description": "Page number (0-indexed). Maximum value depends on query parameters: 20 for regular queries, 500 when using aggregate or group_by parameters.",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "string"
},
"block_number": {
"type": "number"
},
"block_hash": {
"type": "string"
},
"block_timestamp": {
"type": "number"
},
"transaction_hash": {
"type": "string"
},
"transaction_index": {
"type": "number"
},
"log_index": {
"type": "number"
},
"address": {
"type": "string"
},
"data": {
"type": "string"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"decoded": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"signature": {
"type": "string"
},
"indexed_params": {
"type": "object",
"properties": {}
},
"non_indexed_params": {
"type": "object",
"properties": {}
}
},
"required": [
"name",
"signature",
"indexed_params",
"non_indexed_params"
]
}
},
"required": [
"chain_id",
"block_number",
"block_hash",
"block_timestamp",
"transaction_hash",
"transaction_index",
"log_index",
"address",
"data",
"topics"
]
}
},
"aggregations": {
"nullable": true
},
"meta": {
"type": "object",
"properties": {
"chain_ids": {
"type": "array",
"items": {
"type": "number"
}
},
"address": {
"type": "string"
},
"signature": {
"type": "string"
},
"page": {
"type": "number"
},
"limit_per_chain": {
"type": "number"
},
"total_items": {
"type": "number"
},
"total_pages": {
"type": "number"
}
},
"required": [
"chain_ids",
"page",
"limit_per_chain",
"total_items",
"total_pages"
]
}
},
"required": [
"meta"
]
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/events/{contractAddress}/{signature}": {
"get": {
"description": "Get specific contract events",
"summary": "Get contract events with specific signature",
"tags": [
"events"
],
"parameters": [
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "contractAddress",
"in": "path"
},
{
"schema": {
"type": "string"
},
"required": true,
"name": "signature",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number",
"example": 1000000
},
"required": false,
"name": "filter_block_number",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number greater than or equal to",
"example": 1000000
},
"required": false,
"name": "filter_block_number_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number greater than",
"example": 1000000
},
"required": false,
"name": "filter_block_number_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number less than or equal to",
"example": 1000000
},
"required": false,
"name": "filter_block_number_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number less than",
"example": 1000000
},
"required": false,
"name": "filter_block_number_lt",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by block hash",
"example": "0x3a1fba5abd9d41457944e91ed097e039b7b12d3d7ba324a3f422db2277a48e28"
},
"required": false,
"name": "filter_block_hash",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp greater than or equal to",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp greater than",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp less than or equal to",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp less than",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_lt",
"in": "query"
},
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"block_number"
],
"title": "constant"
},
{
"type": "string",
"title": "string"
}
],
"description": "Field to sort results by",
"example": "block_number"
},
"required": false,
"name": "sort_by",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"description": "Sort order (asc or desc)",
"example": "desc"
},
"required": false,
"name": "sort_order",
"in": "query"
},
{
"schema": {
"type": [
"string",
"null"
],
"description": "Field(s) to group by. You can specify multiple with repeated query parameters, e.g., ?group_by=chain_id&group_by=block_number"
},
"required": false,
"name": "group_by",
"in": "query"
},
{
"schema": {
"type": [
"string",
"null"
],
"description": "Aggregation(s). You can specify multiple with repeated query parameters, e.g., ?aggregate=count()&aggregate=sum(gas_used)",
"example": "count() as count"
},
"required": false,
"name": "aggregate",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index",
"example": 5
},
"required": false,
"name": "filter_transaction_index",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index greater than or equal to",
"example": 5
},
"required": false,
"name": "filter_transaction_index_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index greater than",
"example": 5
},
"required": false,
"name": "filter_transaction_index_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index less than or equal to",
"example": 5
},
"required": false,
"name": "filter_transaction_index_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index less than",
"example": 5
},
"required": false,
"name": "filter_transaction_index_lt",
"in": "query"
},
{
"schema": {
"type": "boolean",
"nullable": true,
"description": "Enable ABI decoding of the transactions/events data",
"example": true
},
"required": false,
"name": "decode",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by transaction hash",
"example": "0x218b632d932371478d1ae5a01620ebab1a2030f9dad6f8fba4a044ea6335a57e"
},
"required": false,
"name": "filter_transaction_hash",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by log index",
"example": 5
},
"required": false,
"name": "filter_log_index",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by log index greater than or equal to",
"example": 5
},
"required": false,
"name": "filter_log_index_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by log index greater than",
"example": 5
},
"required": false,
"name": "filter_log_index_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by log index less than or equal to",
"example": 5
},
"required": false,
"name": "filter_log_index_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by log index less than",
"example": 5
},
"required": false,
"name": "filter_log_index_lt",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by topic 1",
"example": "0xa6697e974e6a320f454390be03f74955e8978f1a6971ea6730542e37b66179bc"
},
"required": false,
"name": "filter_topic_1",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by topic 2",
"example": "0xa6697e974e6a320f454390be03f74955e8978f1a6971ea6730542e37b66179bc"
},
"required": false,
"name": "filter_topic_2",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by topic 3",
"example": "0xa6697e974e6a320f454390be03f74955e8978f1a6971ea6730542e37b66179bc"
},
"required": false,
"name": "filter_topic_3",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 20,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"default": 0,
"description": "Page number (0-indexed). Maximum value depends on query parameters: 20 for regular queries, 500 when using aggregate or group_by parameters.",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "string"
},
"block_number": {
"type": "number"
},
"block_hash": {
"type": "string"
},
"block_timestamp": {
"type": "number"
},
"transaction_hash": {
"type": "string"
},
"transaction_index": {
"type": "number"
},
"log_index": {
"type": "number"
},
"address": {
"type": "string"
},
"data": {
"type": "string"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"decoded": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"signature": {
"type": "string"
},
"indexed_params": {
"type": "object",
"properties": {}
},
"non_indexed_params": {
"type": "object",
"properties": {}
}
},
"required": [
"name",
"signature",
"indexed_params",
"non_indexed_params"
]
}
},
"required": [
"chain_id",
"block_number",
"block_hash",
"block_timestamp",
"transaction_hash",
"transaction_index",
"log_index",
"address",
"data",
"topics"
]
}
},
"aggregations": {
"nullable": true
},
"meta": {
"type": "object",
"properties": {
"chain_ids": {
"type": "array",
"items": {
"type": "number"
}
},
"address": {
"type": "string"
},
"signature": {
"type": "string"
},
"page": {
"type": "number"
},
"limit_per_chain": {
"type": "number"
},
"total_items": {
"type": "number"
},
"total_pages": {
"type": "number"
}
},
"required": [
"chain_ids",
"page",
"limit_per_chain",
"total_items",
"total_pages"
]
}
},
"required": [
"meta"
]
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/transactions": {
"get": {
"description": "Get transactions",
"summary": "Get transactions",
"tags": [
"transactions"
],
"parameters": [
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number",
"example": 1000000
},
"required": false,
"name": "filter_block_number",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number greater than or equal to",
"example": 1000000
},
"required": false,
"name": "filter_block_number_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number greater than",
"example": 1000000
},
"required": false,
"name": "filter_block_number_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number less than or equal to",
"example": 1000000
},
"required": false,
"name": "filter_block_number_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number less than",
"example": 1000000
},
"required": false,
"name": "filter_block_number_lt",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by block hash",
"example": "0x3a1fba5abd9d41457944e91ed097e039b7b12d3d7ba324a3f422db2277a48e28"
},
"required": false,
"name": "filter_block_hash",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp greater than or equal to",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp greater than",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp less than or equal to",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp less than",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_lt",
"in": "query"
},
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"block_number"
],
"title": "constant"
},
{
"type": "string",
"title": "string"
}
],
"description": "Field to sort results by",
"example": "block_number"
},
"required": false,
"name": "sort_by",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"description": "Sort order (asc or desc)",
"example": "desc"
},
"required": false,
"name": "sort_order",
"in": "query"
},
{
"schema": {
"type": [
"string",
"null"
],
"description": "Field(s) to group by. You can specify multiple with repeated query parameters, e.g., ?group_by=chain_id&group_by=block_number"
},
"required": false,
"name": "group_by",
"in": "query"
},
{
"schema": {
"type": [
"string",
"null"
],
"description": "Aggregation(s). You can specify multiple with repeated query parameters, e.g., ?aggregate=count()&aggregate=sum(gas_used)",
"example": "count() as count"
},
"required": false,
"name": "aggregate",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index",
"example": 5
},
"required": false,
"name": "filter_transaction_index",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index greater than or equal to",
"example": 5
},
"required": false,
"name": "filter_transaction_index_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index greater than",
"example": 5
},
"required": false,
"name": "filter_transaction_index_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index less than or equal to",
"example": 5
},
"required": false,
"name": "filter_transaction_index_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index less than",
"example": 5
},
"required": false,
"name": "filter_transaction_index_lt",
"in": "query"
},
{
"schema": {
"type": "boolean",
"nullable": true,
"description": "Enable ABI decoding of the transactions/events data",
"example": true
},
"required": false,
"name": "decode",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by transaction hash",
"example": "0x218b632d932371478d1ae5a01620ebab1a2030f9dad6f8fba4a044ea6335a57e"
},
"required": false,
"name": "filter_hash",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by from address",
"title": "address (hex or ENS)",
"example": "0xa1e4380a3b1f749673e270229993ee55f35663b4"
},
"required": false,
"name": "filter_from_address",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by value",
"example": 21000000000000
},
"required": false,
"name": "filter_value",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by value greater than or equal to",
"example": 21000000000000
},
"required": false,
"name": "filter_value_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by value greater than",
"example": 21000000000000
},
"required": false,
"name": "filter_value_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by value less than or equal to",
"example": 21000000000000
},
"required": false,
"name": "filter_value_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by value less than",
"example": 21000000000000
},
"required": false,
"name": "filter_value_lt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas price",
"example": 50000000000000
},
"required": false,
"name": "filter_gas_price",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas price greater than or equal to",
"example": 50000000000000
},
"required": false,
"name": "filter_gas_price_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas price greater than",
"example": 50000000000000
},
"required": false,
"name": "filter_gas_price_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas price less than or equal to",
"example": 50000000000000
},
"required": false,
"name": "filter_gas_price_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas price less than",
"example": 50000000000000
},
"required": false,
"name": "filter_gas_price_lt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas",
"example": 21000
},
"required": false,
"name": "filter_gas",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas greater than or equal to",
"example": 21000
},
"required": false,
"name": "filter_gas_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas greater than",
"example": 21000
},
"required": false,
"name": "filter_gas_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas less than or equal to",
"example": 21000
},
"required": false,
"name": "filter_gas_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas less than",
"example": 21000
},
"required": false,
"name": "filter_gas_lt",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by function selector",
"example": "0x095ea7b3"
},
"required": false,
"name": "filter_function_selector",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by to address",
"title": "address (hex or ENS)",
"example": "0xa1e4380a3b1f749673e270229993ee55f35663b4"
},
"required": false,
"name": "filter_to_address",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 20,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"default": 0,
"description": "Page number (0-indexed). Maximum value depends on query parameters: 20 for regular queries, 500 when using aggregate or group_by parameters.",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "string"
},
"block_number": {
"type": "number"
},
"block_hash": {
"type": "string"
},
"block_timestamp": {
"type": "number"
},
"hash": {
"type": "string"
},
"nonce": {
"type": "number"
},
"transaction_index": {
"type": "number"
},
"from_address": {
"type": "string"
},
"to_address": {
"type": "string"
},
"value": {
"type": "string"
},
"gas_price": {
"type": "string"
},
"gas": {
"type": "number"
},
"function_selector": {
"type": "string"
},
"data": {
"type": "string"
},
"max_fee_per_gas": {
"type": "string"
},
"max_priority_fee_per_gas": {
"type": "string"
},
"transaction_type": {
"type": "number"
},
"r": {
"type": "string"
},
"s": {
"type": "string"
},
"v": {
"type": "string"
},
"access_list_json": {
"type": "string"
},
"authorization_list_json": {
"type": "string"
},
"contract_address": {
"type": "string"
},
"gas_used": {
"type": "number"
},
"cumulative_gas_used": {
"type": "number"
},
"effective_gas_price": {
"type": "string"
},
"blob_gas_used": {
"type": "number"
},
"blob_gas_price": {
"type": "string"
},
"logs_bloom": {
"type": "string"
},
"status": {
"type": "number"
},
"decoded": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"signature": {
"type": "string"
},
"inputs": {
"type": "object",
"additionalProperties": {
"nullable": true
}
}
},
"required": [
"name",
"signature"
]
}
},
"required": [
"chain_id",
"block_number",
"block_hash",
"block_timestamp",
"hash",
"nonce",
"transaction_index",
"from_address",
"to_address",
"value",
"gas_price",
"gas",
"function_selector",
"data",
"max_fee_per_gas",
"max_priority_fee_per_gas",
"transaction_type",
"r",
"s",
"v"
]
}
},
"aggregations": {
"nullable": true
},
"meta": {
"type": "object",
"properties": {
"chain_ids": {
"type": "array",
"items": {
"type": "number"
}
},
"address": {
"type": "string"
},
"signature": {
"type": "string"
},
"page": {
"type": "number"
},
"limit_per_chain": {
"type": "number"
},
"total_items": {
"type": "number"
},
"total_pages": {
"type": "number"
}
},
"required": [
"chain_ids",
"page",
"limit_per_chain",
"total_items",
"total_pages"
]
}
},
"required": [
"meta"
]
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/transactions/{contractAddress}": {
"get": {
"description": "Get contract transactions",
"summary": "Get contract transactions",
"tags": [
"transactions"
],
"parameters": [
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "contractAddress",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number",
"example": 1000000
},
"required": false,
"name": "filter_block_number",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number greater than or equal to",
"example": 1000000
},
"required": false,
"name": "filter_block_number_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number greater than",
"example": 1000000
},
"required": false,
"name": "filter_block_number_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number less than or equal to",
"example": 1000000
},
"required": false,
"name": "filter_block_number_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number less than",
"example": 1000000
},
"required": false,
"name": "filter_block_number_lt",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by block hash",
"example": "0x3a1fba5abd9d41457944e91ed097e039b7b12d3d7ba324a3f422db2277a48e28"
},
"required": false,
"name": "filter_block_hash",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp greater than or equal to",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp greater than",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp less than or equal to",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp less than",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_lt",
"in": "query"
},
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"block_number"
],
"title": "constant"
},
{
"type": "string",
"title": "string"
}
],
"description": "Field to sort results by",
"example": "block_number"
},
"required": false,
"name": "sort_by",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"description": "Sort order (asc or desc)",
"example": "desc"
},
"required": false,
"name": "sort_order",
"in": "query"
},
{
"schema": {
"type": [
"string",
"null"
],
"description": "Field(s) to group by. You can specify multiple with repeated query parameters, e.g., ?group_by=chain_id&group_by=block_number"
},
"required": false,
"name": "group_by",
"in": "query"
},
{
"schema": {
"type": [
"string",
"null"
],
"description": "Aggregation(s). You can specify multiple with repeated query parameters, e.g., ?aggregate=count()&aggregate=sum(gas_used)",
"example": "count() as count"
},
"required": false,
"name": "aggregate",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index",
"example": 5
},
"required": false,
"name": "filter_transaction_index",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index greater than or equal to",
"example": 5
},
"required": false,
"name": "filter_transaction_index_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index greater than",
"example": 5
},
"required": false,
"name": "filter_transaction_index_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index less than or equal to",
"example": 5
},
"required": false,
"name": "filter_transaction_index_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index less than",
"example": 5
},
"required": false,
"name": "filter_transaction_index_lt",
"in": "query"
},
{
"schema": {
"type": "boolean",
"nullable": true,
"description": "Enable ABI decoding of the transactions/events data",
"example": true
},
"required": false,
"name": "decode",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by transaction hash",
"example": "0x218b632d932371478d1ae5a01620ebab1a2030f9dad6f8fba4a044ea6335a57e"
},
"required": false,
"name": "filter_hash",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by from address",
"title": "address (hex or ENS)",
"example": "0xa1e4380a3b1f749673e270229993ee55f35663b4"
},
"required": false,
"name": "filter_from_address",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by value",
"example": 21000000000000
},
"required": false,
"name": "filter_value",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by value greater than or equal to",
"example": 21000000000000
},
"required": false,
"name": "filter_value_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by value greater than",
"example": 21000000000000
},
"required": false,
"name": "filter_value_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by value less than or equal to",
"example": 21000000000000
},
"required": false,
"name": "filter_value_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by value less than",
"example": 21000000000000
},
"required": false,
"name": "filter_value_lt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas price",
"example": 50000000000000
},
"required": false,
"name": "filter_gas_price",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas price greater than or equal to",
"example": 50000000000000
},
"required": false,
"name": "filter_gas_price_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas price greater than",
"example": 50000000000000
},
"required": false,
"name": "filter_gas_price_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas price less than or equal to",
"example": 50000000000000
},
"required": false,
"name": "filter_gas_price_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas price less than",
"example": 50000000000000
},
"required": false,
"name": "filter_gas_price_lt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas",
"example": 21000
},
"required": false,
"name": "filter_gas",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas greater than or equal to",
"example": 21000
},
"required": false,
"name": "filter_gas_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas greater than",
"example": 21000
},
"required": false,
"name": "filter_gas_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas less than or equal to",
"example": 21000
},
"required": false,
"name": "filter_gas_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas less than",
"example": 21000
},
"required": false,
"name": "filter_gas_lt",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by function selector",
"example": "0x095ea7b3"
},
"required": false,
"name": "filter_function_selector",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 20,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"default": 0,
"description": "Page number (0-indexed). Maximum value depends on query parameters: 20 for regular queries, 500 when using aggregate or group_by parameters.",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "string"
},
"block_number": {
"type": "number"
},
"block_hash": {
"type": "string"
},
"block_timestamp": {
"type": "number"
},
"hash": {
"type": "string"
},
"nonce": {
"type": "number"
},
"transaction_index": {
"type": "number"
},
"from_address": {
"type": "string"
},
"to_address": {
"type": "string"
},
"value": {
"type": "string"
},
"gas_price": {
"type": "string"
},
"gas": {
"type": "number"
},
"function_selector": {
"type": "string"
},
"data": {
"type": "string"
},
"max_fee_per_gas": {
"type": "string"
},
"max_priority_fee_per_gas": {
"type": "string"
},
"transaction_type": {
"type": "number"
},
"r": {
"type": "string"
},
"s": {
"type": "string"
},
"v": {
"type": "string"
},
"access_list_json": {
"type": "string"
},
"authorization_list_json": {
"type": "string"
},
"contract_address": {
"type": "string"
},
"gas_used": {
"type": "number"
},
"cumulative_gas_used": {
"type": "number"
},
"effective_gas_price": {
"type": "string"
},
"blob_gas_used": {
"type": "number"
},
"blob_gas_price": {
"type": "string"
},
"logs_bloom": {
"type": "string"
},
"status": {
"type": "number"
}
},
"required": [
"chain_id",
"block_number",
"block_hash",
"block_timestamp",
"hash",
"nonce",
"transaction_index",
"from_address",
"to_address",
"value",
"gas_price",
"gas",
"function_selector",
"data",
"max_fee_per_gas",
"max_priority_fee_per_gas",
"transaction_type",
"r",
"s",
"v"
]
}
},
"aggregations": {
"nullable": true
},
"meta": {
"type": "object",
"properties": {
"chain_ids": {
"type": "array",
"items": {
"type": "number"
}
},
"address": {
"type": "string"
},
"signature": {
"type": "string"
},
"page": {
"type": "number"
},
"limit_per_chain": {
"type": "number"
},
"total_items": {
"type": "number"
},
"total_pages": {
"type": "number"
}
},
"required": [
"chain_ids",
"page",
"limit_per_chain",
"total_items",
"total_pages"
]
}
},
"required": [
"meta"
]
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/transactions/{contractAddress}/{signature}": {
"get": {
"description": "Get specific contract transactions",
"summary": "Get contract transactions with specific signature",
"tags": [
"transactions"
],
"parameters": [
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "contractAddress",
"in": "path"
},
{
"schema": {
"type": "string"
},
"required": true,
"name": "signature",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number",
"example": 1000000
},
"required": false,
"name": "filter_block_number",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number greater than or equal to",
"example": 1000000
},
"required": false,
"name": "filter_block_number_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number greater than",
"example": 1000000
},
"required": false,
"name": "filter_block_number_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number less than or equal to",
"example": 1000000
},
"required": false,
"name": "filter_block_number_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number less than",
"example": 1000000
},
"required": false,
"name": "filter_block_number_lt",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by block hash",
"example": "0x3a1fba5abd9d41457944e91ed097e039b7b12d3d7ba324a3f422db2277a48e28"
},
"required": false,
"name": "filter_block_hash",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp greater than or equal to",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp greater than",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp less than or equal to",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp less than",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_lt",
"in": "query"
},
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"block_number"
],
"title": "constant"
},
{
"type": "string",
"title": "string"
}
],
"description": "Field to sort results by",
"example": "block_number"
},
"required": false,
"name": "sort_by",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"description": "Sort order (asc or desc)",
"example": "desc"
},
"required": false,
"name": "sort_order",
"in": "query"
},
{
"schema": {
"type": [
"string",
"null"
],
"description": "Field(s) to group by. You can specify multiple with repeated query parameters, e.g., ?group_by=chain_id&group_by=block_number"
},
"required": false,
"name": "group_by",
"in": "query"
},
{
"schema": {
"type": [
"string",
"null"
],
"description": "Aggregation(s). You can specify multiple with repeated query parameters, e.g., ?aggregate=count()&aggregate=sum(gas_used)",
"example": "count() as count"
},
"required": false,
"name": "aggregate",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index",
"example": 5
},
"required": false,
"name": "filter_transaction_index",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index greater than or equal to",
"example": 5
},
"required": false,
"name": "filter_transaction_index_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index greater than",
"example": 5
},
"required": false,
"name": "filter_transaction_index_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index less than or equal to",
"example": 5
},
"required": false,
"name": "filter_transaction_index_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index less than",
"example": 5
},
"required": false,
"name": "filter_transaction_index_lt",
"in": "query"
},
{
"schema": {
"type": "boolean",
"nullable": true,
"description": "Enable ABI decoding of the transactions/events data",
"example": true
},
"required": false,
"name": "decode",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by transaction hash",
"example": "0x218b632d932371478d1ae5a01620ebab1a2030f9dad6f8fba4a044ea6335a57e"
},
"required": false,
"name": "filter_hash",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by from address",
"title": "address (hex or ENS)",
"example": "0xa1e4380a3b1f749673e270229993ee55f35663b4"
},
"required": false,
"name": "filter_from_address",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by value",
"example": 21000000000000
},
"required": false,
"name": "filter_value",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by value greater than or equal to",
"example": 21000000000000
},
"required": false,
"name": "filter_value_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by value greater than",
"example": 21000000000000
},
"required": false,
"name": "filter_value_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by value less than or equal to",
"example": 21000000000000
},
"required": false,
"name": "filter_value_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by value less than",
"example": 21000000000000
},
"required": false,
"name": "filter_value_lt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas price",
"example": 50000000000000
},
"required": false,
"name": "filter_gas_price",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas price greater than or equal to",
"example": 50000000000000
},
"required": false,
"name": "filter_gas_price_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas price greater than",
"example": 50000000000000
},
"required": false,
"name": "filter_gas_price_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas price less than or equal to",
"example": 50000000000000
},
"required": false,
"name": "filter_gas_price_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas price less than",
"example": 50000000000000
},
"required": false,
"name": "filter_gas_price_lt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas",
"example": 21000
},
"required": false,
"name": "filter_gas",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas greater than or equal to",
"example": 21000
},
"required": false,
"name": "filter_gas_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas greater than",
"example": 21000
},
"required": false,
"name": "filter_gas_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas less than or equal to",
"example": 21000
},
"required": false,
"name": "filter_gas_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas less than",
"example": 21000
},
"required": false,
"name": "filter_gas_lt",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 20,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"default": 0,
"description": "Page number (0-indexed). Maximum value depends on query parameters: 20 for regular queries, 500 when using aggregate or group_by parameters.",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "string"
},
"block_number": {
"type": "number"
},
"block_hash": {
"type": "string"
},
"block_timestamp": {
"type": "number"
},
"hash": {
"type": "string"
},
"nonce": {
"type": "number"
},
"transaction_index": {
"type": "number"
},
"from_address": {
"type": "string"
},
"to_address": {
"type": "string"
},
"value": {
"type": "string"
},
"gas_price": {
"type": "string"
},
"gas": {
"type": "number"
},
"function_selector": {
"type": "string"
},
"data": {
"type": "string"
},
"max_fee_per_gas": {
"type": "string"
},
"max_priority_fee_per_gas": {
"type": "string"
},
"transaction_type": {
"type": "number"
},
"r": {
"type": "string"
},
"s": {
"type": "string"
},
"v": {
"type": "string"
},
"access_list_json": {
"type": "string"
},
"authorization_list_json": {
"type": "string"
},
"contract_address": {
"type": "string"
},
"gas_used": {
"type": "number"
},
"cumulative_gas_used": {
"type": "number"
},
"effective_gas_price": {
"type": "string"
},
"blob_gas_used": {
"type": "number"
},
"blob_gas_price": {
"type": "string"
},
"logs_bloom": {
"type": "string"
},
"status": {
"type": "number"
},
"decoded": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"signature": {
"type": "string"
},
"inputs": {
"type": "object",
"additionalProperties": {
"nullable": true
}
}
},
"required": [
"name",
"signature"
]
}
},
"required": [
"chain_id",
"block_number",
"block_hash",
"block_timestamp",
"hash",
"nonce",
"transaction_index",
"from_address",
"to_address",
"value",
"gas_price",
"gas",
"function_selector",
"data",
"max_fee_per_gas",
"max_priority_fee_per_gas",
"transaction_type",
"r",
"s",
"v"
]
}
},
"aggregations": {
"nullable": true
},
"meta": {
"type": "object",
"properties": {
"chain_ids": {
"type": "array",
"items": {
"type": "number"
}
},
"address": {
"type": "string"
},
"signature": {
"type": "string"
},
"page": {
"type": "number"
},
"limit_per_chain": {
"type": "number"
},
"total_items": {
"type": "number"
},
"total_pages": {
"type": "number"
}
},
"required": [
"chain_ids",
"page",
"limit_per_chain",
"total_items",
"total_pages"
]
}
},
"required": [
"meta"
]
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/tokens/owners": {
"get": {
"description": "Get token owners for specific contract",
"summary": "Get token owners by contract",
"tags": [
"tokens"
],
"parameters": [
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 50,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"maximum": 500,
"default": 0,
"description": "Page number (0-indexed)",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
},
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "contract_address",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "string"
},
"token_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"owner_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"balance": {
"type": "string"
}
},
"required": [
"chain_id",
"token_address",
"owner_address",
"balance"
]
}
}
},
"required": [
"data"
]
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"404": {
"description": "Not found"
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/tokens/transfers/transaction/{transaction_hash}": {
"get": {
"description": "Get token transfers by transaction",
"summary": "Get token transfers by transaction",
"tags": [
"tokens"
],
"parameters": [
{
"schema": {
"type": "string"
},
"required": true,
"name": "transaction_hash",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 50,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"maximum": 500,
"default": 0,
"description": "Page number (0-indexed)",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include metadata for the tokens",
"example": "false"
},
"required": false,
"name": "metadata",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include owner addresses in the NFT metadata (only if metadata is requested)",
"example": "false"
},
"required": false,
"name": "include_owners",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The types of tokens to include in the response. Can be an empty array to include all types",
"items": {
"type": "string",
"enum": [
"erc1155",
"erc721",
"erc20"
]
},
"uniqueItems": true
},
"required": false,
"name": "token_types",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"block_number": {
"type": "string"
},
"block_hash": {
"type": "string"
},
"block_timestamp": {
"type": "string"
},
"transaction_hash": {
"type": "string"
},
"from_address": {
"type": "string"
},
"to_address": {
"type": "string"
},
"log_index": {
"type": "number"
},
"contract_address": {
"type": "string"
},
"transfer_type": {
"type": "string",
"enum": [
"mint",
"sale",
"transfer"
]
},
"token_type": {
"type": "string",
"enum": [
"erc20"
]
},
"amount": {
"type": "string"
},
"chain_id": {
"type": "number"
},
"token_metadata": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"symbol": {
"type": "string"
},
"decimals": {
"type": "number"
},
"price_data": {
"type": "object",
"properties": {
"price_usd": {
"type": "number",
"description": "The price of the token in USD"
},
"usd_value": {
"type": "number",
"description": "The value of the token balance in USD"
},
"volume_24h_usd": {
"type": "number",
"description": "The volume of the token in USD"
},
"market_cap_usd": {
"type": "number",
"description": "The market cap of the token in USD"
},
"circulating_supply": {
"type": "number",
"description": "The circulating supply of the token"
},
"total_supply": {
"type": "number",
"description": "The total supply of the token"
},
"percent_change_24h": {
"type": "number",
"description": "The percentage change of the token in the last 24 hours"
},
"price_timestamp": {
"type": "string",
"description": "The timestamp of the latest price update"
}
}
}
}
},
"price_data": {
"type": "object",
"properties": {
"price_usd": {
"type": "number",
"description": "The price of the token in USD"
},
"usd_value": {
"type": "number",
"description": "The value of the token balance in USD"
},
"volume_24h_usd": {
"type": "number",
"description": "The volume of the token in USD"
},
"market_cap_usd": {
"type": "number",
"description": "The market cap of the token in USD"
},
"circulating_supply": {
"type": "number",
"description": "The circulating supply of the token"
},
"total_supply": {
"type": "number",
"description": "The total supply of the token"
},
"percent_change_24h": {
"type": "number",
"description": "The percentage change of the token in the last 24 hours"
},
"price_timestamp": {
"type": "string",
"description": "The timestamp of the latest price update"
}
}
}
},
"required": [
"block_number",
"block_timestamp",
"transaction_hash",
"from_address",
"to_address",
"log_index",
"contract_address",
"transfer_type",
"token_type",
"amount",
"chain_id"
]
}
},
"aggregations": {
"nullable": true
},
"meta": {
"type": "object",
"properties": {
"chain_id": {
"type": "number"
},
"address": {
"type": "string"
},
"signature": {
"type": "string"
},
"page": {
"type": "number"
},
"limit": {
"type": "number"
},
"total_items": {
"type": "number"
},
"total_pages": {
"type": "number"
}
},
"required": [
"chain_id"
]
}
},
"required": [
"meta"
]
}
}
}
},
"404": {
"description": "Not found"
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"block_number": {
"type": "string"
},
"block_hash": {
"type": "string"
},
"block_timestamp": {
"type": "string"
},
"transaction_hash": {
"type": "string"
},
"from_address": {
"type": "string"
},
"to_address": {
"type": "string"
},
"log_index": {
"type": "number"
},
"contract_address": {
"type": "string"
},
"transfer_type": {
"type": "string",
"enum": [
"mint",
"sale",
"transfer"
]
},
"token_type": {
"type": "string",
"enum": [
"erc20"
]
},
"amount": {
"type": "string"
},
"chain_id": {
"type": "number"
},
"token_metadata": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"symbol": {
"type": "string"
},
"decimals": {
"type": "number"
},
"price_data": {
"type": "object",
"properties": {
"price_usd": {
"type": "number",
"description": "The price of the token in USD"
},
"usd_value": {
"type": "number",
"description": "The value of the token balance in USD"
},
"volume_24h_usd": {
"type": "number",
"description": "The volume of the token in USD"
},
"market_cap_usd": {
"type": "number",
"description": "The market cap of the token in USD"
},
"circulating_supply": {
"type": "number",
"description": "The circulating supply of the token"
},
"total_supply": {
"type": "number",
"description": "The total supply of the token"
},
"percent_change_24h": {
"type": "number",
"description": "The percentage change of the token in the last 24 hours"
},
"price_timestamp": {
"type": "string",
"description": "The timestamp of the latest price update"
}
}
}
}
},
"price_data": {
"type": "object",
"properties": {
"price_usd": {
"type": "number",
"description": "The price of the token in USD"
},
"usd_value": {
"type": "number",
"description": "The value of the token balance in USD"
},
"volume_24h_usd": {
"type": "number",
"description": "The volume of the token in USD"
},
"market_cap_usd": {
"type": "number",
"description": "The market cap of the token in USD"
},
"circulating_supply": {
"type": "number",
"description": "The circulating supply of the token"
},
"total_supply": {
"type": "number",
"description": "The total supply of the token"
},
"percent_change_24h": {
"type": "number",
"description": "The percentage change of the token in the last 24 hours"
},
"price_timestamp": {
"type": "string",
"description": "The timestamp of the latest price update"
}
}
}
},
"required": [
"block_number",
"block_timestamp",
"transaction_hash",
"from_address",
"to_address",
"log_index",
"contract_address",
"transfer_type",
"token_type",
"amount",
"chain_id"
]
}
},
"aggregations": {
"nullable": true
},
"meta": {
"type": "object",
"properties": {
"chain_id": {
"type": "number"
},
"address": {
"type": "string"
},
"signature": {
"type": "string"
},
"page": {
"type": "number"
},
"limit": {
"type": "number"
},
"total_items": {
"type": "number"
},
"total_pages": {
"type": "number"
}
},
"required": [
"chain_id"
]
}
},
"required": [
"meta"
]
}
}
}
}
}
}
},
"/v1/tokens/transfers/{contract_address}": {
"get": {
"description": "Get token transfers by contract",
"summary": "Get token transfers by contract",
"tags": [
"tokens"
],
"parameters": [
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "contract_address",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 50,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"maximum": 500,
"default": 0,
"description": "Page number (0-indexed)",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include metadata for the tokens",
"example": "false"
},
"required": false,
"name": "metadata",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include owner addresses in the NFT metadata (only if metadata is requested)",
"example": "false"
},
"required": false,
"name": "include_owners",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"block_number": {
"type": "string"
},
"block_hash": {
"type": "string"
},
"block_timestamp": {
"type": "string"
},
"transaction_hash": {
"type": "string"
},
"from_address": {
"type": "string"
},
"to_address": {
"type": "string"
},
"log_index": {
"type": "number"
},
"contract_address": {
"type": "string"
},
"transfer_type": {
"type": "string",
"enum": [
"mint",
"sale",
"transfer"
]
},
"token_type": {
"type": "string",
"enum": [
"erc20"
]
},
"amount": {
"type": "string"
},
"chain_id": {
"type": "number"
},
"token_metadata": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"symbol": {
"type": "string"
},
"decimals": {
"type": "number"
},
"price_data": {
"type": "object",
"properties": {
"price_usd": {
"type": "number",
"description": "The price of the token in USD"
},
"usd_value": {
"type": "number",
"description": "The value of the token balance in USD"
},
"volume_24h_usd": {
"type": "number",
"description": "The volume of the token in USD"
},
"market_cap_usd": {
"type": "number",
"description": "The market cap of the token in USD"
},
"circulating_supply": {
"type": "number",
"description": "The circulating supply of the token"
},
"total_supply": {
"type": "number",
"description": "The total supply of the token"
},
"percent_change_24h": {
"type": "number",
"description": "The percentage change of the token in the last 24 hours"
},
"price_timestamp": {
"type": "string",
"description": "The timestamp of the latest price update"
}
}
}
}
},
"price_data": {
"type": "object",
"properties": {
"price_usd": {
"type": "number",
"description": "The price of the token in USD"
},
"usd_value": {
"type": "number",
"description": "The value of the token balance in USD"
},
"volume_24h_usd": {
"type": "number",
"description": "The volume of the token in USD"
},
"market_cap_usd": {
"type": "number",
"description": "The market cap of the token in USD"
},
"circulating_supply": {
"type": "number",
"description": "The circulating supply of the token"
},
"total_supply": {
"type": "number",
"description": "The total supply of the token"
},
"percent_change_24h": {
"type": "number",
"description": "The percentage change of the token in the last 24 hours"
},
"price_timestamp": {
"type": "string",
"description": "The timestamp of the latest price update"
}
}
}
},
"required": [
"block_number",
"block_timestamp",
"transaction_hash",
"from_address",
"to_address",
"log_index",
"contract_address",
"transfer_type",
"token_type",
"amount",
"chain_id"
]
}
},
"aggregations": {
"nullable": true
},
"meta": {
"type": "object",
"properties": {
"chain_id": {
"type": "number"
},
"address": {
"type": "string"
},
"signature": {
"type": "string"
},
"page": {
"type": "number"
},
"limit": {
"type": "number"
},
"total_items": {
"type": "number"
},
"total_pages": {
"type": "number"
}
},
"required": [
"chain_id"
]
}
},
"required": [
"meta"
]
}
}
}
},
"404": {
"description": "Not found"
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"block_number": {
"type": "string"
},
"block_hash": {
"type": "string"
},
"block_timestamp": {
"type": "string"
},
"transaction_hash": {
"type": "string"
},
"from_address": {
"type": "string"
},
"to_address": {
"type": "string"
},
"log_index": {
"type": "number"
},
"contract_address": {
"type": "string"
},
"transfer_type": {
"type": "string",
"enum": [
"mint",
"sale",
"transfer"
]
},
"token_type": {
"type": "string",
"enum": [
"erc20"
]
},
"amount": {
"type": "string"
},
"chain_id": {
"type": "number"
},
"token_metadata": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"symbol": {
"type": "string"
},
"decimals": {
"type": "number"
},
"price_data": {
"type": "object",
"properties": {
"price_usd": {
"type": "number",
"description": "The price of the token in USD"
},
"usd_value": {
"type": "number",
"description": "The value of the token balance in USD"
},
"volume_24h_usd": {
"type": "number",
"description": "The volume of the token in USD"
},
"market_cap_usd": {
"type": "number",
"description": "The market cap of the token in USD"
},
"circulating_supply": {
"type": "number",
"description": "The circulating supply of the token"
},
"total_supply": {
"type": "number",
"description": "The total supply of the token"
},
"percent_change_24h": {
"type": "number",
"description": "The percentage change of the token in the last 24 hours"
},
"price_timestamp": {
"type": "string",
"description": "The timestamp of the latest price update"
}
}
}
}
},
"price_data": {
"type": "object",
"properties": {
"price_usd": {
"type": "number",
"description": "The price of the token in USD"
},
"usd_value": {
"type": "number",
"description": "The value of the token balance in USD"
},
"volume_24h_usd": {
"type": "number",
"description": "The volume of the token in USD"
},
"market_cap_usd": {
"type": "number",
"description": "The market cap of the token in USD"
},
"circulating_supply": {
"type": "number",
"description": "The circulating supply of the token"
},
"total_supply": {
"type": "number",
"description": "The total supply of the token"
},
"percent_change_24h": {
"type": "number",
"description": "The percentage change of the token in the last 24 hours"
},
"price_timestamp": {
"type": "string",
"description": "The timestamp of the latest price update"
}
}
}
},
"required": [
"block_number",
"block_timestamp",
"transaction_hash",
"from_address",
"to_address",
"log_index",
"contract_address",
"transfer_type",
"token_type",
"amount",
"chain_id"
]
}
},
"aggregations": {
"nullable": true
},
"meta": {
"type": "object",
"properties": {
"chain_id": {
"type": "number"
},
"address": {
"type": "string"
},
"signature": {
"type": "string"
},
"page": {
"type": "number"
},
"limit": {
"type": "number"
},
"total_items": {
"type": "number"
},
"total_pages": {
"type": "number"
}
},
"required": [
"chain_id"
]
}
},
"required": [
"meta"
]
}
}
}
}
}
}
},
"/v1/tokens/transfers": {
"get": {
"description": "Get token transfers",
"summary": "Get token transfers",
"tags": [
"tokens"
],
"parameters": [
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 50,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"maximum": 500,
"default": 0,
"description": "Page number (0-indexed)",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include metadata for the tokens",
"example": "false"
},
"required": false,
"name": "metadata",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include owner addresses in the NFT metadata (only if metadata is requested)",
"example": "false"
},
"required": false,
"name": "include_owners",
"in": "query"
},
{
"schema": {
"anyOf": [
{
"type": "number",
"title": "number"
},
{
"type": "string",
"pattern": "^\\d+$",
"title": "string"
}
],
"description": "Filter by block number greater than or equal to",
"example": "1000000"
},
"required": false,
"name": "block_number_from",
"in": "query"
},
{
"schema": {
"anyOf": [
{
"type": "number",
"title": "number"
},
{
"type": "string",
"pattern": "^\\d+$",
"title": "string"
}
],
"description": "Filter by block number less than or equal to",
"example": "1000000"
},
"required": false,
"name": "block_number_to",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"description": "Filter by block timestamp greater than or equal to",
"example": 1749768884
},
"required": false,
"name": "block_timestamp_from",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"description": "Filter by block timestamp less than or equal to",
"example": 1749768884
},
"required": false,
"name": "block_timestamp_to",
"in": "query"
},
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": false,
"name": "owner_address",
"in": "query"
},
{
"schema": {
"type": "array",
"items": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"description": "Filter by contract address. Can be an array of addresses or a single address. If not provided, all contracts will be included"
},
"required": false,
"name": "contract_address",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc",
"description": "Sort order (asc or desc)",
"example": "desc"
},
"required": false,
"name": "sort_order",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"mint",
"transfer",
"burn"
],
"description": "Only include transfers of a certain type",
"example": "mint"
},
"required": false,
"name": "transfer_type",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The types of tokens to include in the response. Can be an empty array to include all types",
"items": {
"type": "string",
"enum": [
"erc1155",
"erc721",
"erc20"
]
},
"uniqueItems": true
},
"required": false,
"name": "token_types",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"block_number": {
"type": "string"
},
"block_hash": {
"type": "string"
},
"block_timestamp": {
"type": "string"
},
"transaction_hash": {
"type": "string"
},
"from_address": {
"type": "string"
},
"to_address": {
"type": "string"
},
"log_index": {
"type": "number"
},
"contract_address": {
"type": "string"
},
"transfer_type": {
"type": "string",
"enum": [
"mint",
"sale",
"transfer"
]
},
"token_type": {
"type": "string",
"enum": [
"erc20"
]
},
"amount": {
"type": "string"
},
"chain_id": {
"type": "number"
},
"token_metadata": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"symbol": {
"type": "string"
},
"decimals": {
"type": "number"
},
"price_data": {
"type": "object",
"properties": {
"price_usd": {
"type": "number",
"description": "The price of the token in USD"
},
"usd_value": {
"type": "number",
"description": "The value of the token balance in USD"
},
"volume_24h_usd": {
"type": "number",
"description": "The volume of the token in USD"
},
"market_cap_usd": {
"type": "number",
"description": "The market cap of the token in USD"
},
"circulating_supply": {
"type": "number",
"description": "The circulating supply of the token"
},
"total_supply": {
"type": "number",
"description": "The total supply of the token"
},
"percent_change_24h": {
"type": "number",
"description": "The percentage change of the token in the last 24 hours"
},
"price_timestamp": {
"type": "string",
"description": "The timestamp of the latest price update"
}
}
}
}
},
"price_data": {
"type": "object",
"properties": {
"price_usd": {
"type": "number",
"description": "The price of the token in USD"
},
"usd_value": {
"type": "number",
"description": "The value of the token balance in USD"
},
"volume_24h_usd": {
"type": "number",
"description": "The volume of the token in USD"
},
"market_cap_usd": {
"type": "number",
"description": "The market cap of the token in USD"
},
"circulating_supply": {
"type": "number",
"description": "The circulating supply of the token"
},
"total_supply": {
"type": "number",
"description": "The total supply of the token"
},
"percent_change_24h": {
"type": "number",
"description": "The percentage change of the token in the last 24 hours"
},
"price_timestamp": {
"type": "string",
"description": "The timestamp of the latest price update"
}
}
}
},
"required": [
"block_number",
"block_timestamp",
"transaction_hash",
"from_address",
"to_address",
"log_index",
"contract_address",
"transfer_type",
"token_type",
"amount",
"chain_id"
]
}
},
"aggregations": {
"nullable": true
},
"meta": {
"type": "object",
"properties": {
"chain_id": {
"type": "number"
},
"address": {
"type": "string"
},
"signature": {
"type": "string"
},
"page": {
"type": "number"
},
"limit": {
"type": "number"
},
"total_items": {
"type": "number"
},
"total_pages": {
"type": "number"
}
},
"required": [
"chain_id"
]
}
},
"required": [
"meta"
]
}
}
}
},
"404": {
"description": "Not found"
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"block_number": {
"type": "string"
},
"block_hash": {
"type": "string"
},
"block_timestamp": {
"type": "string"
},
"transaction_hash": {
"type": "string"
},
"from_address": {
"type": "string"
},
"to_address": {
"type": "string"
},
"log_index": {
"type": "number"
},
"contract_address": {
"type": "string"
},
"transfer_type": {
"type": "string",
"enum": [
"mint",
"sale",
"transfer"
]
},
"token_type": {
"type": "string",
"enum": [
"erc20"
]
},
"amount": {
"type": "string"
},
"chain_id": {
"type": "number"
},
"token_metadata": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"symbol": {
"type": "string"
},
"decimals": {
"type": "number"
},
"price_data": {
"type": "object",
"properties": {
"price_usd": {
"type": "number",
"description": "The price of the token in USD"
},
"usd_value": {
"type": "number",
"description": "The value of the token balance in USD"
},
"volume_24h_usd": {
"type": "number",
"description": "The volume of the token in USD"
},
"market_cap_usd": {
"type": "number",
"description": "The market cap of the token in USD"
},
"circulating_supply": {
"type": "number",
"description": "The circulating supply of the token"
},
"total_supply": {
"type": "number",
"description": "The total supply of the token"
},
"percent_change_24h": {
"type": "number",
"description": "The percentage change of the token in the last 24 hours"
},
"price_timestamp": {
"type": "string",
"description": "The timestamp of the latest price update"
}
}
}
}
},
"price_data": {
"type": "object",
"properties": {
"price_usd": {
"type": "number",
"description": "The price of the token in USD"
},
"usd_value": {
"type": "number",
"description": "The value of the token balance in USD"
},
"volume_24h_usd": {
"type": "number",
"description": "The volume of the token in USD"
},
"market_cap_usd": {
"type": "number",
"description": "The market cap of the token in USD"
},
"circulating_supply": {
"type": "number",
"description": "The circulating supply of the token"
},
"total_supply": {
"type": "number",
"description": "The total supply of the token"
},
"percent_change_24h": {
"type": "number",
"description": "The percentage change of the token in the last 24 hours"
},
"price_timestamp": {
"type": "string",
"description": "The timestamp of the latest price update"
}
}
}
},
"required": [
"block_number",
"block_timestamp",
"transaction_hash",
"from_address",
"to_address",
"log_index",
"contract_address",
"transfer_type",
"token_type",
"amount",
"chain_id"
]
}
},
"aggregations": {
"nullable": true
},
"meta": {
"type": "object",
"properties": {
"chain_id": {
"type": "number"
},
"address": {
"type": "string"
},
"signature": {
"type": "string"
},
"page": {
"type": "number"
},
"limit": {
"type": "number"
},
"total_items": {
"type": "number"
},
"total_pages": {
"type": "number"
}
},
"required": [
"chain_id"
]
}
},
"required": [
"meta"
]
}
}
}
}
}
}
},
"/v1/tokens/erc20/{ownerAddress}": {
"get": {
"deprecated": true,
"summary": "Get ERC-20 balances by address",
"description": "Get ERC-20 balances for a given address. [BEING DEPRECATED IN FAVOR OF /tokens]",
"tags": [
"tokens"
],
"parameters": [
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "ownerAddress",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 50,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"maximum": 500,
"default": 0,
"description": "Page number (0-indexed)",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include metadata for the tokens",
"example": "false"
},
"required": false,
"name": "metadata",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "true",
"description": "Whether to resolve metadata IPFS or Arweave links",
"example": "false"
},
"required": false,
"name": "resolve_metadata_links",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include spam tokens",
"example": "false"
},
"required": false,
"name": "include_spam",
"in": "query"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "number",
"description": "The chain ID of a relevant entry",
"example": 1
},
"token_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"balance": {
"type": "string"
},
"name": {
"type": "string"
},
"symbol": {
"type": "string"
},
"decimals": {
"type": "number"
}
},
"required": [
"chain_id",
"token_address",
"balance"
]
}
}
},
"required": [
"data"
]
}
}
}
},
"400": {
"description": "Bad request"
},
"500": {
"description": "Internal server error"
}
}
}
},
"/v1/tokens": {
"get": {
"summary": "Get tokens",
"description": "Query tokens",
"tags": [
"tokens"
],
"parameters": [
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 50,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"maximum": 500,
"default": 0,
"description": "Page number (0-indexed)",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include metadata for the tokens",
"example": "false"
},
"required": false,
"name": "metadata",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "true",
"description": "Whether to resolve metadata IPFS or Arweave links",
"example": "false"
},
"required": false,
"name": "resolve_metadata_links",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include spam tokens",
"example": "false"
},
"required": false,
"name": "include_spam",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "Address(es) to filter by. You can specify multiple addresses using repeated query parameters, e.g., ?address=0x123&address=0x456",
"example": [
"0x1234567890123456789012345678901234567890",
"vitalik.eth"
],
"items": {
"type": "string"
}
},
"required": true,
"name": "owner_address",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "true",
"description": "Whether to include native tokens",
"example": "true"
},
"required": false,
"name": "include_native",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "Address(es) to filter by. You can specify multiple addresses using repeated query parameters, e.g., ?address=0x123&address=0x456",
"example": [
"0x1234567890123456789012345678901234567890",
"vitalik.eth"
],
"items": {
"type": "string"
}
},
"required": false,
"name": "token_address",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"balance",
"token_address",
"token_price",
"usd_value"
],
"default": "token_address",
"description": "Field to sort by",
"example": "balance"
},
"required": false,
"name": "sort_by",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "asc",
"description": "Sort order (asc or desc)",
"example": "desc"
},
"required": false,
"name": "sort_order",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "true",
"description": "Whether to include tokens that don't have price data (only applies when metadata=true)",
"example": "true"
},
"required": false,
"name": "include_without_price",
"in": "query"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "number",
"description": "The chain ID of a relevant entry",
"example": 1
},
"token_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"balance": {
"type": "string"
},
"name": {
"type": "string"
},
"symbol": {
"type": "string"
},
"decimals": {
"type": "number"
},
"price_data": {
"type": "object",
"properties": {
"price_usd": {
"type": "number",
"description": "The price of the token in USD"
},
"usd_value": {
"type": "number",
"description": "The value of the token balance in USD"
},
"volume_24h_usd": {
"type": "number",
"description": "The volume of the token in USD"
},
"market_cap_usd": {
"type": "number",
"description": "The market cap of the token in USD"
},
"circulating_supply": {
"type": "number",
"description": "The circulating supply of the token"
},
"total_supply": {
"type": "number",
"description": "The total supply of the token"
},
"percent_change_24h": {
"type": "number",
"description": "The percentage change of the token in the last 24 hours"
},
"price_timestamp": {
"type": "string",
"description": "The timestamp of the latest price update"
}
}
}
},
"required": [
"chain_id",
"token_address",
"balance"
]
}
}
},
"required": [
"data"
]
}
}
}
},
"400": {
"description": "Bad request"
},
"500": {
"description": "Internal server error"
}
}
}
},
"/v1/tokens/erc721/{ownerAddress}": {
"get": {
"summary": "Get ERC-721 balances by address",
"description": "Get ERC-721 (NFT) balances for a given address [BEING DEPRECATED IN FAVOR OF /nfts/balance]",
"deprecated": true,
"tags": [
"tokens"
],
"parameters": [
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "ownerAddress",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 50,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"maximum": 500,
"default": 0,
"description": "Page number (0-indexed)",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include metadata for the tokens",
"example": "false"
},
"required": false,
"name": "metadata",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "true",
"description": "Whether to resolve metadata IPFS or Arweave links",
"example": "false"
},
"required": false,
"name": "resolve_metadata_links",
"in": "query"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "number",
"description": "The chain ID of a relevant entry",
"example": 1
},
"token_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"token_id": {
"type": "string"
},
"balance": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"image_url": {
"type": "string"
},
"video_url": {
"type": "string"
},
"animation_url": {
"type": "string"
},
"background_color": {
"type": "string"
},
"external_url": {
"type": "string"
},
"status": {
"type": "string"
},
"metadata_url": {
"type": "string"
},
"owner_addresses": {
"type": "array",
"items": {
"type": "string"
}
},
"extra_metadata": {
"allOf": [
{
"type": "object",
"additionalProperties": {
"nullable": true
}
},
{
"type": "object",
"properties": {
"attributes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"trait_type": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"display_type": {
"type": "string"
}
},
"required": [
"trait_type",
"value"
]
}
},
{
"type": "object",
"additionalProperties": {
"nullable": true
}
}
]
},
"properties": {
"type": "object",
"additionalProperties": {
"nullable": true
}
}
}
}
]
},
"collection": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"image_url": {
"type": "string"
},
"banner_image_url": {
"type": "string"
},
"featured_image_url": {
"type": "string"
},
"external_link": {
"type": "string"
}
}
},
"contract": {
"type": "object",
"properties": {
"chain_id": {
"type": "number",
"description": "The chain ID of a relevant entry",
"example": 1
},
"address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"name": {
"type": "string"
},
"symbol": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"erc721",
"erc1155"
]
}
},
"required": [
"chain_id",
"address"
]
}
},
"required": [
"chain_id",
"token_address",
"token_id",
"balance"
]
}
}
},
"required": [
"data"
]
}
}
}
},
"400": {
"description": "Bad request"
},
"500": {
"description": "Internal server error"
}
}
}
},
"/v1/tokens/erc1155/{ownerAddress}": {
"get": {
"summary": "Get ERC-1155 balances by address",
"description": "Get ERC-1155 (Multi Token) balances for a given address [BEING DEPRECATED IN FAVOR OF /nfts/balance]",
"deprecated": true,
"tags": [
"tokens"
],
"parameters": [
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "ownerAddress",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 50,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"maximum": 500,
"default": 0,
"description": "Page number (0-indexed)",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include metadata for the tokens",
"example": "false"
},
"required": false,
"name": "metadata",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "true",
"description": "Whether to resolve metadata IPFS or Arweave links",
"example": "false"
},
"required": false,
"name": "resolve_metadata_links",
"in": "query"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "number",
"description": "The chain ID of a relevant entry",
"example": 1
},
"token_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"token_id": {
"type": "string"
},
"balance": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"image_url": {
"type": "string"
},
"video_url": {
"type": "string"
},
"animation_url": {
"type": "string"
},
"background_color": {
"type": "string"
},
"external_url": {
"type": "string"
},
"status": {
"type": "string"
},
"metadata_url": {
"type": "string"
},
"owner_addresses": {
"type": "array",
"items": {
"type": "string"
}
},
"extra_metadata": {
"allOf": [
{
"type": "object",
"additionalProperties": {
"nullable": true
}
},
{
"type": "object",
"properties": {
"attributes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"trait_type": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"display_type": {
"type": "string"
}
},
"required": [
"trait_type",
"value"
]
}
},
{
"type": "object",
"additionalProperties": {
"nullable": true
}
}
]
},
"properties": {
"type": "object",
"additionalProperties": {
"nullable": true
}
}
}
}
]
},
"collection": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"image_url": {
"type": "string"
},
"banner_image_url": {
"type": "string"
},
"featured_image_url": {
"type": "string"
},
"external_link": {
"type": "string"
}
}
},
"contract": {
"type": "object",
"properties": {
"chain_id": {
"type": "number",
"description": "The chain ID of a relevant entry",
"example": 1
},
"address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"name": {
"type": "string"
},
"symbol": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"erc721",
"erc1155"
]
}
},
"required": [
"chain_id",
"address"
]
}
},
"required": [
"chain_id",
"token_address",
"token_id",
"balance"
]
}
}
},
"required": [
"data"
]
}
}
}
},
"400": {
"description": "Bad request"
},
"500": {
"description": "Internal server error"
}
}
}
},
"/v1/tokens/price/supported": {
"get": {
"summary": "Get supported tokens for price data",
"description": "Get supported tokens for price data",
"tags": [
"tokens"
],
"parameters": [
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "number",
"description": "The chain ID of a relevant entry",
"example": 1
},
"address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"symbol": {
"type": "string"
}
},
"required": [
"chain_id",
"address"
]
}
}
},
"required": [
"data"
]
}
}
}
},
"400": {
"description": "Bad request"
},
"500": {
"description": "Internal server error"
}
}
}
},
"/v1/tokens/price": {
"get": {
"summary": "Get token price",
"description": "Get price in USD for given token(s)",
"tags": [
"tokens"
],
"parameters": [
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
}
},
{
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
}
],
"description": "The address of the token to get the price for",
"example": [
"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
]
},
"required": false,
"name": "address",
"in": "query"
},
{
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string",
"nullable": true
},
{
"nullable": true
}
],
"description": "The symbol of the token to get the price for",
"example": [
"ETH",
"USDC"
]
},
"required": false,
"name": "symbol",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"description": "Timestamp in seconds or milliseconds"
},
"required": false,
"name": "timestamp",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include historical token prices",
"example": "true"
},
"required": false,
"name": "include_historical_prices",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include the number of holders",
"example": "true"
},
"required": false,
"name": "include_holders",
"in": "query"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "number",
"description": "The chain ID of a relevant entry",
"example": 1
},
"address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"symbol": {
"type": "string"
},
"price_usd": {
"type": "number",
"description": "Precise price in USD"
},
"price_usd_cents": {
"type": "number",
"description": "Price in USD cents"
},
"percent_change_24h": {
"type": "number",
"description": "Percent change in price over the last 24 hours"
},
"volume_24h_usd": {
"type": "number",
"description": "Volume in USD over the last 24 hours"
},
"volume_change_24h": {
"type": "number",
"description": "Percent change in volume over the last 24 hours"
},
"market_cap_usd": {
"type": "number",
"description": "Market cap in USD"
},
"historical_prices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Date of price"
},
"price_usd": {
"type": "number",
"description": "Price in USD"
},
"price_usd_cents": {
"type": "number",
"description": "Price in USD cents"
}
},
"required": [
"date",
"price_usd",
"price_usd_cents"
]
}
},
"holders": {
"type": "number",
"description": "Number of holders"
}
},
"required": [
"chain_id",
"address",
"price_usd",
"price_usd_cents",
"percent_change_24h",
"volume_24h_usd",
"volume_change_24h",
"market_cap_usd"
]
}
}
},
"required": [
"data"
]
}
}
}
},
"400": {
"description": "Bad request"
},
"500": {
"description": "Internal server error"
}
}
}
},
"/v1/tokens/lookup": {
"get": {
"summary": "Token lookup",
"description": "Look up a fungible token by symbol",
"tags": [
"tokens"
],
"parameters": [
{
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10
},
{
"type": "string"
}
],
"description": "The symbol(s) of the token to lookup. You can specify multiple symbols, up to a maximum of 10.\n Use repeated query parameters, e.g., `?symbol=ETH&symbol=USDC`.",
"example": [
"ETH",
"USDC"
]
},
"required": true,
"name": "symbol",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "number",
"description": "The chain ID of a relevant entry",
"example": 1
},
"token_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"name": {
"type": "string"
},
"symbol": {
"type": "string"
},
"decimals": {
"type": "number"
},
"price_data": {
"type": "object",
"properties": {
"price_usd": {
"type": "number",
"description": "The price of the token in USD"
},
"usd_value": {
"type": "number",
"description": "The value of the token balance in USD"
},
"volume_24h_usd": {
"type": "number",
"description": "The volume of the token in USD"
},
"market_cap_usd": {
"type": "number",
"description": "The market cap of the token in USD"
},
"circulating_supply": {
"type": "number",
"description": "The circulating supply of the token"
},
"total_supply": {
"type": "number",
"description": "The total supply of the token"
},
"percent_change_24h": {
"type": "number",
"description": "The percentage change of the token in the last 24 hours"
},
"price_timestamp": {
"type": "string",
"description": "The timestamp of the latest price update"
}
}
}
},
"required": [
"chain_id",
"token_address"
]
}
}
},
"required": [
"data"
]
}
}
}
},
"400": {
"description": "Bad request"
},
"500": {
"description": "Internal server error"
}
}
}
},
"/v1/resolve/{input}": {
"get": {
"description": "Resolve",
"summary": "Resolve",
"tags": [
"resolve"
],
"parameters": [
{
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^0x[a-fA-F0-9]{64}$",
"title": "hash",
"example": "0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984"
},
{
"type": "string",
"pattern": "^0x[a-fA-F0-9]{8}$",
"title": "function selector",
"example": "0xe8bb3b6c"
},
{
"type": "string",
"pattern": "^\\d+$",
"title": "block number string",
"example": "20000000"
},
{
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
}
],
"description": "Can be a block number, transaction or block hash, address, event signature or function selector",
"example": "0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984"
},
"required": true,
"name": "input",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"blocks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "number"
},
"block_number": {
"type": "number"
},
"block_hash": {
"type": "string"
},
"parent_hash": {
"type": "string"
},
"block_timestamp": {
"type": "number"
},
"nonce": {
"type": "string"
},
"sha3_uncles": {
"type": "string"
},
"mix_hash": {
"type": "string"
},
"miner": {
"type": "string"
},
"state_root": {
"type": "string"
},
"transactions_root": {
"type": "string"
},
"receipts_root": {
"type": "string"
},
"logs_bloom": {
"type": "string"
},
"size": {
"type": "number"
},
"extra_data": {
"type": "string"
},
"difficulty": {
"type": "string"
},
"total_difficulty": {
"type": "string"
},
"transaction_count": {
"type": "number"
},
"gas_limit": {
"type": "number"
},
"gas_used": {
"type": "number"
},
"withdrawals_root": {
"type": "string"
},
"base_fee_per_gas": {
"type": "number"
}
},
"required": [
"chain_id",
"block_number",
"block_hash",
"parent_hash",
"block_timestamp",
"nonce",
"sha3_uncles",
"mix_hash",
"miner",
"state_root",
"transactions_root",
"receipts_root",
"logs_bloom",
"size",
"extra_data",
"difficulty",
"total_difficulty",
"transaction_count",
"gas_limit",
"gas_used",
"withdrawals_root",
"base_fee_per_gas"
]
}
},
"transactions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "string"
},
"block_number": {
"type": "number"
},
"block_hash": {
"type": "string"
},
"block_timestamp": {
"type": "number"
},
"hash": {
"type": "string"
},
"nonce": {
"type": "number"
},
"transaction_index": {
"type": "number"
},
"from_address": {
"type": "string"
},
"to_address": {
"type": "string"
},
"value": {
"type": "string"
},
"gas_price": {
"type": "string"
},
"gas": {
"type": "number"
},
"function_selector": {
"type": "string"
},
"data": {
"type": "string"
},
"max_fee_per_gas": {
"type": "string"
},
"max_priority_fee_per_gas": {
"type": "string"
},
"transaction_type": {
"type": "number"
},
"r": {
"type": "string"
},
"s": {
"type": "string"
},
"v": {
"type": "string"
},
"access_list_json": {
"type": "string"
},
"authorization_list_json": {
"type": "string"
},
"contract_address": {
"type": "string"
},
"gas_used": {
"type": "number"
},
"cumulative_gas_used": {
"type": "number"
},
"effective_gas_price": {
"type": "string"
},
"blob_gas_used": {
"type": "number"
},
"blob_gas_price": {
"type": "string"
},
"logs_bloom": {
"type": "string"
},
"status": {
"type": "number"
}
},
"required": [
"chain_id",
"block_number",
"block_hash",
"block_timestamp",
"hash",
"nonce",
"transaction_index",
"from_address",
"to_address",
"value",
"gas_price",
"gas",
"function_selector",
"data",
"max_fee_per_gas",
"max_priority_fee_per_gas",
"transaction_type",
"r",
"s",
"v"
]
}
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "string"
},
"block_number": {
"type": "number"
},
"block_hash": {
"type": "string"
},
"block_timestamp": {
"type": "number"
},
"transaction_hash": {
"type": "string"
},
"transaction_index": {
"type": "number"
},
"log_index": {
"type": "number"
},
"address": {
"type": "string"
},
"data": {
"type": "string"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"chain_id",
"block_number",
"block_hash",
"block_timestamp",
"transaction_hash",
"transaction_index",
"log_index",
"address",
"data",
"topics"
]
}
},
"address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"type": {
"type": "string",
"enum": [
"block",
"transaction",
"event_signature",
"function_signature",
"address",
"contract",
"unknown"
]
}
},
"required": [
"type"
]
},
"aggregations": {
"nullable": true
},
"meta": {
"type": "object",
"properties": {
"chain_ids": {
"type": "array",
"items": {
"type": "number"
}
},
"address": {
"type": "string"
},
"signature": {
"type": "string"
},
"page": {
"type": "number"
},
"limit_per_chain": {
"type": "number"
},
"total_items": {
"type": "number"
},
"total_pages": {
"type": "number"
}
},
"required": [
"chain_ids",
"page",
"limit_per_chain",
"total_items",
"total_pages"
]
}
},
"required": [
"meta"
]
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/blocks": {
"get": {
"description": "Get blocks",
"summary": "Get blocks",
"tags": [
"blocks"
],
"parameters": [
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number",
"example": 1000000
},
"required": false,
"name": "filter_block_number",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number greater than or equal to",
"example": 1000000
},
"required": false,
"name": "filter_block_number_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number greater than",
"example": 1000000
},
"required": false,
"name": "filter_block_number_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number less than or equal to",
"example": 1000000
},
"required": false,
"name": "filter_block_number_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number less than",
"example": 1000000
},
"required": false,
"name": "filter_block_number_lt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp greater than or equal to",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp greater than",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp less than or equal to",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp less than",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_lt",
"in": "query"
},
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"block_number"
],
"title": "constant"
},
{
"type": "string",
"title": "string"
}
],
"description": "Field to sort results by",
"example": "block_number"
},
"required": false,
"name": "sort_by",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"description": "Sort order (asc or desc)",
"example": "desc"
},
"required": false,
"name": "sort_order",
"in": "query"
},
{
"schema": {
"type": [
"string",
"null"
],
"description": "Field(s) to group by. You can specify multiple with repeated query parameters, e.g., ?group_by=chain_id&group_by=block_number"
},
"required": false,
"name": "group_by",
"in": "query"
},
{
"schema": {
"type": [
"string",
"null"
],
"description": "Aggregation(s). You can specify multiple with repeated query parameters, e.g., ?aggregate=count()&aggregate=sum(gas_used)",
"example": "count() as count"
},
"required": false,
"name": "aggregate",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by hash",
"example": "0x3a1fba5abd9d41457944e91ed097e039b7b12d3d7ba324a3f422db2277a48e28"
},
"required": false,
"name": "filter_hash",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 20,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"default": 0,
"description": "Page number (0-indexed). Maximum value depends on query parameters: 20 for regular queries, 500 when using aggregate or group_by parameters.",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "number"
},
"block_number": {
"type": "number"
},
"block_hash": {
"type": "string"
},
"parent_hash": {
"type": "string"
},
"block_timestamp": {
"type": "number"
},
"nonce": {
"type": "string"
},
"sha3_uncles": {
"type": "string"
},
"mix_hash": {
"type": "string"
},
"miner": {
"type": "string"
},
"state_root": {
"type": "string"
},
"transactions_root": {
"type": "string"
},
"receipts_root": {
"type": "string"
},
"logs_bloom": {
"type": "string"
},
"size": {
"type": "number"
},
"extra_data": {
"type": "string"
},
"difficulty": {
"type": "string"
},
"total_difficulty": {
"type": "string"
},
"transaction_count": {
"type": "number"
},
"gas_limit": {
"type": "number"
},
"gas_used": {
"type": "number"
},
"withdrawals_root": {
"type": "string"
},
"base_fee_per_gas": {
"type": "number"
}
},
"required": [
"chain_id",
"block_number",
"block_hash",
"parent_hash",
"block_timestamp",
"nonce",
"sha3_uncles",
"mix_hash",
"miner",
"state_root",
"transactions_root",
"receipts_root",
"logs_bloom",
"size",
"extra_data",
"difficulty",
"total_difficulty",
"transaction_count",
"gas_limit",
"gas_used",
"withdrawals_root",
"base_fee_per_gas"
]
}
},
"aggregations": {
"nullable": true
},
"meta": {
"type": "object",
"properties": {
"chain_ids": {
"type": "array",
"items": {
"type": "number"
}
},
"address": {
"type": "string"
},
"signature": {
"type": "string"
},
"page": {
"type": "number"
},
"limit_per_chain": {
"type": "number"
},
"total_items": {
"type": "number"
},
"total_pages": {
"type": "number"
}
},
"required": [
"chain_ids",
"page",
"limit_per_chain",
"total_items",
"total_pages"
]
}
},
"required": [
"meta"
]
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/contracts/deployed-by/{address}": {
"get": {
"description": "Get contracts deployed by an address",
"summary": "Get contracts deployed by an address",
"tags": [
"contracts"
],
"parameters": [
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "address",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number greater than or equal to (required)",
"example": 1000000
},
"required": false,
"name": "filter_block_number_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number less than or equal to (required)",
"example": 2000000
},
"required": false,
"name": "filter_block_number_lte",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 20,
"description": "The number of items to return (default: 20, max: 1000)",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "number"
},
"contract_address": {
"type": "string"
},
"block_number": {
"type": "number"
},
"block_timestamp": {
"type": "string"
},
"transaction_hash": {
"type": "string"
}
},
"required": [
"chain_id",
"contract_address",
"block_number",
"block_timestamp",
"transaction_hash"
]
}
}
},
"required": [
"data"
]
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/contracts/abi/{contractAddress}": {
"get": {
"description": "Get contract ABI​",
"summary": "Get contract ABI​",
"tags": [
"contracts"
],
"parameters": [
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "contractAddress",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {}
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"404": {
"description": "Not found"
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/contracts/metadata/{contractAddress}": {
"get": {
"description": "Get contract metadata​",
"summary": "Get contract metadata​",
"tags": [
"contracts"
],
"parameters": [
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "contractAddress",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {}
}
}
}
},
"404": {
"description": "Not found"
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/decode/{contractAddress}": {
"post": {
"description": "Decode logs and transactions​",
"summary": "Decode logs and transactions​",
"tags": [
"decode"
],
"parameters": [
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "contractAddress",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"transactions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"data": {
"type": "string"
}
},
"required": [
"data"
]
}
},
"logs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"data": {
"type": "string"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"topics"
]
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"transactions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"data": {
"type": "string"
},
"function_name": {
"type": "string"
},
"args": {
"type": "array",
"items": {
"nullable": true
}
}
},
"required": [
"data"
]
}
},
"logs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"data": {
"type": "string"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"event_name": {
"type": "string"
},
"args": {
"type": "array",
"items": {
"nullable": true
}
}
},
"required": [
"topics"
]
}
}
}
}
}
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"404": {
"description": "Not found"
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/nfts/balance/{ownerAddress}": {
"get": {
"summary": "Get NFT balances by address",
"description": "Get NFT balances for a given address",
"tags": [
"nfts"
],
"parameters": [
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "ownerAddress",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 50,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"maximum": 500,
"default": 0,
"description": "Page number (0-indexed)",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include metadata for the tokens",
"example": "false"
},
"required": false,
"name": "metadata",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "true",
"description": "Whether to resolve metadata IPFS or Arweave links",
"example": "false"
},
"required": false,
"name": "resolve_metadata_links",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The types of NFTs to include in the response",
"items": {
"type": "string",
"enum": [
"erc1155",
"erc721"
]
},
"uniqueItems": true,
"default": [
"erc1155",
"erc721"
]
},
"required": false,
"name": "token_types",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "number",
"description": "The chain ID of a relevant entry",
"example": 1
},
"token_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"token_id": {
"type": "string"
},
"balance": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"image_url": {
"type": "string"
},
"video_url": {
"type": "string"
},
"animation_url": {
"type": "string"
},
"background_color": {
"type": "string"
},
"external_url": {
"type": "string"
},
"status": {
"type": "string"
},
"metadata_url": {
"type": "string"
},
"owner_addresses": {
"type": "array",
"items": {
"type": "string"
}
},
"extra_metadata": {
"allOf": [
{
"type": "object",
"additionalProperties": {
"nullable": true
}
},
{
"type": "object",
"properties": {
"attributes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"trait_type": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"display_type": {
"type": "string"
}
},
"required": [
"trait_type",
"value"
]
}
},
{
"type": "object",
"additionalProperties": {
"nullable": true
}
}
]
},
"properties": {
"type": "object",
"additionalProperties": {
"nullable": true
}
}
}
}
]
},
"collection": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"image_url": {
"type": "string"
},
"banner_image_url": {
"type": "string"
},
"featured_image_url": {
"type": "string"
},
"external_link": {
"type": "string"
}
}
},
"contract": {
"type": "object",
"properties": {
"chain_id": {
"type": "number",
"description": "The chain ID of a relevant entry",
"example": 1
},
"address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"name": {
"type": "string"
},
"symbol": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"erc721",
"erc1155"
]
}
},
"required": [
"chain_id",
"address"
]
}
},
"required": [
"chain_id",
"token_address",
"token_id",
"balance"
]
}
}
},
"required": [
"data"
]
}
}
}
},
"400": {
"description": "Bad request"
},
"500": {
"description": "Internal server error"
}
}
}
},
"/v1/nfts/collections/{contract_address}": {
"get": {
"summary": "Get collection",
"description": "Retrieve metadata about a collection",
"tags": [
"nfts"
],
"parameters": [
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "contract_address",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include stats for the collection",
"example": "false"
},
"required": false,
"name": "include_stats",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "true",
"description": "Whether to resolve metadata IPFS or Arweave links",
"example": "false"
},
"required": false,
"name": "resolve_metadata_links",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"image_url": {
"type": "string"
},
"banner_image_url": {
"type": "string"
},
"featured_image_url": {
"type": "string"
},
"external_link": {
"type": "string"
},
"stats": {
"type": "object",
"properties": {
"owner_count": {
"type": "number"
},
"token_count": {
"type": "number"
},
"mint_count": {
"type": "number"
},
"total_quantity": {
"type": "number"
}
},
"required": [
"owner_count",
"token_count",
"mint_count",
"total_quantity"
]
}
}
}
}
},
"required": [
"data"
]
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/nfts": {
"get": {
"description": "Get NFTs",
"summary": "Get NFTs",
"tags": [
"nfts"
],
"parameters": [
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 50,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"maximum": 500,
"default": 0,
"description": "Page number (0-indexed)",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "true",
"description": "Whether to resolve metadata IPFS or Arweave links",
"example": "false"
},
"required": false,
"name": "resolve_metadata_links",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "Address(es) to filter by. You can specify multiple addresses using repeated query parameters, e.g., ?address=0x123&address=0x456",
"example": [
"0x1234567890123456789012345678901234567890",
"vitalik.eth"
],
"items": {
"type": "string"
}
},
"required": true,
"name": "owner_address",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "Address(es) to filter by. You can specify multiple addresses using repeated query parameters, e.g., ?address=0x123&address=0x456",
"example": [
"0x1234567890123456789012345678901234567890",
"vitalik.eth"
],
"items": {
"type": "string"
}
},
"required": false,
"name": "contract_address",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "number"
},
"contract_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"token_id": {
"type": "string"
},
"token_type": {
"type": "string"
},
"balance": {
"type": "string"
},
"owner_addresses": {
"type": "array",
"items": {
"type": "string"
}
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"image_url": {
"type": "string"
},
"video_url": {
"type": "string"
},
"animation_url": {
"type": "string"
},
"background_color": {
"type": "string"
},
"external_url": {
"type": "string"
},
"status": {
"type": "string"
},
"metadata_url": {
"type": "string"
},
"extra_metadata": {
"allOf": [
{
"type": "object",
"additionalProperties": {
"nullable": true
}
},
{
"type": "object",
"properties": {
"attributes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"trait_type": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"display_type": {
"type": "string"
}
},
"required": [
"trait_type",
"value"
]
}
},
{
"type": "object",
"additionalProperties": {
"nullable": true
}
}
]
},
"properties": {
"type": "object",
"additionalProperties": {
"nullable": true
}
}
}
}
]
},
"collection": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"image_url": {
"type": "string"
},
"banner_image_url": {
"type": "string"
},
"featured_image_url": {
"type": "string"
},
"external_link": {
"type": "string"
}
}
},
"contract": {
"type": "object",
"properties": {
"chain_id": {
"type": "number",
"description": "The chain ID of a relevant entry",
"example": 1
},
"address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"name": {
"type": "string"
},
"symbol": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"erc721",
"erc1155"
]
}
},
"required": [
"chain_id",
"address"
]
}
},
"required": [
"chain_id",
"contract_address",
"token_id",
"token_type",
"balance"
]
}
}
},
"required": [
"data"
]
}
}
}
},
"404": {
"description": "Not found"
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/nfts/owners/{contract_address}": {
"get": {
"description": "Get NFT owners by contract",
"summary": "Get NFT owners by contract",
"tags": [
"nfts"
],
"parameters": [
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "contract_address",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 50,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"maximum": 500,
"default": 0,
"description": "Page number (0-indexed)",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Control if the result is an array of addresses only or an array of objects containing the address and balance",
"example": "true"
},
"required": false,
"name": "include_balances",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"chain_id": {
"type": "string"
},
"token_address": {
"type": "string"
},
"owner_address": {
"type": "string"
},
"token_id": {
"type": "string"
},
"balance": {
"type": "string"
}
},
"required": [
"chain_id",
"token_address",
"owner_address",
"token_id",
"balance"
]
},
{
"type": "object",
"properties": {
"chain_id": {
"type": "string"
},
"owner_addresses": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"chain_id",
"owner_addresses"
]
}
]
}
}
}
}
},
"404": {
"description": "Not found"
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/nfts/owners/{contract_address}/{token_id}": {
"get": {
"description": "Get NFT owners by token",
"summary": "Get NFT owners by token",
"tags": [
"nfts"
],
"parameters": [
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "contract_address",
"in": "path"
},
{
"schema": {
"type": "string"
},
"required": true,
"name": "token_id",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 50,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"maximum": 500,
"default": 0,
"description": "Page number (0-indexed)",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Control if the result is an array of addresses only or an array of objects containing the address and balance",
"example": "true"
},
"required": false,
"name": "include_balances",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"chain_id": {
"type": "string"
},
"token_address": {
"type": "string"
},
"owner_address": {
"type": "string"
},
"token_id": {
"type": "string"
},
"balance": {
"type": "string"
}
},
"required": [
"chain_id",
"token_address",
"owner_address",
"token_id",
"balance"
]
},
{
"type": "object",
"properties": {
"chain_id": {
"type": "string"
},
"owner_addresses": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"chain_id",
"owner_addresses"
]
}
]
}
}
}
}
},
"404": {
"description": "Not found"
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/nfts/transfers": {
"get": {
"description": "Get NFT transfers",
"summary": "Get NFT transfers",
"tags": [
"nfts"
],
"parameters": [
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 50,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"maximum": 500,
"default": 0,
"description": "Page number (0-indexed)",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include metadata for the tokens",
"example": "false"
},
"required": false,
"name": "metadata",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include owner addresses in the NFT metadata (only if metadata is requested)",
"example": "false"
},
"required": false,
"name": "include_owners",
"in": "query"
},
{
"schema": {
"anyOf": [
{
"type": "number",
"title": "number"
},
{
"type": "string",
"pattern": "^\\d+$",
"title": "string"
}
],
"description": "Filter by block number greater than or equal to",
"example": "1000000"
},
"required": false,
"name": "block_number_from",
"in": "query"
},
{
"schema": {
"anyOf": [
{
"type": "number",
"title": "number"
},
{
"type": "string",
"pattern": "^\\d+$",
"title": "string"
}
],
"description": "Filter by block number less than or equal to",
"example": "1000000"
},
"required": false,
"name": "block_number_to",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"description": "Filter by block timestamp greater than or equal to",
"example": 1749768884
},
"required": false,
"name": "block_timestamp_from",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"description": "Filter by block timestamp less than or equal to",
"example": 1749768884
},
"required": false,
"name": "block_timestamp_to",
"in": "query"
},
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": false,
"name": "owner_address",
"in": "query"
},
{
"schema": {
"type": "array",
"items": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"description": "Filter by contract address. Can be an array of addresses or a single address. If not provided, all contracts will be included"
},
"required": false,
"name": "contract_address",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc",
"description": "Sort order (asc or desc)",
"example": "desc"
},
"required": false,
"name": "sort_order",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"mint",
"transfer",
"burn",
"sale"
],
"description": "Only include transfers of a certain type",
"example": "mint"
},
"required": false,
"name": "transfer_type",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include sale details for NFT transfers",
"example": "false"
},
"required": false,
"name": "sales",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "true",
"description": "Whether to resolve metadata IPFS or Arweave links",
"example": "false"
},
"required": false,
"name": "resolve_metadata_links",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"token_id": {
"type": "string"
},
"chain_id": {
"type": "number"
},
"block_number": {
"type": "string"
},
"block_hash": {
"type": "string"
},
"block_timestamp": {
"type": "string"
},
"transaction_hash": {
"type": "string"
},
"from_address": {
"type": "string"
},
"to_address": {
"type": "string"
},
"log_index": {
"type": "number"
},
"contract_address": {
"type": "string"
},
"transfer_type": {
"type": "string",
"enum": [
"mint",
"sale",
"transfer"
]
},
"token_type": {
"type": "string",
"enum": [
"erc721",
"erc1155"
]
},
"amount": {
"type": "string"
},
"nft_metadata": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"image_url": {
"type": "string"
},
"video_url": {
"type": "string"
},
"animation_url": {
"type": "string"
},
"background_color": {
"type": "string"
},
"external_url": {
"type": "string"
},
"status": {
"type": "string"
},
"metadata_url": {
"type": "string"
},
"owner_addresses": {
"type": "array",
"items": {
"type": "string"
}
},
"extra_metadata": {
"allOf": [
{
"type": "object",
"additionalProperties": {
"nullable": true
}
},
{
"type": "object",
"properties": {
"attributes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"trait_type": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"display_type": {
"type": "string"
}
},
"required": [
"trait_type",
"value"
]
}
},
{
"type": "object",
"additionalProperties": {
"nullable": true
}
}
]
},
"properties": {
"type": "object",
"additionalProperties": {
"nullable": true
}
}
}
}
]
},
"collection": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"image_url": {
"type": "string"
},
"banner_image_url": {
"type": "string"
},
"featured_image_url": {
"type": "string"
},
"external_link": {
"type": "string"
}
}
},
"contract": {
"type": "object",
"properties": {
"chain_id": {
"type": "number",
"description": "The chain ID of a relevant entry",
"example": 1
},
"address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"name": {
"type": "string"
},
"symbol": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"erc721",
"erc1155"
]
}
},
"required": [
"chain_id",
"address"
]
}
}
},
"nft_sale": {
"type": "object",
"properties": {
"transaction_hash": {
"type": "string"
},
"items_sold": {
"type": "array",
"items": {
"type": "object",
"properties": {
"token_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"token_id": {
"type": "string"
},
"amount": {
"type": "string"
},
"token_type": {
"type": "string"
},
"from_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"to_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
}
},
"required": [
"token_address",
"token_id",
"amount",
"token_type"
]
}
},
"payment": {
"type": "array",
"items": {
"type": "object",
"properties": {
"token_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"token_id": {
"type": "string"
},
"amount": {
"type": "string"
},
"token_type": {
"type": "string"
},
"from_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"to_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
}
},
"required": [
"token_address",
"token_id",
"amount",
"token_type"
]
}
},
"marketplace_address": {
"type": "string"
},
"marketplace_name": {
"type": "string"
}
},
"required": [
"transaction_hash",
"items_sold",
"payment",
"marketplace_address",
"marketplace_name"
]
}
},
"required": [
"token_id",
"chain_id",
"block_number",
"block_timestamp",
"transaction_hash",
"from_address",
"to_address",
"log_index",
"contract_address",
"transfer_type",
"token_type",
"amount"
]
}
}
},
"required": [
"data"
]
}
}
}
},
"404": {
"description": "Not found"
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/nfts/transfers/transaction/{transaction_hash}": {
"get": {
"description": "Get NFT transfers by transaction",
"summary": "Get NFT transfers by transaction",
"tags": [
"nfts"
],
"parameters": [
{
"schema": {
"type": "string"
},
"required": true,
"name": "transaction_hash",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 50,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"maximum": 500,
"default": 0,
"description": "Page number (0-indexed)",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include metadata for the tokens",
"example": "false"
},
"required": false,
"name": "metadata",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include owner addresses in the NFT metadata (only if metadata is requested)",
"example": "false"
},
"required": false,
"name": "include_owners",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The types of tokens to include in the response. Can be an empty array to include all types",
"items": {
"type": "string",
"enum": [
"erc1155",
"erc721",
"erc20"
]
},
"uniqueItems": true
},
"required": false,
"name": "token_types",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"token_id": {
"type": "string"
},
"chain_id": {
"type": "number"
},
"block_number": {
"type": "string"
},
"block_hash": {
"type": "string"
},
"block_timestamp": {
"type": "string"
},
"transaction_hash": {
"type": "string"
},
"from_address": {
"type": "string"
},
"to_address": {
"type": "string"
},
"log_index": {
"type": "number"
},
"contract_address": {
"type": "string"
},
"transfer_type": {
"type": "string",
"enum": [
"mint",
"sale",
"transfer"
]
},
"token_type": {
"type": "string",
"enum": [
"erc721",
"erc1155"
]
},
"amount": {
"type": "string"
},
"nft_metadata": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"image_url": {
"type": "string"
},
"video_url": {
"type": "string"
},
"animation_url": {
"type": "string"
},
"background_color": {
"type": "string"
},
"external_url": {
"type": "string"
},
"status": {
"type": "string"
},
"metadata_url": {
"type": "string"
},
"owner_addresses": {
"type": "array",
"items": {
"type": "string"
}
},
"extra_metadata": {
"allOf": [
{
"type": "object",
"additionalProperties": {
"nullable": true
}
},
{
"type": "object",
"properties": {
"attributes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"trait_type": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"display_type": {
"type": "string"
}
},
"required": [
"trait_type",
"value"
]
}
},
{
"type": "object",
"additionalProperties": {
"nullable": true
}
}
]
},
"properties": {
"type": "object",
"additionalProperties": {
"nullable": true
}
}
}
}
]
},
"collection": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"image_url": {
"type": "string"
},
"banner_image_url": {
"type": "string"
},
"featured_image_url": {
"type": "string"
},
"external_link": {
"type": "string"
}
}
},
"contract": {
"type": "object",
"properties": {
"chain_id": {
"type": "number",
"description": "The chain ID of a relevant entry",
"example": 1
},
"address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"name": {
"type": "string"
},
"symbol": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"erc721",
"erc1155"
]
}
},
"required": [
"chain_id",
"address"
]
}
}
},
"nft_sale": {
"type": "object",
"properties": {
"transaction_hash": {
"type": "string"
},
"items_sold": {
"type": "array",
"items": {
"type": "object",
"properties": {
"token_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"token_id": {
"type": "string"
},
"amount": {
"type": "string"
},
"token_type": {
"type": "string"
},
"from_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"to_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
}
},
"required": [
"token_address",
"token_id",
"amount",
"token_type"
]
}
},
"payment": {
"type": "array",
"items": {
"type": "object",
"properties": {
"token_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"token_id": {
"type": "string"
},
"amount": {
"type": "string"
},
"token_type": {
"type": "string"
},
"from_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"to_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
}
},
"required": [
"token_address",
"token_id",
"amount",
"token_type"
]
}
},
"marketplace_address": {
"type": "string"
},
"marketplace_name": {
"type": "string"
}
},
"required": [
"transaction_hash",
"items_sold",
"payment",
"marketplace_address",
"marketplace_name"
]
}
},
"required": [
"token_id",
"chain_id",
"block_number",
"block_timestamp",
"transaction_hash",
"from_address",
"to_address",
"log_index",
"contract_address",
"transfer_type",
"token_type",
"amount"
]
}
}
},
"required": [
"data"
]
}
}
}
},
"404": {
"description": "Not found"
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/nfts/transfers/{contract_address}": {
"get": {
"description": "Get NFT transfers by contract",
"summary": "Get NFT transfers by contract",
"tags": [
"nfts"
],
"parameters": [
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "contract_address",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 50,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"maximum": 500,
"default": 0,
"description": "Page number (0-indexed)",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include metadata for the tokens",
"example": "false"
},
"required": false,
"name": "metadata",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include owner addresses in the NFT metadata (only if metadata is requested)",
"example": "false"
},
"required": false,
"name": "include_owners",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"token_id": {
"type": "string"
},
"chain_id": {
"type": "number"
},
"block_number": {
"type": "string"
},
"block_hash": {
"type": "string"
},
"block_timestamp": {
"type": "string"
},
"transaction_hash": {
"type": "string"
},
"from_address": {
"type": "string"
},
"to_address": {
"type": "string"
},
"log_index": {
"type": "number"
},
"contract_address": {
"type": "string"
},
"transfer_type": {
"type": "string",
"enum": [
"mint",
"sale",
"transfer"
]
},
"token_type": {
"type": "string",
"enum": [
"erc721",
"erc1155"
]
},
"amount": {
"type": "string"
},
"nft_metadata": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"image_url": {
"type": "string"
},
"video_url": {
"type": "string"
},
"animation_url": {
"type": "string"
},
"background_color": {
"type": "string"
},
"external_url": {
"type": "string"
},
"status": {
"type": "string"
},
"metadata_url": {
"type": "string"
},
"owner_addresses": {
"type": "array",
"items": {
"type": "string"
}
},
"extra_metadata": {
"allOf": [
{
"type": "object",
"additionalProperties": {
"nullable": true
}
},
{
"type": "object",
"properties": {
"attributes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"trait_type": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"display_type": {
"type": "string"
}
},
"required": [
"trait_type",
"value"
]
}
},
{
"type": "object",
"additionalProperties": {
"nullable": true
}
}
]
},
"properties": {
"type": "object",
"additionalProperties": {
"nullable": true
}
}
}
}
]
},
"collection": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"image_url": {
"type": "string"
},
"banner_image_url": {
"type": "string"
},
"featured_image_url": {
"type": "string"
},
"external_link": {
"type": "string"
}
}
},
"contract": {
"type": "object",
"properties": {
"chain_id": {
"type": "number",
"description": "The chain ID of a relevant entry",
"example": 1
},
"address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"name": {
"type": "string"
},
"symbol": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"erc721",
"erc1155"
]
}
},
"required": [
"chain_id",
"address"
]
}
}
},
"nft_sale": {
"type": "object",
"properties": {
"transaction_hash": {
"type": "string"
},
"items_sold": {
"type": "array",
"items": {
"type": "object",
"properties": {
"token_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"token_id": {
"type": "string"
},
"amount": {
"type": "string"
},
"token_type": {
"type": "string"
},
"from_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"to_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
}
},
"required": [
"token_address",
"token_id",
"amount",
"token_type"
]
}
},
"payment": {
"type": "array",
"items": {
"type": "object",
"properties": {
"token_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"token_id": {
"type": "string"
},
"amount": {
"type": "string"
},
"token_type": {
"type": "string"
},
"from_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"to_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
}
},
"required": [
"token_address",
"token_id",
"amount",
"token_type"
]
}
},
"marketplace_address": {
"type": "string"
},
"marketplace_name": {
"type": "string"
}
},
"required": [
"transaction_hash",
"items_sold",
"payment",
"marketplace_address",
"marketplace_name"
]
}
},
"required": [
"token_id",
"chain_id",
"block_number",
"block_timestamp",
"transaction_hash",
"from_address",
"to_address",
"log_index",
"contract_address",
"transfer_type",
"token_type",
"amount"
]
}
}
},
"required": [
"data"
]
}
}
}
},
"404": {
"description": "Not found"
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/nfts/{contract_address}": {
"get": {
"description": "Get NFTs by contract",
"summary": "Get NFTs by contract",
"tags": [
"nfts"
],
"parameters": [
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "contract_address",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 50,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"maximum": 500,
"default": 0,
"description": "Page number (0-indexed)",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include owner addresses in the NFT metadata (only if metadata is requested)",
"example": "false"
},
"required": false,
"name": "include_owners",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "true",
"description": "Whether to resolve metadata IPFS or Arweave links",
"example": "false"
},
"required": false,
"name": "resolve_metadata_links",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "number"
},
"contract_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"token_id": {
"type": "string"
},
"token_type": {
"type": "string"
},
"balance": {
"type": "string"
},
"owner_addresses": {
"type": "array",
"items": {
"type": "string"
}
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"image_url": {
"type": "string"
},
"video_url": {
"type": "string"
},
"animation_url": {
"type": "string"
},
"background_color": {
"type": "string"
},
"external_url": {
"type": "string"
},
"status": {
"type": "string"
},
"metadata_url": {
"type": "string"
},
"extra_metadata": {
"allOf": [
{
"type": "object",
"additionalProperties": {
"nullable": true
}
},
{
"type": "object",
"properties": {
"attributes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"trait_type": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"display_type": {
"type": "string"
}
},
"required": [
"trait_type",
"value"
]
}
},
{
"type": "object",
"additionalProperties": {
"nullable": true
}
}
]
},
"properties": {
"type": "object",
"additionalProperties": {
"nullable": true
}
}
}
}
]
},
"collection": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"image_url": {
"type": "string"
},
"banner_image_url": {
"type": "string"
},
"featured_image_url": {
"type": "string"
},
"external_link": {
"type": "string"
}
}
},
"contract": {
"type": "object",
"properties": {
"chain_id": {
"type": "number",
"description": "The chain ID of a relevant entry",
"example": 1
},
"address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"name": {
"type": "string"
},
"symbol": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"erc721",
"erc1155"
]
}
},
"required": [
"chain_id",
"address"
]
}
},
"required": [
"chain_id",
"contract_address",
"token_id",
"token_type",
"balance"
]
}
}
},
"required": [
"data"
]
}
}
}
},
"404": {
"description": "Not found"
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/nfts/transfers/{contract_address}/{token_id}": {
"get": {
"description": "Get NFT transfers by token",
"summary": "Get NFT transfers by token",
"tags": [
"nfts"
],
"parameters": [
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "contract_address",
"in": "path"
},
{
"schema": {
"type": "string"
},
"required": true,
"name": "token_id",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 50,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"maximum": 500,
"default": 0,
"description": "Page number (0-indexed)",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include metadata for the tokens",
"example": "false"
},
"required": false,
"name": "metadata",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include sale details for NFT transfers",
"example": "false"
},
"required": false,
"name": "sales",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include owner addresses in the NFT metadata (only if metadata is requested)",
"example": "false"
},
"required": false,
"name": "include_owners",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "true",
"description": "Whether to resolve metadata IPFS or Arweave links",
"example": "false"
},
"required": false,
"name": "resolve_metadata_links",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"token_id": {
"type": "string"
},
"chain_id": {
"type": "number"
},
"block_number": {
"type": "string"
},
"block_hash": {
"type": "string"
},
"block_timestamp": {
"type": "string"
},
"transaction_hash": {
"type": "string"
},
"from_address": {
"type": "string"
},
"to_address": {
"type": "string"
},
"log_index": {
"type": "number"
},
"contract_address": {
"type": "string"
},
"transfer_type": {
"type": "string",
"enum": [
"mint",
"sale",
"transfer"
]
},
"token_type": {
"type": "string",
"enum": [
"erc721",
"erc1155"
]
},
"amount": {
"type": "string"
},
"nft_metadata": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"image_url": {
"type": "string"
},
"video_url": {
"type": "string"
},
"animation_url": {
"type": "string"
},
"background_color": {
"type": "string"
},
"external_url": {
"type": "string"
},
"status": {
"type": "string"
},
"metadata_url": {
"type": "string"
},
"owner_addresses": {
"type": "array",
"items": {
"type": "string"
}
},
"extra_metadata": {
"allOf": [
{
"type": "object",
"additionalProperties": {
"nullable": true
}
},
{
"type": "object",
"properties": {
"attributes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"trait_type": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"display_type": {
"type": "string"
}
},
"required": [
"trait_type",
"value"
]
}
},
{
"type": "object",
"additionalProperties": {
"nullable": true
}
}
]
},
"properties": {
"type": "object",
"additionalProperties": {
"nullable": true
}
}
}
}
]
},
"collection": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"image_url": {
"type": "string"
},
"banner_image_url": {
"type": "string"
},
"featured_image_url": {
"type": "string"
},
"external_link": {
"type": "string"
}
}
},
"contract": {
"type": "object",
"properties": {
"chain_id": {
"type": "number",
"description": "The chain ID of a relevant entry",
"example": 1
},
"address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"name": {
"type": "string"
},
"symbol": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"erc721",
"erc1155"
]
}
},
"required": [
"chain_id",
"address"
]
}
}
},
"nft_sale": {
"type": "object",
"properties": {
"transaction_hash": {
"type": "string"
},
"items_sold": {
"type": "array",
"items": {
"type": "object",
"properties": {
"token_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"token_id": {
"type": "string"
},
"amount": {
"type": "string"
},
"token_type": {
"type": "string"
},
"from_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"to_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
}
},
"required": [
"token_address",
"token_id",
"amount",
"token_type"
]
}
},
"payment": {
"type": "array",
"items": {
"type": "object",
"properties": {
"token_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"token_id": {
"type": "string"
},
"amount": {
"type": "string"
},
"token_type": {
"type": "string"
},
"from_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"to_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
}
},
"required": [
"token_address",
"token_id",
"amount",
"token_type"
]
}
},
"marketplace_address": {
"type": "string"
},
"marketplace_name": {
"type": "string"
}
},
"required": [
"transaction_hash",
"items_sold",
"payment",
"marketplace_address",
"marketplace_name"
]
}
},
"required": [
"token_id",
"chain_id",
"block_number",
"block_timestamp",
"transaction_hash",
"from_address",
"to_address",
"log_index",
"contract_address",
"transfer_type",
"token_type",
"amount"
]
}
}
},
"required": [
"data"
]
}
}
}
},
"404": {
"description": "Not found"
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/nfts/{contract_address}/{token_id}": {
"get": {
"description": "Get NFT by token ID",
"summary": "Get NFT by token ID",
"tags": [
"nfts"
],
"parameters": [
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "contract_address",
"in": "path"
},
{
"schema": {
"type": "string"
},
"required": true,
"name": "token_id",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "false",
"description": "Whether to include owner addresses in the NFT metadata (only if metadata is requested)",
"example": "false"
},
"required": false,
"name": "include_owners",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"true",
"false"
],
"default": "true",
"description": "Whether to resolve metadata IPFS or Arweave links",
"example": "false"
},
"required": false,
"name": "resolve_metadata_links",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "number"
},
"contract_address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"token_id": {
"type": "string"
},
"token_type": {
"type": "string"
},
"balance": {
"type": "string"
},
"owner_addresses": {
"type": "array",
"items": {
"type": "string"
}
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"image_url": {
"type": "string"
},
"video_url": {
"type": "string"
},
"animation_url": {
"type": "string"
},
"background_color": {
"type": "string"
},
"external_url": {
"type": "string"
},
"status": {
"type": "string"
},
"metadata_url": {
"type": "string"
},
"extra_metadata": {
"allOf": [
{
"type": "object",
"additionalProperties": {
"nullable": true
}
},
{
"type": "object",
"properties": {
"attributes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"trait_type": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"display_type": {
"type": "string"
}
},
"required": [
"trait_type",
"value"
]
}
},
{
"type": "object",
"additionalProperties": {
"nullable": true
}
}
]
},
"properties": {
"type": "object",
"additionalProperties": {
"nullable": true
}
}
}
}
]
},
"collection": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"image_url": {
"type": "string"
},
"banner_image_url": {
"type": "string"
},
"featured_image_url": {
"type": "string"
},
"external_link": {
"type": "string"
}
}
},
"contract": {
"type": "object",
"properties": {
"chain_id": {
"type": "number",
"description": "The chain ID of a relevant entry",
"example": 1
},
"address": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"name": {
"type": "string"
},
"symbol": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"erc721",
"erc1155"
]
}
},
"required": [
"chain_id",
"address"
]
}
},
"required": [
"chain_id",
"contract_address",
"token_id",
"token_type",
"balance"
]
}
}
},
"required": [
"data"
]
}
}
}
},
"404": {
"description": "Not found"
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/nfts/metadata/refresh/{contract_address}": {
"get": {
"tags": [
"nfts"
],
"summary": "Force refresh collection metadata",
"description": "Force refresh collection metadata for the specified contract (across multiple chains if provided)",
"parameters": [
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "contract_address",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"message": {
"type": "string"
}
},
"required": [
"success",
"message"
]
}
},
"required": [
"data"
]
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/nfts/metadata/refresh/{contract_address}/{token_id}": {
"get": {
"tags": [
"nfts"
],
"summary": "Force refresh token metadata",
"description": "Force refresh token metadata for the specified contract and token ID (across multiple chains if provided)",
"parameters": [
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "contract_address",
"in": "path"
},
{
"schema": {
"type": "string"
},
"required": true,
"name": "token_id",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"message": {
"type": "string"
}
},
"required": [
"success",
"message"
]
}
},
"required": [
"data"
]
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/v1/wallets/{wallet_address}/transactions": {
"get": {
"description": "Get incoming and outgoing transactions for a wallet",
"summary": "Get wallet transactions",
"tags": [
"wallets"
],
"parameters": [
{
"schema": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"required": true,
"name": "wallet_address",
"in": "path"
},
{
"schema": {
"type": "array",
"description": "Use chain_id instead",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"deprecated": true,
"name": "chain",
"in": "query"
},
{
"schema": {
"type": "array",
"description": "The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55.\n Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`.\n Optional, because a single chain can as well be specified as a subdomain",
"example": [
20,
56,
1
],
"items": {
"type": "number"
}
},
"required": false,
"name": "chain_id",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number",
"example": 1000000
},
"required": false,
"name": "filter_block_number",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number greater than or equal to",
"example": 1000000
},
"required": false,
"name": "filter_block_number_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number greater than",
"example": 1000000
},
"required": false,
"name": "filter_block_number_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number less than or equal to",
"example": 1000000
},
"required": false,
"name": "filter_block_number_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block number less than",
"example": 1000000
},
"required": false,
"name": "filter_block_number_lt",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by block hash",
"example": "0x3a1fba5abd9d41457944e91ed097e039b7b12d3d7ba324a3f422db2277a48e28"
},
"required": false,
"name": "filter_block_hash",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp greater than or equal to",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp greater than",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp less than or equal to",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by block timestamp less than",
"example": 1715222400
},
"required": false,
"name": "filter_block_timestamp_lt",
"in": "query"
},
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"block_number"
],
"title": "constant"
},
{
"type": "string",
"title": "string"
}
],
"description": "Field to sort results by",
"example": "block_number"
},
"required": false,
"name": "sort_by",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
],
"description": "Sort order (asc or desc)",
"example": "desc"
},
"required": false,
"name": "sort_order",
"in": "query"
},
{
"schema": {
"type": [
"string",
"null"
],
"description": "Field(s) to group by. You can specify multiple with repeated query parameters, e.g., ?group_by=chain_id&group_by=block_number"
},
"required": false,
"name": "group_by",
"in": "query"
},
{
"schema": {
"type": [
"string",
"null"
],
"description": "Aggregation(s). You can specify multiple with repeated query parameters, e.g., ?aggregate=count()&aggregate=sum(gas_used)",
"example": "count() as count"
},
"required": false,
"name": "aggregate",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index",
"example": 5
},
"required": false,
"name": "filter_transaction_index",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index greater than or equal to",
"example": 5
},
"required": false,
"name": "filter_transaction_index_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index greater than",
"example": 5
},
"required": false,
"name": "filter_transaction_index_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index less than or equal to",
"example": 5
},
"required": false,
"name": "filter_transaction_index_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by transaction index less than",
"example": 5
},
"required": false,
"name": "filter_transaction_index_lt",
"in": "query"
},
{
"schema": {
"type": "boolean",
"nullable": true,
"description": "Enable ABI decoding of the transactions/events data",
"example": true
},
"required": false,
"name": "decode",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by transaction hash",
"example": "0x218b632d932371478d1ae5a01620ebab1a2030f9dad6f8fba4a044ea6335a57e"
},
"required": false,
"name": "filter_hash",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by value",
"example": 21000000000000
},
"required": false,
"name": "filter_value",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by value greater than or equal to",
"example": 21000000000000
},
"required": false,
"name": "filter_value_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by value greater than",
"example": 21000000000000
},
"required": false,
"name": "filter_value_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by value less than or equal to",
"example": 21000000000000
},
"required": false,
"name": "filter_value_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by value less than",
"example": 21000000000000
},
"required": false,
"name": "filter_value_lt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas price",
"example": 50000000000000
},
"required": false,
"name": "filter_gas_price",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas price greater than or equal to",
"example": 50000000000000
},
"required": false,
"name": "filter_gas_price_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas price greater than",
"example": 50000000000000
},
"required": false,
"name": "filter_gas_price_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas price less than or equal to",
"example": 50000000000000
},
"required": false,
"name": "filter_gas_price_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas price less than",
"example": 50000000000000
},
"required": false,
"name": "filter_gas_price_lt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas",
"example": 21000
},
"required": false,
"name": "filter_gas",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas greater than or equal to",
"example": 21000
},
"required": false,
"name": "filter_gas_gte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas greater than",
"example": 21000
},
"required": false,
"name": "filter_gas_gt",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas less than or equal to",
"example": 21000
},
"required": false,
"name": "filter_gas_lte",
"in": "query"
},
{
"schema": {
"type": "number",
"nullable": true,
"description": "Filter by gas less than",
"example": 21000
},
"required": false,
"name": "filter_gas_lt",
"in": "query"
},
{
"schema": {
"type": "string",
"description": "Filter by function selector",
"example": "0x095ea7b3"
},
"required": false,
"name": "filter_function_selector",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 1000,
"default": 20,
"description": "The number of items to return",
"example": 20
},
"required": false,
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "integer",
"nullable": true,
"minimum": 0,
"default": 0,
"description": "Page number (0-indexed). Maximum value depends on query parameters: 20 for regular queries, 500 when using aggregate or group_by parameters.",
"example": 0
},
"required": false,
"name": "page",
"in": "query"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain_id": {
"type": "string"
},
"block_number": {
"type": "number"
},
"block_hash": {
"type": "string"
},
"block_timestamp": {
"type": "number"
},
"hash": {
"type": "string"
},
"nonce": {
"type": "number"
},
"transaction_index": {
"type": "number"
},
"from_address": {
"type": "string"
},
"to_address": {
"type": "string"
},
"value": {
"type": "string"
},
"gas_price": {
"type": "string"
},
"gas": {
"type": "number"
},
"function_selector": {
"type": "string"
},
"data": {
"type": "string"
},
"max_fee_per_gas": {
"type": "string"
},
"max_priority_fee_per_gas": {
"type": "string"
},
"transaction_type": {
"type": "number"
},
"r": {
"type": "string"
},
"s": {
"type": "string"
},
"v": {
"type": "string"
},
"access_list_json": {
"type": "string"
},
"authorization_list_json": {
"type": "string"
},
"contract_address": {
"type": "string"
},
"gas_used": {
"type": "number"
},
"cumulative_gas_used": {
"type": "number"
},
"effective_gas_price": {
"type": "string"
},
"blob_gas_used": {
"type": "number"
},
"blob_gas_price": {
"type": "string"
},
"logs_bloom": {
"type": "string"
},
"status": {
"type": "number"
},
"decoded": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"signature": {
"type": "string"
},
"inputs": {
"type": "object",
"additionalProperties": {
"nullable": true
}
}
},
"required": [
"name",
"signature"
]
}
},
"required": [
"chain_id",
"block_number",
"block_hash",
"block_timestamp",
"hash",
"nonce",
"transaction_index",
"from_address",
"to_address",
"value",
"gas_price",
"gas",
"function_selector",
"data",
"max_fee_per_gas",
"max_priority_fee_per_gas",
"transaction_type",
"r",
"s",
"v"
]
}
},
"aggregations": {
"nullable": true
},
"meta": {
"type": "object",
"properties": {
"chain_ids": {
"type": "array",
"items": {
"type": "number"
}
},
"address": {
"type": "string"
},
"signature": {
"type": "string"
},
"page": {
"type": "number"
},
"limit_per_chain": {
"type": "number"
},
"total_items": {
"type": "number"
},
"total_pages": {
"type": "number"
}
},
"required": [
"chain_ids",
"page",
"limit_per_chain",
"total_items",
"total_pages"
]
}
},
"required": [
"meta"
]
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
},
"/service/webhooks/filters/validate": {
"post": {
"description": "Webhook filters are complex and unique to Insight. Since webhooks are not created through this service anymore, this functionality to validate them is now exposed through this endpoint.",
"summary": "Validate webhook filters",
"tags": [
"webhooks"
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"v1.events": {
"type": "object",
"properties": {
"chain_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^\\d+$"
}
},
"addresses": {
"type": "array",
"items": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"minItems": 1
},
"signatures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"sig_hash": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{64}$"
},
"abi": {
"type": "string"
},
"params": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
}
}
},
"required": [
"sig_hash"
]
}
}
},
"required": [
"addresses"
]
},
"v1.transactions": {
"type": "object",
"properties": {
"chain_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^\\d+$"
}
},
"from_addresses": {
"type": "array",
"items": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"minItems": 1
},
"to_addresses": {
"type": "array",
"items": {
"type": "string",
"title": "address (hex or ENS)",
"example": "vitalik.eth"
},
"minItems": 1
},
"signatures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"sig_hash": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{8}$"
},
"abi": {
"type": "string"
},
"params": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
}
}
},
"required": [
"sig_hash"
]
}
}
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"valid": {
"type": "boolean"
},
"error": {
"type": "string"
},
"details": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"path": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
}
}
},
"required": [
"code",
"message",
"path"
]
}
}
},
"required": [
"valid"
]
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
}
}
}
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment