{ "swagger": "2.0", "info": { "description": "API for querying blockchain transactions and events", "title": "Thirdweb Insight", "contact": {}, "license": { "name": "Apache 2.0", "url": "https://github.com/thirdweb-dev/indexer/blob/main/LICENSE" }, "version": "v0.0.1-beta" }, "basePath": "/", "paths": { "/search/:input": { "get": { "security": [ { "BasicAuth": [] } ], "description": "Search blocks, transactions and events", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "search" ], "summary": "Search blockchain data", "parameters": [ { "type": "string", "description": "Chain ID", "name": "chainId", "in": "path", "required": true }, { "type": "string", "description": "Search input", "name": "input", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/api.QueryResponse" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/handlers.SearchResultModel" } } } ] } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/api.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/api.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/api.Error" } } } } }, "/{chainId}/balances/{owner}/{type}": { "get": { "security": [ { "BasicAuth": [] } ], "description": "Retrieve token balances of an address by type", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "balances" ], "summary": "Get token balances of an address by type", "parameters": [ { "type": "string", "description": "Chain ID", "name": "chainId", "in": "path", "required": true }, { "type": "string", "description": "Owner address", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Type of token balance", "name": "type", "in": "path", "required": true }, { "type": "boolean", "description": "Hide zero balances", "name": "hide_zero_balances", "in": "query", "required": true }, { "type": "integer", "description": "Page number for pagination", "name": "page", "in": "query" }, { "type": "integer", "default": 5, "description": "Number of items per page", "name": "limit", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/api.QueryResponse" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/handlers.BalanceModel" } } } } ] } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/api.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/api.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/api.Error" } } } } }, "/{chainId}/blocks": { "get": { "security": [ { "BasicAuth": [] } ], "description": "Retrieve all blocks", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "blocks" ], "summary": "Get all blocks", "parameters": [ { "type": "string", "description": "Chain ID", "name": "chainId", "in": "path", "required": true }, { "type": "string", "description": "Filter parameters", "name": "filter", "in": "query" }, { "type": "string", "description": "Field to group results by", "name": "group_by", "in": "query" }, { "type": "string", "description": "Field to sort results by", "name": "sort_by", "in": "query" }, { "type": "string", "description": "Sort order (asc or desc)", "name": "sort_order", "in": "query" }, { "type": "integer", "description": "Page number for pagination", "name": "page", "in": "query" }, { "type": "integer", "default": 5, "description": "Number of items per page", "name": "limit", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "csv", "description": "List of aggregate functions to apply", "name": "aggregate", "in": "query" }, { "type": "boolean", "description": "Force consistent data at the expense of query speed", "name": "force_consistent_data", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/api.QueryResponse" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/common.BlockModel" } } } } ] } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/api.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/api.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/api.Error" } } } } }, "/{chainId}/events": { "get": { "security": [ { "BasicAuth": [] } ], "description": "Retrieve all logs across all contracts", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "events" ], "summary": "Get all logs", "parameters": [ { "type": "string", "description": "Chain ID", "name": "chainId", "in": "path", "required": true }, { "type": "string", "description": "Filter parameters", "name": "filter", "in": "query" }, { "type": "string", "description": "Field to group results by", "name": "group_by", "in": "query" }, { "type": "string", "description": "Field to sort results by", "name": "sort_by", "in": "query" }, { "type": "string", "description": "Sort order (asc or desc)", "name": "sort_order", "in": "query" }, { "type": "integer", "description": "Page number for pagination", "name": "page", "in": "query" }, { "type": "integer", "default": 5, "description": "Number of items per page", "name": "limit", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "csv", "description": "List of aggregate functions to apply", "name": "aggregate", "in": "query" }, { "type": "boolean", "description": "Force consistent data at the expense of query speed", "name": "force_consistent_data", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/api.QueryResponse" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/common.LogModel" } } } } ] } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/api.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/api.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/api.Error" } } } } }, "/{chainId}/events/{contract}": { "get": { "security": [ { "BasicAuth": [] } ], "description": "Retrieve logs for a specific contract", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "events" ], "summary": "Get logs by contract", "parameters": [ { "type": "string", "description": "Chain ID", "name": "chainId", "in": "path", "required": true }, { "type": "string", "description": "Contract address", "name": "contract", "in": "path", "required": true }, { "type": "string", "description": "Filter parameters", "name": "filter", "in": "query" }, { "type": "string", "description": "Field to group results by", "name": "group_by", "in": "query" }, { "type": "string", "description": "Field to sort results by", "name": "sort_by", "in": "query" }, { "type": "string", "description": "Sort order (asc or desc)", "name": "sort_order", "in": "query" }, { "type": "integer", "description": "Page number for pagination", "name": "page", "in": "query" }, { "type": "integer", "default": 5, "description": "Number of items per page", "name": "limit", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "csv", "description": "List of aggregate functions to apply", "name": "aggregate", "in": "query" }, { "type": "boolean", "description": "Force consistent data at the expense of query speed", "name": "force_consistent_data", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/api.QueryResponse" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/common.LogModel" } } } } ] } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/api.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/api.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/api.Error" } } } } }, "/{chainId}/events/{contract}/{signature}": { "get": { "security": [ { "BasicAuth": [] } ], "description": "Retrieve logs for a specific contract and event signature. When a valid event signature is provided, the response includes decoded log data with both indexed and non-indexed parameters.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "events" ], "summary": "Get logs by contract and event signature", "parameters": [ { "type": "string", "description": "Chain ID", "name": "chainId", "in": "path", "required": true }, { "type": "string", "description": "Contract address", "name": "contract", "in": "path", "required": true }, { "type": "string", "description": "Event signature (e.g., 'Transfer(address,address,uint256)')", "name": "signature", "in": "path", "required": true }, { "type": "string", "description": "Filter parameters", "name": "filter", "in": "query" }, { "type": "string", "description": "Field to group results by", "name": "group_by", "in": "query" }, { "type": "string", "description": "Field to sort results by", "name": "sort_by", "in": "query" }, { "type": "string", "description": "Sort order (asc or desc)", "name": "sort_order", "in": "query" }, { "type": "integer", "description": "Page number for pagination", "name": "page", "in": "query" }, { "type": "integer", "default": 5, "description": "Number of items per page", "name": "limit", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "csv", "description": "List of aggregate functions to apply", "name": "aggregate", "in": "query" }, { "type": "boolean", "description": "Force consistent data at the expense of query speed", "name": "force_consistent_data", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/api.QueryResponse" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/common.DecodedLogModel" } } } } ] } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/api.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/api.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/api.Error" } } } } }, "/{chainId}/holders/{address}": { "get": { "security": [ { "BasicAuth": [] } ], "description": "Retrieve holders of a token", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "holders" ], "summary": "Get holders of a token", "parameters": [ { "type": "string", "description": "Chain ID", "name": "chainId", "in": "path", "required": true }, { "type": "string", "description": "Address of the token", "name": "address", "in": "path", "required": true }, { "type": "string", "description": "Type of token", "name": "token_type", "in": "query" }, { "type": "boolean", "description": "Hide zero balances", "name": "hide_zero_balances", "in": "query", "required": true }, { "type": "integer", "description": "Page number for pagination", "name": "page", "in": "query" }, { "type": "integer", "default": 5, "description": "Number of items per page", "name": "limit", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/api.QueryResponse" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/handlers.HolderModel" } } } } ] } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/api.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/api.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/api.Error" } } } } }, "/{chainId}/tokens/{address}": { "get": { "security": [ { "BasicAuth": [] } ], "description": "Retrieve token IDs by type for a specific token address", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "tokens" ], "summary": "Get token IDs by type for a specific token address", "parameters": [ { "type": "string", "description": "Chain ID", "name": "chainId", "in": "path", "required": true }, { "type": "string", "description": "Token address", "name": "address", "in": "path", "required": true }, { "type": "string", "description": "Type of token (erc721 or erc1155)", "name": "token_type", "in": "query" }, { "type": "boolean", "description": "Hide zero balances", "name": "hide_zero_balances", "in": "query", "required": true }, { "type": "integer", "description": "Page number for pagination", "name": "page", "in": "query" }, { "type": "integer", "default": 5, "description": "Number of items per page", "name": "limit", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/api.QueryResponse" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/handlers.TokenIdModel" } } } } ] } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/api.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/api.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/api.Error" } } } } }, "/{chainId}/transactions": { "get": { "security": [ { "BasicAuth": [] } ], "description": "Retrieve all transactions across all contracts", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "transactions" ], "summary": "Get all transactions", "parameters": [ { "type": "string", "description": "Chain ID", "name": "chainId", "in": "path", "required": true }, { "type": "string", "description": "Filter parameters", "name": "filter", "in": "query" }, { "type": "string", "description": "Field to group results by", "name": "group_by", "in": "query" }, { "type": "string", "description": "Field to sort results by", "name": "sort_by", "in": "query" }, { "type": "string", "description": "Sort order (asc or desc)", "name": "sort_order", "in": "query" }, { "type": "integer", "description": "Page number for pagination", "name": "page", "in": "query" }, { "type": "integer", "default": 5, "description": "Number of items per page", "name": "limit", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "csv", "description": "List of aggregate functions to apply", "name": "aggregate", "in": "query" }, { "type": "boolean", "description": "Force consistent data at the expense of query speed", "name": "force_consistent_data", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/api.QueryResponse" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/common.TransactionModel" } } } } ] } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/api.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/api.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/api.Error" } } } } }, "/{chainId}/transactions/{to}": { "get": { "security": [ { "BasicAuth": [] } ], "description": "Retrieve transactions for a specific contract", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "transactions" ], "summary": "Get transactions by contract", "parameters": [ { "type": "string", "description": "Chain ID", "name": "chainId", "in": "path", "required": true }, { "type": "string", "description": "Contract address", "name": "to", "in": "path", "required": true }, { "type": "string", "description": "Filter parameters", "name": "filter", "in": "query" }, { "type": "string", "description": "Field to group results by", "name": "group_by", "in": "query" }, { "type": "string", "description": "Field to sort results by", "name": "sort_by", "in": "query" }, { "type": "string", "description": "Sort order (asc or desc)", "name": "sort_order", "in": "query" }, { "type": "integer", "description": "Page number for pagination", "name": "page", "in": "query" }, { "type": "integer", "default": 5, "description": "Number of items per page", "name": "limit", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "csv", "description": "List of aggregate functions to apply", "name": "aggregate", "in": "query" }, { "type": "boolean", "description": "Force consistent data at the expense of query speed", "name": "force_consistent_data", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/api.QueryResponse" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/common.TransactionModel" } } } } ] } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/api.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/api.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/api.Error" } } } } }, "/{chainId}/transactions/{to}/{signature}": { "get": { "security": [ { "BasicAuth": [] } ], "description": "Retrieve transactions for a specific contract and signature. When a valid function signature is provided, the response includes decoded transaction data with function inputs.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "transactions" ], "summary": "Get transactions by contract and signature", "parameters": [ { "type": "string", "description": "Chain ID", "name": "chainId", "in": "path", "required": true }, { "type": "string", "description": "Contract address", "name": "to", "in": "path", "required": true }, { "type": "string", "description": "Function signature (e.g., 'transfer(address,uint256)')", "name": "signature", "in": "path", "required": true }, { "type": "string", "description": "Filter parameters", "name": "filter", "in": "query" }, { "type": "string", "description": "Field to group results by", "name": "group_by", "in": "query" }, { "type": "string", "description": "Field to sort results by", "name": "sort_by", "in": "query" }, { "type": "string", "description": "Sort order (asc or desc)", "name": "sort_order", "in": "query" }, { "type": "integer", "description": "Page number for pagination", "name": "page", "in": "query" }, { "type": "integer", "default": 5, "description": "Number of items per page", "name": "limit", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "csv", "description": "List of aggregate functions to apply", "name": "aggregate", "in": "query" }, { "type": "boolean", "description": "Force consistent data at the expense of query speed", "name": "force_consistent_data", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/api.QueryResponse" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/common.DecodedTransactionModel" } } } } ] } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/api.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/api.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/api.Error" } } } } }, "/{chainId}/transfers": { "get": { "security": [ { "BasicAuth": [] } ], "description": "Retrieve token transfers by various filters", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "transfers" ], "summary": "Get token transfers", "parameters": [ { "type": "string", "description": "Chain ID", "name": "chainId", "in": "path", "required": true }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "csv", "description": "Token types (erc721, erc1155, erc20)", "name": "token_type", "in": "query" }, { "type": "string", "description": "Token contract address", "name": "token_address", "in": "query" }, { "type": "string", "description": "Wallet address", "name": "wallet", "in": "query" }, { "type": "string", "description": "Start block number", "name": "start_block", "in": "query" }, { "type": "string", "description": "End block number", "name": "end_block", "in": "query" }, { "type": "string", "description": "Start timestamp (RFC3339 format)", "name": "start_timestamp", "in": "query" }, { "type": "string", "description": "End timestamp (RFC3339 format)", "name": "end_timestamp", "in": "query" }, { "type": "array", "items": { "type": "string" }, "collectionFormat": "csv", "description": "Token IDs", "name": "token_id", "in": "query" }, { "type": "string", "description": "Transaction hash", "name": "transaction_hash", "in": "query" }, { "type": "integer", "description": "Page number for pagination", "name": "page", "in": "query" }, { "type": "integer", "default": 20, "description": "Number of items per page", "name": "limit", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/api.QueryResponse" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/handlers.TransferModel" } } } } ] } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/api.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/api.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/api.Error" } } } } }, "/{chainId}/wallet-transactions": { "get": { "security": [ { "BasicAuth": [] } ], "description": "Retrieve all incoming and outgoing transactions for a specific wallet address", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "wallet" ], "summary": "Get wallet transactions", "parameters": [ { "type": "string", "description": "Chain ID", "name": "chainId", "in": "path", "required": true }, { "type": "string", "description": "Wallet address", "name": "wallet_address", "in": "path", "required": true }, { "type": "string", "description": "Filter parameters", "name": "filter", "in": "query" }, { "type": "string", "description": "Field to group results by", "name": "group_by", "in": "query" }, { "type": "string", "description": "Field to sort results by", "name": "sort_by", "in": "query" }, { "type": "string", "description": "Sort order (asc or desc)", "name": "sort_order", "in": "query" }, { "type": "integer", "description": "Page number for pagination", "name": "page", "in": "query" }, { "type": "integer", "default": 5, "description": "Number of items per page", "name": "limit", "in": "query" }, { "type": "boolean", "description": "Force consistent data at the expense of query speed", "name": "force_consistent_data", "in": "query" }, { "type": "boolean", "description": "Decode transaction data", "name": "decode", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/api.QueryResponse" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/common.DecodedTransactionModel" } } } } ] } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/api.Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/api.Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/api.Error" } } } } } }, "definitions": { "api.Error": { "description": "Error represents an API error response", "type": "object", "properties": { "code": { "description": "@Description HTTP status code", "type": "integer" }, "message": { "description": "@Description Error message", "type": "string" }, "support_id": { "description": "@Description Support ID for tracking the error", "type": "string" } } }, "api.Meta": { "description": "Meta represents metadata for a query response", "type": "object", "properties": { "address": { "description": "@Description Contract address", "type": "string" }, "chain_id": { "description": "@Description Chain ID of the blockchain", "type": "integer" }, "limit": { "description": "@Description Number of items per page", "type": "integer" }, "page": { "description": "@Description Current page number", "type": "integer" }, "signature": { "description": "@Description Function or event signature", "type": "string" }, "total_items": { "description": "@Description Total number of items", "type": "integer" }, "total_pages": { "description": "@Description Total number of pages", "type": "integer" } } }, "api.QueryResponse": { "description": "QueryResponse represents the response structure for a query", "type": "object", "properties": { "aggregations": { "description": "@Description Aggregation results", "type": "array", "items": { "type": "object", "additionalProperties": true } }, "data": { "description": "@Description Query result data" }, "meta": { "description": "@Description Metadata for the query response", "allOf": [ { "$ref": "#/definitions/api.Meta" } ] } } }, "common.BlockModel": { "type": "object", "properties": { "base_fee_per_gas": { "type": "integer" }, "block_hash": { "type": "string" }, "block_number": { "type": "integer" }, "block_timestamp": { "type": "integer" }, "chain_id": { "type": "string" }, "difficulty": { "type": "string" }, "extra_data": { "type": "string" }, "gas_limit": { "type": "string" }, "gas_used": { "type": "string" }, "logs_bloom": { "type": "string" }, "miner": { "type": "string" }, "mix_hash": { "type": "string" }, "nonce": { "type": "string" }, "parent_hash": { "type": "string" }, "receipts_root": { "type": "string" }, "sha3_uncles": { "type": "string" }, "size": { "type": "integer" }, "state_root": { "type": "string" }, "total_difficulty": { "type": "string" }, "transaction_count": { "type": "integer" }, "transactions_root": { "type": "string" }, "withdrawals_root": { "type": "string" } } }, "common.DecodedLogDataModel": { "type": "object", "properties": { "indexed_params": { "type": "object" }, "name": { "type": "string" }, "non_indexed_params": { "type": "object" }, "signature": { "type": "string" } } }, "common.DecodedLogModel": { "type": "object", "properties": { "address": { "type": "string" }, "block_hash": { "type": "string" }, "block_number": { "type": "integer" }, "block_timestamp": { "type": "integer" }, "chain_id": { "type": "string" }, "data": { "type": "string" }, "decoded": { "$ref": "#/definitions/common.DecodedLogDataModel" }, "log_index": { "type": "integer" }, "topics": { "type": "array", "items": { "type": "string" } }, "transaction_hash": { "type": "string" }, "transaction_index": { "type": "integer" } } }, "common.DecodedTransactionDataModel": { "type": "object", "properties": { "inputs": { "type": "object", "additionalProperties": true }, "name": { "type": "string" }, "signature": { "type": "string" } } }, "common.DecodedTransactionModel": { "type": "object", "properties": { "access_list_json": { "type": "string" }, "blob_gas_price": { "type": "string" }, "blob_gas_used": { "type": "integer" }, "block_hash": { "type": "string" }, "block_number": { "type": "integer" }, "block_timestamp": { "type": "integer" }, "chain_id": { "type": "string" }, "contract_address": { "type": "string" }, "cumulative_gas_used": { "type": "integer" }, "data": { "type": "string" }, "decoded": { "$ref": "#/definitions/common.DecodedTransactionDataModel" }, "effective_gas_price": { "type": "string" }, "from_address": { "type": "string" }, "function_selector": { "type": "string" }, "gas": { "type": "integer" }, "gas_price": { "type": "string" }, "gas_used": { "type": "integer" }, "hash": { "type": "string" }, "logs_bloom": { "type": "string" }, "max_fee_per_gas": { "type": "string" }, "max_priority_fee_per_gas": { "type": "string" }, "nonce": { "type": "integer" }, "r": { "type": "string" }, "s": { "type": "string" }, "status": { "type": "integer" }, "to_address": { "type": "string" }, "transaction_index": { "type": "integer" }, "transaction_type": { "type": "integer" }, "v": { "type": "string" }, "value": { "type": "string" } } }, "common.LogModel": { "type": "object", "properties": { "address": { "type": "string" }, "block_hash": { "type": "string" }, "block_number": { "type": "integer" }, "block_timestamp": { "type": "integer" }, "chain_id": { "type": "string" }, "data": { "type": "string" }, "log_index": { "type": "integer" }, "topics": { "type": "array", "items": { "type": "string" } }, "transaction_hash": { "type": "string" }, "transaction_index": { "type": "integer" } } }, "common.TransactionModel": { "type": "object", "properties": { "access_list_json": { "type": "string" }, "blob_gas_price": { "type": "string" }, "blob_gas_used": { "type": "integer" }, "block_hash": { "type": "string" }, "block_number": { "type": "integer" }, "block_timestamp": { "type": "integer" }, "chain_id": { "type": "string" }, "contract_address": { "type": "string" }, "cumulative_gas_used": { "type": "integer" }, "data": { "type": "string" }, "effective_gas_price": { "type": "string" }, "from_address": { "type": "string" }, "function_selector": { "type": "string" }, "gas": { "type": "integer" }, "gas_price": { "type": "string" }, "gas_used": { "type": "integer" }, "hash": { "type": "string" }, "logs_bloom": { "type": "string" }, "max_fee_per_gas": { "type": "string" }, "max_priority_fee_per_gas": { "type": "string" }, "nonce": { "type": "integer" }, "r": { "type": "string" }, "s": { "type": "string" }, "status": { "type": "integer" }, "to_address": { "type": "string" }, "transaction_index": { "type": "integer" }, "transaction_type": { "type": "integer" }, "v": { "type": "string" }, "value": { "type": "string" } } }, "handlers.BalanceModel": { "type": "object", "properties": { "balance": { "type": "string" }, "token_address": { "type": "string" }, "token_id": { "type": "string" }, "token_type": { "type": "string" } } }, "handlers.HolderModel": { "type": "object", "properties": { "balance": { "type": "string" }, "holder_address": { "type": "string" }, "token_id": { "type": "string" }, "token_type": { "type": "string" } } }, "handlers.SearchResultModel": { "type": "object", "properties": { "blocks": { "type": "array", "items": { "$ref": "#/definitions/common.BlockModel" } }, "events": { "type": "array", "items": { "$ref": "#/definitions/common.LogModel" } }, "transactions": { "type": "array", "items": { "$ref": "#/definitions/common.TransactionModel" } }, "type": { "$ref": "#/definitions/handlers.SearchResultType" } } }, "handlers.SearchResultType": { "type": "string", "enum": [ "block", "transaction", "event_signature", "function_signature", "address", "contract" ], "x-enum-varnames": [ "SearchResultTypeBlock", "SearchResultTypeTransaction", "SearchResultTypeEventSignature", "SearchResultTypeFunctionSignature", "SearchResultTypeAddress", "SearchResultTypeContract" ] }, "handlers.TokenIdModel": { "type": "object", "properties": { "token_id": { "type": "string" }, "token_type": { "type": "string" } } }, "handlers.TransferModel": { "type": "object", "properties": { "amount": { "type": "string" }, "block_number": { "type": "string" }, "block_timestamp": { "type": "string" }, "from_address": { "type": "string" }, "log_index": { "type": "integer" }, "to_address": { "type": "string" }, "token_address": { "type": "string" }, "token_id": { "type": "string" }, "token_type": { "type": "string" }, "transaction_hash": { "type": "string" } } } }, "securityDefinitions": { "BasicAuth": { "type": "basic" } }, "security": [ { "BasicAuth": [] } ] }