{ "components": { "schemas": { "Address": { "additionalProperties": false, "properties": { "balance": { "type": "string" }, "code": { "type": [ "string", "null" ] }, "firstSeenBlock": { "format": "int64", "minimum": 0, "type": "integer" }, "hash": { "type": "string" }, "isContract": { "type": "boolean" }, "lastSeenBlock": { "format": "int64", "minimum": 0, "type": "integer" }, "tokenBalances": { "items": {}, "type": [ "array", "null" ] }, "transactionsCount": { "format": "int64", "minimum": 0, "type": "integer" } }, "required": [ "hash", "isContract", "balance", "transactionsCount", "firstSeenBlock", "lastSeenBlock", "code", "tokenBalances" ], "type": "object" }, "AddressLog": { "additionalProperties": false, "properties": { "address": { "type": "string" }, "blockNumber": { "format": "int64", "minimum": 0, "type": "integer" }, "blockTime": { "format": "date-time", "type": "string" }, "data": { "type": "string" }, "logIndex": { "format": "int32", "minimum": 0, "type": "integer" }, "topics": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "txHash": { "type": "string" } }, "required": [ "blockNumber", "blockTime", "txHash", "logIndex", "address", "topics", "data" ], "type": "object" }, "AppFieldNode": { "additionalProperties": false, "properties": { "items": { "items": { "$ref": "#/components/schemas/AppFieldNode" }, "type": [ "array", "null" ] }, "name": { "type": "string" }, "type": { "type": "string" }, "value": { "type": "string" } }, "required": [ "name", "type", "value" ], "type": "object" }, "AppMessage": { "additionalProperties": false, "properties": { "bytesHex": { "type": "string" }, "envelope": { "$ref": "#/components/schemas/AppMessageEnvelope" }, "fields": { "items": { "$ref": "#/components/schemas/AppFieldNode" }, "type": [ "array", "null" ] }, "kindLabel": { "type": "string" }, "protocol": { "type": "string" } }, "required": [ "bytesHex" ], "type": "object" }, "AppMessageEnvelope": { "additionalProperties": false, "properties": { "messageType": { "type": "string" }, "payloadHex": { "type": "string" } }, "required": [ "messageType", "payloadHex" ], "type": "object" }, "BalanceAt": { "additionalProperties": false, "properties": { "address": { "type": "string" }, "balance": { "type": "string" }, "block": { "format": "int64", "minimum": 0, "type": "integer" }, "chainId": { "format": "int64", "minimum": 0, "type": "integer" } }, "required": [ "address", "block", "balance" ], "type": "object" }, "BalancePoint": { "additionalProperties": false, "properties": { "balance": { "type": "string" }, "block": { "format": "int64", "minimum": 0, "type": "integer" }, "transactionIndex": { "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "block", "balance", "transactionIndex" ], "type": "object" }, "Block": { "additionalProperties": false, "properties": { "consensus": { "$ref": "#/components/schemas/BlockConsensus" }, "gas": { "$ref": "#/components/schemas/BlockGas" }, "hash": { "type": "string" }, "miner": { "type": "string" }, "number": { "format": "int64", "minimum": 0, "type": "integer" }, "parentHash": { "type": "string" }, "size": { "format": "int32", "minimum": 0, "type": "integer" }, "timestamp": { "format": "date-time", "type": "string" }, "transactions": { "items": { "$ref": "#/components/schemas/Transaction" }, "type": [ "array", "null" ] }, "transactionsCount": { "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "number", "hash", "parentHash", "timestamp", "miner", "size", "gas", "transactionsCount" ], "type": "object" }, "BlockConsensus": { "additionalProperties": false, "properties": { "blockExtraData": { "type": "string" }, "blockGasCost": { "type": "string" }, "extDataGasUsed": { "type": "string" }, "extraData": { "type": "string" }, "minDelayExcess": { "type": "string" }, "pChainHeight": { "type": "string" }, "proposerNodeID": { "type": "string" }, "timestampMs": { "type": "string" } }, "type": "object" }, "BlockGas": { "additionalProperties": false, "properties": { "baseFeePerGas": { "type": "string" }, "limit": { "type": "string" }, "used": { "type": "string" } }, "required": [ "limit", "used", "baseFeePerGas" ], "type": "object" }, "BlockRef": { "additionalProperties": false, "properties": { "hash": { "type": "string" }, "number": { "format": "int64", "minimum": 0, "type": "integer" }, "timestamp": { "format": "date-time", "type": "string" } }, "required": [ "number", "hash", "timestamp" ], "type": "object" }, "Chain": { "additionalProperties": false, "properties": { "blockTimeMs": { "format": "int32", "minimum": 0, "type": "integer" }, "blockchainId": { "type": "string" }, "chainId": { "format": "int64", "minimum": 0, "type": "integer" }, "headBlock": { "format": "int64", "minimum": 0, "type": "integer" }, "latestIndexedBlock": { "format": "int64", "minimum": 0, "type": "integer" }, "name": { "type": "string" }, "nativeToken": { "$ref": "#/components/schemas/NativeToken" }, "network": { "type": "string" }, "subnetId": { "type": "string" } }, "required": [ "chainId", "blockchainId", "subnetId", "network", "name", "nativeToken", "headBlock", "latestIndexedBlock", "blockTimeMs" ], "type": "object" }, "ComplianceStatusOutputBody": { "additionalProperties": false, "properties": { "configured": { "type": "boolean" }, "entries": { "format": "int64", "type": "integer" } }, "required": [ "configured" ], "type": "object" }, "Cursor": { "additionalProperties": false, "properties": { "next": { "type": "string" }, "prev": { "type": "string" } }, "type": "object" }, "Entry": { "additionalProperties": false, "properties": { "address": { "type": "string" }, "category": { "type": "string" }, "firstSeenBlock": { "format": "int64", "minimum": 0, "type": "integer" }, "lastSeenBlock": { "format": "int64", "minimum": 0, "type": "integer" }, "reason": { "type": "string" }, "source": { "type": "string" } }, "required": [ "address", "reason" ], "type": "object" }, "ErrorDetail": { "additionalProperties": false, "properties": { "location": { "description": "Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'", "type": "string" }, "message": { "description": "Error message text", "type": "string" }, "value": { "description": "The value at the given location" } }, "type": "object" }, "ErrorModel": { "additionalProperties": false, "properties": { "detail": { "description": "A human-readable explanation specific to this occurrence of the problem.", "examples": [ "Property foo is required but is missing." ], "type": "string" }, "errors": { "description": "Optional list of individual error details", "items": { "$ref": "#/components/schemas/ErrorDetail" }, "type": [ "array", "null" ] }, "instance": { "description": "A URI reference that identifies the specific occurrence of the problem.", "examples": [ "https://example.com/error-log/abc123" ], "format": "uri", "type": "string" }, "status": { "description": "HTTP status code", "examples": [ 400 ], "format": "int64", "type": "integer" }, "title": { "description": "A short, human-readable summary of the problem type. This value should not change between occurrences of the error.", "examples": [ "Bad Request" ], "type": "string" }, "type": { "default": "about:blank", "description": "A URI reference to human-readable documentation for the error.", "examples": [ "https://example.com/errors/example" ], "format": "uri", "type": "string" } }, "type": "object" }, "ExplorerBootstrap": { "additionalProperties": false, "properties": { "blocks": { "items": { "$ref": "#/components/schemas/Block" }, "type": [ "array", "null" ] }, "chain": { "$ref": "#/components/schemas/Chain" }, "icmMessages": { "items": { "$ref": "#/components/schemas/Message" }, "type": [ "array", "null" ] }, "stats": { "$ref": "#/components/schemas/ExplorerStats" }, "tick": { "format": "int64", "minimum": 0, "type": "integer" }, "transactions": { "items": { "$ref": "#/components/schemas/Transaction" }, "type": [ "array", "null" ] } }, "required": [ "tick", "chain", "stats", "blocks", "transactions", "icmMessages" ], "type": "object" }, "ExplorerStats": { "additionalProperties": false, "properties": { "as": { "format": "date-time", "type": "string" }, "averageBlockTimeMs": { "format": "int32", "minimum": 0, "type": "integer" }, "gasPrice": { "$ref": "#/components/schemas/GasPrice" }, "gasUtilization": { "$ref": "#/components/schemas/ExplorerTPS" }, "networkUtilization": { "format": "double", "type": "number" }, "totalAddresses": { "type": "string" }, "totalBlocks": { "type": "string" }, "totalTransactions": { "type": "string" }, "tps": { "$ref": "#/components/schemas/ExplorerTPS" }, "transactionsLast24h": { "type": "string" } }, "required": [ "tps", "gasUtilization", "totalBlocks", "totalTransactions", "totalAddresses", "transactionsLast24h", "averageBlockTimeMs", "gasPrice", "networkUtilization", "as" ], "type": "object" }, "ExplorerTPS": { "additionalProperties": false, "properties": { "cadence": { "type": "string" }, "points": { "items": { "format": "double", "type": "number" }, "type": [ "array", "null" ] }, "windowSize": { "format": "int64", "type": "integer" } }, "required": [ "cadence", "windowSize", "points" ], "type": "object" }, "GasPrice": { "additionalProperties": false, "properties": { "average": { "type": "string" }, "fast": { "type": "string" }, "slow": { "type": "string" } }, "required": [ "slow", "average", "fast" ], "type": "object" }, "HealthOutputBody": { "additionalProperties": false, "properties": { "status": { "examples": [ "ok" ], "type": "string" } }, "required": [ "status" ], "type": "object" }, "InternalTransaction": { "additionalProperties": false, "properties": { "blockNumber": { "format": "int64", "minimum": 0, "type": "integer" }, "blockTime": { "format": "date-time", "type": "string" }, "callType": { "type": "string" }, "from": { "type": "string" }, "gas": { "format": "int64", "minimum": 0, "type": "integer" }, "gasUsed": { "format": "int64", "minimum": 0, "type": "integer" }, "to": { "type": "string" }, "traceAddress": { "items": { "format": "int32", "minimum": 0, "type": "integer" }, "type": [ "array", "null" ] }, "txHash": { "type": "string" }, "txSuccess": { "type": "boolean" }, "value": { "type": "string" } }, "required": [ "txHash", "blockNumber", "blockTime", "traceAddress", "from", "value", "gas", "gasUsed", "callType", "txSuccess" ], "type": "object" }, "L1Validator": { "additionalProperties": false, "properties": { "blsPublicKey": { "type": "string" }, "currentBalance": { "type": "string" }, "currentNonce": { "format": "int64", "minimum": 0, "type": "integer" }, "currentWeight": { "type": "string" }, "disabledHeight": { "format": "int64", "minimum": 0, "type": "integer" }, "disabledTxId": { "type": "string" }, "network": { "type": "string" }, "nodeID": { "type": "string" }, "registeredHeight": { "format": "int64", "minimum": 0, "type": "integer" }, "registeredTxId": { "type": "string" }, "subnetId": { "type": "string" }, "updatedAt": { "format": "date-time", "type": "string" }, "validationId": { "type": "string" } }, "required": [ "network", "subnetId", "validationId", "nodeID", "blsPublicKey", "registeredHeight", "registeredTxId", "currentWeight", "currentNonce", "currentBalance", "updatedAt" ], "type": "object" }, "Log": { "additionalProperties": false, "properties": { "address": { "type": "string" }, "data": { "type": "string" }, "logIndex": { "format": "int32", "minimum": 0, "type": "integer" }, "topics": { "items": { "type": "string" }, "type": [ "array", "null" ] } }, "required": [ "logIndex", "address", "topics", "data" ], "type": "object" }, "Message": { "additionalProperties": false, "properties": { "amount": { "type": "string" }, "appMessage": { "$ref": "#/components/schemas/AppMessage" }, "asset": { "type": "string" }, "block": { "$ref": "#/components/schemas/BlockRef" }, "contractAddress": { "type": "string" }, "deliverer": { "type": "string" }, "destinationBlockchainCb58": { "type": "string" }, "destinationBlockchainId": { "type": "string" }, "destinationBlockchainName": { "type": "string" }, "event": { "type": "string" }, "feeInfo": { "$ref": "#/components/schemas/TeleporterFeeInfoDecoded" }, "kind": { "type": "string" }, "logIndex": { "format": "int32", "minimum": 0, "type": "integer" }, "messageId": { "type": "string" }, "rawData": { "type": "string" }, "rewardAddress": { "type": "string" }, "sender": { "type": "string" }, "sourceBlockchainCb58": { "type": "string" }, "sourceBlockchainId": { "type": "string" }, "sourceBlockchainName": { "type": "string" }, "teleporterMessage": { "$ref": "#/components/schemas/TeleporterMessageDecoded" }, "transactionHash": { "type": "string" }, "unsignedMessage": { "type": "string" }, "warpEnvelope": { "$ref": "#/components/schemas/WarpEnvelope" } }, "required": [ "kind", "event", "block", "transactionHash", "logIndex", "contractAddress" ], "type": "object" }, "Method": { "additionalProperties": false, "properties": { "decoded": {}, "name": { "type": [ "string", "null" ] }, "selector": { "type": "string" } }, "required": [ "selector", "name", "decoded" ], "type": "object" }, "NativeToken": { "additionalProperties": false, "properties": { "decimals": { "format": "int32", "minimum": 0, "type": "integer" }, "name": { "type": "string" }, "symbol": { "type": "string" } }, "required": [ "symbol", "name", "decimals" ], "type": "object" }, "PChainBlock": { "additionalProperties": false, "properties": { "blockId": { "type": "string" }, "blockType": { "type": "string" }, "height": { "format": "int64", "minimum": 0, "type": "integer" }, "network": { "type": "string" }, "parentId": { "type": "string" }, "rawSize": { "format": "int32", "minimum": 0, "type": "integer" }, "timestamp": { "format": "date-time", "type": "string" }, "transactions": { "items": { "$ref": "#/components/schemas/PChainTx" }, "type": [ "array", "null" ] }, "txCount": { "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "network", "height", "blockId", "parentId", "timestamp", "blockType", "txCount", "rawSize" ], "type": "object" }, "PChainTx": { "additionalProperties": false, "properties": { "blockHeight": { "format": "int64", "minimum": 0, "type": "integer" }, "blockId": { "type": "string" }, "blockTime": { "format": "date-time", "type": "string" }, "decoded": {}, "network": { "type": "string" }, "rawHex": { "type": "string" }, "subnetId": { "type": "string" }, "txId": { "type": "string" }, "txIndex": { "format": "int32", "minimum": 0, "type": "integer" }, "txType": { "type": "string" }, "validationId": { "type": "string" } }, "required": [ "network", "txId", "blockHeight", "blockId", "blockTime", "txIndex", "txType", "rawHex", "decoded" ], "type": "object" }, "PageAddressLog": { "additionalProperties": false, "properties": { "cursor": { "$ref": "#/components/schemas/Cursor" }, "data": { "items": { "$ref": "#/components/schemas/AddressLog" }, "type": [ "array", "null" ] } }, "required": [ "data", "cursor" ], "type": "object" }, "PageBalancePoint": { "additionalProperties": false, "properties": { "cursor": { "$ref": "#/components/schemas/Cursor" }, "data": { "items": { "$ref": "#/components/schemas/BalancePoint" }, "type": [ "array", "null" ] } }, "required": [ "data", "cursor" ], "type": "object" }, "PageBlock": { "additionalProperties": false, "properties": { "cursor": { "$ref": "#/components/schemas/Cursor" }, "data": { "items": { "$ref": "#/components/schemas/Block" }, "type": [ "array", "null" ] } }, "required": [ "data", "cursor" ], "type": "object" }, "PageInternalTransaction": { "additionalProperties": false, "properties": { "cursor": { "$ref": "#/components/schemas/Cursor" }, "data": { "items": { "$ref": "#/components/schemas/InternalTransaction" }, "type": [ "array", "null" ] } }, "required": [ "data", "cursor" ], "type": "object" }, "PageL1Validator": { "additionalProperties": false, "properties": { "cursor": { "$ref": "#/components/schemas/Cursor" }, "data": { "items": { "$ref": "#/components/schemas/L1Validator" }, "type": [ "array", "null" ] } }, "required": [ "data", "cursor" ], "type": "object" }, "PageMessage": { "additionalProperties": false, "properties": { "cursor": { "$ref": "#/components/schemas/Cursor" }, "data": { "items": { "$ref": "#/components/schemas/Message" }, "type": [ "array", "null" ] } }, "required": [ "data", "cursor" ], "type": "object" }, "PagePChainBlock": { "additionalProperties": false, "properties": { "cursor": { "$ref": "#/components/schemas/Cursor" }, "data": { "items": { "$ref": "#/components/schemas/PChainBlock" }, "type": [ "array", "null" ] } }, "required": [ "data", "cursor" ], "type": "object" }, "PageToken": { "additionalProperties": false, "properties": { "cursor": { "$ref": "#/components/schemas/Cursor" }, "data": { "items": { "$ref": "#/components/schemas/Token" }, "type": [ "array", "null" ] } }, "required": [ "data", "cursor" ], "type": "object" }, "PageTokenHolder": { "additionalProperties": false, "properties": { "cursor": { "$ref": "#/components/schemas/Cursor" }, "data": { "items": { "$ref": "#/components/schemas/TokenHolder" }, "type": [ "array", "null" ] } }, "required": [ "data", "cursor" ], "type": "object" }, "PageTokenTransfer": { "additionalProperties": false, "properties": { "cursor": { "$ref": "#/components/schemas/Cursor" }, "data": { "items": { "$ref": "#/components/schemas/TokenTransfer" }, "type": [ "array", "null" ] } }, "required": [ "data", "cursor" ], "type": "object" }, "PageTransaction": { "additionalProperties": false, "properties": { "cursor": { "$ref": "#/components/schemas/Cursor" }, "data": { "items": { "$ref": "#/components/schemas/Transaction" }, "type": [ "array", "null" ] } }, "required": [ "data", "cursor" ], "type": "object" }, "ScreenPOSTInputBody": { "additionalProperties": false, "properties": { "addresses": { "items": { "type": "string" }, "type": [ "array", "null" ] } }, "required": [ "addresses" ], "type": "object" }, "ScreenPOSTOutputBody": { "additionalProperties": false, "properties": { "results": { "items": { "$ref": "#/components/schemas/ScreenResult" }, "type": [ "array", "null" ] } }, "required": [ "results" ], "type": "object" }, "ScreenResult": { "additionalProperties": false, "properties": { "address": { "type": "string" }, "blocked": { "type": "boolean" }, "entry": { "$ref": "#/components/schemas/Entry" } }, "required": [ "address", "blocked" ], "type": "object" }, "Stats": { "additionalProperties": false, "properties": { "as": { "format": "date-time", "type": "string" }, "averageBlockTimeMs": { "format": "int32", "minimum": 0, "type": "integer" }, "gasPrice": { "$ref": "#/components/schemas/GasPrice" }, "networkUtilization": { "format": "double", "type": "number" }, "totalAddresses": { "type": "string" }, "totalBlocks": { "type": "string" }, "totalTransactions": { "type": "string" }, "transactionsLast24h": { "type": "string" } }, "required": [ "totalBlocks", "totalTransactions", "totalAddresses", "transactionsLast24h", "averageBlockTimeMs", "gasPrice", "networkUtilization", "as" ], "type": "object" }, "TeleporterFeeInfoDecoded": { "additionalProperties": false, "properties": { "amount": { "type": "string" }, "feeTokenAddress": { "type": "string" } }, "required": [ "feeTokenAddress", "amount" ], "type": "object" }, "TeleporterMessageDecoded": { "additionalProperties": false, "properties": { "allowedRelayerAddresses": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "destinationAddress": { "type": "string" }, "destinationBlockchainId": { "type": "string" }, "messageHex": { "type": "string" }, "messageNonce": { "type": "string" }, "originSenderAddress": { "type": "string" }, "receipts": { "items": { "$ref": "#/components/schemas/TeleporterMessageReceiptDecoded" }, "type": [ "array", "null" ] }, "requiredGasLimit": { "type": "string" } }, "required": [ "messageNonce", "originSenderAddress", "destinationBlockchainId", "destinationAddress", "requiredGasLimit", "allowedRelayerAddresses", "receipts", "messageHex" ], "type": "object" }, "TeleporterMessageReceiptDecoded": { "additionalProperties": false, "properties": { "receivedMessageNonce": { "type": "string" }, "relayerRewardAddress": { "type": "string" } }, "required": [ "receivedMessageNonce", "relayerRewardAddress" ], "type": "object" }, "Token": { "additionalProperties": false, "properties": { "address": { "type": "string" }, "decimals": { "format": "int32", "minimum": 0, "type": "integer" }, "firstSeenBlock": { "format": "int64", "minimum": 0, "type": "integer" }, "holders": { "format": "int64", "minimum": 0, "type": "integer" }, "name": { "type": "string" }, "symbol": { "type": "string" }, "totalSupply": { "type": "string" }, "transferCount": { "format": "int64", "minimum": 0, "type": "integer" } }, "required": [ "address", "transferCount", "holders", "firstSeenBlock" ], "type": "object" }, "TokenHolder": { "additionalProperties": false, "properties": { "address": { "type": "string" }, "balance": { "type": "string" } }, "required": [ "address", "balance" ], "type": "object" }, "TokenTransfer": { "additionalProperties": false, "properties": { "blockNumber": { "format": "int64", "minimum": 0, "type": "integer" }, "blockTime": { "format": "date-time", "type": "string" }, "from": { "type": "string" }, "logIndex": { "format": "int32", "minimum": 0, "type": "integer" }, "to": { "type": "string" }, "txHash": { "type": "string" }, "value": { "type": "string" } }, "required": [ "from", "to", "value", "blockNumber", "blockTime", "txHash", "logIndex" ], "type": "object" }, "Trace": { "additionalProperties": false, "properties": { "callType": { "type": "string" }, "from": { "type": "string" }, "gas": { "format": "int32", "minimum": 0, "type": "integer" }, "gasUsed": { "format": "int32", "minimum": 0, "type": "integer" }, "input": { "type": "string" }, "output": { "type": "string" }, "to": { "type": [ "string", "null" ] }, "traceAddress": { "items": { "format": "int32", "minimum": 0, "type": "integer" }, "type": [ "array", "null" ] }, "value": { "type": "string" } }, "required": [ "traceAddress", "from", "to", "gas", "gasUsed", "value", "input", "output", "callType" ], "type": "object" }, "Transaction": { "additionalProperties": false, "properties": { "block": { "$ref": "#/components/schemas/BlockRef" }, "from": { "type": "string" }, "gas": { "$ref": "#/components/schemas/TransactionGas" }, "hash": { "type": "string" }, "logs": { "items": { "$ref": "#/components/schemas/Log" }, "type": [ "array", "null" ] }, "logsCount": { "format": "int32", "minimum": 0, "type": "integer" }, "method": { "$ref": "#/components/schemas/Method" }, "nonce": { "format": "int64", "minimum": 0, "type": "integer" }, "status": { "type": "string" }, "to": { "type": [ "string", "null" ] }, "traces": { "items": { "$ref": "#/components/schemas/Trace" }, "type": [ "array", "null" ] }, "tracesCount": { "format": "int32", "minimum": 0, "type": "integer" }, "value": { "type": "string" } }, "required": [ "hash", "status", "block", "from", "to", "value", "nonce", "method", "gas", "logsCount", "tracesCount" ], "type": "object" }, "TransactionGas": { "additionalProperties": false, "properties": { "baseFee": { "type": "string" }, "limit": { "format": "int64", "minimum": 0, "type": "integer" }, "price": { "type": "string" }, "priorityFee": { "type": "string" }, "used": { "format": "int64", "minimum": 0, "type": "integer" } }, "required": [ "limit", "used", "price", "priorityFee", "baseFee" ], "type": "object" }, "WarpAddressedCall": { "additionalProperties": false, "properties": { "payloadHex": { "type": "string" }, "sourceAddress": { "type": "string" } }, "required": [ "sourceAddress", "payloadHex" ], "type": "object" }, "WarpEnvelope": { "additionalProperties": false, "properties": { "addressedCall": { "$ref": "#/components/schemas/WarpAddressedCall" }, "networkId": { "format": "int32", "minimum": 0, "type": "integer" }, "sourceChainId": { "type": "string" } }, "required": [ "networkId", "sourceChainId" ], "type": "object" } } }, "info": { "title": "firn", "version": "0.1.0" }, "openapi": "3.1.0", "paths": { "/aggregate-signatures": { "post": { "operationId": "aggregateSignaturesAlias", "requestBody": { "content": { "application/json": { "schema": {} } } }, "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Compatibility alias for /v1/signature-aggregator/aggregate-signatures", "tags": [ "Signature" ] } }, "/healthz": { "get": { "operationId": "healthz", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HealthOutputBody" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Liveness probe", "tags": [ "Meta" ] } }, "/v1/addresses/{address}": { "get": { "operationId": "getAddress", "parameters": [ { "in": "path", "name": "address", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Address" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Address overview: balance, tx count, isContract, first/last seen blocks", "tags": [ "Addresses" ] } }, "/v1/addresses/{address}/internal-transactions": { "get": { "operationId": "listAddressInternalTransactions", "parameters": [ { "in": "path", "name": "address", "required": true, "schema": { "type": "string" } }, { "explode": false, "in": "query", "name": "limit", "schema": { "format": "int64", "maximum": 500, "minimum": 0, "type": "integer" } }, { "explode": false, "in": "query", "name": "cursor", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageInternalTransaction" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Paginated internal-transaction trace list for an address", "tags": [ "Addresses" ] } }, "/v1/addresses/{address}/logs": { "get": { "operationId": "listAddressLogs", "parameters": [ { "in": "path", "name": "address", "required": true, "schema": { "type": "string" } }, { "explode": false, "in": "query", "name": "limit", "schema": { "format": "int64", "maximum": 500, "minimum": 0, "type": "integer" } }, { "explode": false, "in": "query", "name": "cursor", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageAddressLog" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Paginated raw log list emitted by an address", "tags": [ "Addresses" ] } }, "/v1/addresses/{address}/token-transfers": { "get": { "operationId": "listAddressTokenTransfers", "parameters": [ { "in": "path", "name": "address", "required": true, "schema": { "type": "string" } }, { "explode": false, "in": "query", "name": "limit", "schema": { "format": "int64", "maximum": 500, "minimum": 0, "type": "integer" } }, { "explode": false, "in": "query", "name": "cursor", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageTokenTransfer" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Paginated ERC-20/721 Transfer events touching an address", "tags": [ "Addresses" ] } }, "/v1/balances/native": { "get": { "operationId": "getNativeBalanceAt", "parameters": [ { "description": "0x-prefixed 20-byte EVM address", "explode": false, "in": "query", "name": "address", "schema": { "description": "0x-prefixed 20-byte EVM address", "type": "string" } }, { "description": "Optional block height; defaults to chain head", "explode": false, "in": "query", "name": "block", "schema": { "description": "Optional block height; defaults to chain head", "format": "int64", "minimum": 0, "type": "integer" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BalanceAt" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Native balance of an address at a given block height", "tags": [ "Balances" ] } }, "/v1/balances/native/history": { "get": { "operationId": "getNativeBalanceHistory", "parameters": [ { "description": "0x-prefixed 20-byte EVM address", "explode": false, "in": "query", "name": "address", "schema": { "description": "0x-prefixed 20-byte EVM address", "type": "string" } }, { "description": "Inclusive lower bound; default 0 (genesis)", "explode": false, "in": "query", "name": "fromBlock", "schema": { "description": "Inclusive lower bound; default 0 (genesis)", "format": "int64", "minimum": 0, "type": "integer" } }, { "description": "Inclusive upper bound; default chain head", "explode": false, "in": "query", "name": "toBlock", "schema": { "description": "Inclusive upper bound; default chain head", "format": "int64", "minimum": 0, "type": "integer" } }, { "explode": false, "in": "query", "name": "limit", "schema": { "format": "int64", "maximum": 500, "minimum": 0, "type": "integer" } }, { "explode": false, "in": "query", "name": "cursor", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageBalancePoint" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Time-series of native balance for an address", "tags": [ "Balances" ] } }, "/v1/blocks": { "get": { "operationId": "listBlocks", "parameters": [ { "description": "Page size, 1-200, default 50", "explode": false, "in": "query", "name": "limit", "schema": { "description": "Page size, 1-200, default 50", "format": "int64", "maximum": 200, "minimum": 0, "type": "integer" } }, { "description": "Pagination cursor from a previous response", "explode": false, "in": "query", "name": "cursor", "schema": { "description": "Pagination cursor from a previous response", "type": "string" } }, { "description": "Filter by miner address (0x-prefixed hex)", "explode": false, "in": "query", "name": "miner", "schema": { "description": "Filter by miner address (0x-prefixed hex)", "type": "string" } }, { "description": "Inclusive lower bound on block number (decimal)", "explode": false, "in": "query", "name": "from", "schema": { "description": "Inclusive lower bound on block number (decimal)", "type": "string" } }, { "description": "Inclusive upper bound on block number (decimal)", "explode": false, "in": "query", "name": "to", "schema": { "description": "Inclusive upper bound on block number (decimal)", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageBlock" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Paginated block list, newest first", "tags": [ "Blocks" ] } }, "/v1/blocks/{id}": { "get": { "operationId": "getBlock", "parameters": [ { "description": "Block number, 0x-prefixed hash, or the literal \"latest\"", "in": "path", "name": "id", "required": true, "schema": { "description": "Block number, 0x-prefixed hash, or the literal \"latest\"", "type": "string" } }, { "description": "Comma-separated list of nested fields to inflate (e.g. \"transactions\")", "explode": false, "in": "query", "name": "expand", "schema": { "description": "Comma-separated list of nested fields to inflate (e.g. \"transactions\")", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Block" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Block by number, hash, or \"latest\"", "tags": [ "Blocks" ] } }, "/v1/blocks/{id}/transactions": { "get": { "operationId": "getBlockTransactions", "parameters": [ { "description": "Block number or the literal \"latest\"", "in": "path", "name": "id", "required": true, "schema": { "description": "Block number or the literal \"latest\"", "type": "string" } }, { "explode": false, "in": "query", "name": "limit", "schema": { "format": "int64", "maximum": 200, "minimum": 0, "type": "integer" } }, { "explode": false, "in": "query", "name": "cursor", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageTransaction" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Paginated transaction list for a single block", "tags": [ "Blocks" ] } }, "/v1/chain": { "get": { "operationId": "getChain", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Chain" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Chain identity and head block", "tags": [ "Chain" ] } }, "/v1/chain/config": { "get": { "operationId": "getChainConfig", "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "subnet-evm chain configuration", "tags": [ "Chain" ] } }, "/v1/chain/precompiles": { "get": { "operationId": "getChainPrecompiles", "parameters": [ { "description": "Unix seconds; defaults to chain head", "explode": false, "in": "query", "name": "timestamp", "schema": { "description": "Unix seconds; defaults to chain head", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Active precompile activations", "tags": [ "Chain" ] } }, "/v1/chain/proposer": { "get": { "operationId": "getProposerState", "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Snowman++ proposer state", "tags": [ "Chain" ] } }, "/v1/chain/rules": { "get": { "operationId": "getChainRules", "parameters": [ { "description": "Unix seconds; defaults to chain head", "explode": false, "in": "query", "name": "timestamp", "schema": { "description": "Unix seconds; defaults to chain head", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Active fork rules at a given timestamp", "tags": [ "Chain" ] } }, "/v1/compliance/screen": { "get": { "operationId": "screenAddress", "parameters": [ { "explode": false, "in": "query", "name": "address", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScreenResult" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Address sanctions/compliance screening — single-address GET form", "tags": [ "Compliance" ] }, "post": { "operationId": "screenAddressBatch", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScreenPOSTInputBody" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScreenPOSTOutputBody" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Address sanctions/compliance screening — bulk POST form", "tags": [ "Compliance" ] } }, "/v1/compliance/status": { "get": { "operationId": "complianceStatus", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ComplianceStatusOutputBody" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Compliance subsystem status, list-source freshness, etc.", "tags": [ "Compliance" ] } }, "/v1/explorer/bootstrap": { "get": { "operationId": "getExplorerBootstrap", "parameters": [ { "description": "Recent blocks count, default 5", "explode": false, "in": "query", "name": "blocks", "schema": { "description": "Recent blocks count, default 5", "format": "int64", "maximum": 50, "minimum": 0, "type": "integer" } }, { "description": "Recent transactions count, default 5", "explode": false, "in": "query", "name": "txs", "schema": { "description": "Recent transactions count, default 5", "format": "int64", "maximum": 50, "minimum": 0, "type": "integer" } }, { "description": "Recent ICM messages count, default 6", "explode": false, "in": "query", "name": "icm", "schema": { "description": "Recent ICM messages count, default 6", "format": "int64", "maximum": 50, "minimum": 0, "type": "integer" } }, { "description": "TPS series length, default 50", "explode": false, "in": "query", "name": "tpsWindow", "schema": { "description": "TPS series length, default 50", "format": "int64", "maximum": 50, "minimum": 0, "type": "integer" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExplorerBootstrap" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Single-call composition for the explorer home page first paint", "tags": [ "Explorer" ] } }, "/v1/icm/messages": { "get": { "operationId": "listICMMessages", "parameters": [ { "description": "\"warp\" | \"teleporter\" — empty matches both", "explode": false, "in": "query", "name": "kind", "schema": { "description": "\"warp\" | \"teleporter\" — empty matches both", "type": "string" } }, { "description": "Filter to a single bytes32 message ID", "explode": false, "in": "query", "name": "messageId", "schema": { "description": "Filter to a single bytes32 message ID", "type": "string" } }, { "description": "Filter by emitter contract", "explode": false, "in": "query", "name": "address", "schema": { "description": "Filter by emitter contract", "type": "string" } }, { "description": "Filter to a single block number", "explode": false, "in": "query", "name": "block", "schema": { "description": "Filter to a single block number", "format": "int64", "minimum": 0, "type": "integer" } }, { "explode": false, "in": "query", "name": "limit", "schema": { "format": "int64", "maximum": 200, "minimum": 0, "type": "integer" } }, { "explode": false, "in": "query", "name": "cursor", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageMessage" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Unified Avalanche Interchain Messaging stream (Warp + Teleporter), newest first", "tags": [ "ICM" ] } }, "/v1/pchain/blocks": { "get": { "operationId": "listPChainBlocks", "parameters": [ { "explode": false, "in": "query", "name": "network", "schema": { "type": "string" } }, { "explode": false, "in": "query", "name": "limit", "schema": { "format": "int64", "maximum": 200, "minimum": 0, "type": "integer" } }, { "explode": false, "in": "query", "name": "cursor", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PagePChainBlock" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Paginated P-Chain block list", "tags": [ "P-Chain" ] } }, "/v1/pchain/blocks/{height}": { "get": { "operationId": "getPChainBlock", "parameters": [ { "in": "path", "name": "height", "required": true, "schema": { "type": "string" } }, { "explode": false, "in": "query", "name": "network", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PChainBlock" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "P-Chain block by height", "tags": [ "P-Chain" ] } }, "/v1/pchain/txs/{txId}": { "get": { "operationId": "getPChainTx", "parameters": [ { "in": "path", "name": "txId", "required": true, "schema": { "type": "string" } }, { "explode": false, "in": "query", "name": "network", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PChainTx" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "P-Chain transaction by tx ID", "tags": [ "P-Chain" ] } }, "/v1/pchain/validators": { "get": { "operationId": "listPChainValidators", "parameters": [ { "explode": false, "in": "query", "name": "network", "schema": { "type": "string" } }, { "explode": false, "in": "query", "name": "subnetId", "schema": { "type": "string" } }, { "explode": false, "in": "query", "name": "limit", "schema": { "format": "int64", "maximum": 200, "minimum": 0, "type": "integer" } }, { "explode": false, "in": "query", "name": "cursor", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageL1Validator" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "L1 validator set view as cached from P-Chain", "tags": [ "P-Chain" ] } }, "/v1/pchain/validators/{validationId}": { "get": { "operationId": "getPChainValidator", "parameters": [ { "in": "path", "name": "validationId", "required": true, "schema": { "type": "string" } }, { "explode": false, "in": "query", "name": "network", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/L1Validator" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Single L1 validator by validationId", "tags": [ "P-Chain" ] } }, "/v1/rpc": { "post": { "description": "Opaque JSON-RPC passthrough. The request body and response body match the upstream namespace verbatim — firn does not validate either side.", "operationId": "postRPC", "requestBody": { "content": { "application/json": { "schema": {} } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "C-Chain (subnet-evm) JSON-RPC passthrough", "tags": [ "RPC" ] } }, "/v1/rpc/p": { "post": { "description": "Opaque JSON-RPC passthrough. The request body and response body match the upstream namespace verbatim — firn does not validate either side.", "operationId": "postPRPC", "requestBody": { "content": { "application/json": { "schema": {} } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "P-Chain JSON-RPC passthrough", "tags": [ "RPC" ] } }, "/v1/rpc/proposer": { "post": { "description": "Opaque JSON-RPC passthrough. The request body and response body match the upstream namespace verbatim — firn does not validate either side.", "operationId": "postProposerRPC", "requestBody": { "content": { "application/json": { "schema": {} } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "ProposerVM /proposervm namespace JSON-RPC", "tags": [ "RPC" ] } }, "/v1/rpc/validators": { "post": { "description": "Opaque JSON-RPC passthrough. The request body and response body match the upstream namespace verbatim — firn does not validate either side.", "operationId": "postValidatorsRPC", "requestBody": { "content": { "application/json": { "schema": {} } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "subnet-evm /validators namespace JSON-RPC", "tags": [ "RPC" ] } }, "/v1/signature-aggregator/aggregate-signatures": { "post": { "operationId": "aggregateSignatures", "requestBody": { "content": { "application/json": { "schema": {} } } }, "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Request a signed Warp message from the validator set", "tags": [ "Signature" ] } }, "/v1/signature-aggregator/health": { "get": { "operationId": "signatureAggregatorHealth", "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Sig-agg health probe", "tags": [ "Signature" ] } }, "/v1/stats": { "get": { "operationId": "getStats", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Stats" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Aggregate chain counters", "tags": [ "Chain" ] } }, "/v1/teleporter/messages": { "get": { "operationId": "listTeleporterMessages", "parameters": [ { "description": "\"warp\" | \"teleporter\" — empty matches both", "explode": false, "in": "query", "name": "kind", "schema": { "description": "\"warp\" | \"teleporter\" — empty matches both", "type": "string" } }, { "description": "Filter to a single bytes32 message ID", "explode": false, "in": "query", "name": "messageId", "schema": { "description": "Filter to a single bytes32 message ID", "type": "string" } }, { "description": "Filter by emitter contract", "explode": false, "in": "query", "name": "address", "schema": { "description": "Filter by emitter contract", "type": "string" } }, { "description": "Filter to a single block number", "explode": false, "in": "query", "name": "block", "schema": { "description": "Filter to a single block number", "format": "int64", "minimum": 0, "type": "integer" } }, { "explode": false, "in": "query", "name": "limit", "schema": { "format": "int64", "maximum": 200, "minimum": 0, "type": "integer" } }, { "explode": false, "in": "query", "name": "cursor", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageMessage" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Sugar over /v1/icm/messages with kind=teleporter pre-applied", "tags": [ "ICM" ] } }, "/v1/tokens": { "get": { "operationId": "listTokens", "parameters": [ { "explode": false, "in": "query", "name": "limit", "schema": { "format": "int64", "maximum": 200, "minimum": 0, "type": "integer" } }, { "explode": false, "in": "query", "name": "cursor", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageToken" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Paginated token list ranked by transfer activity", "tags": [ "Tokens" ] } }, "/v1/tokens/{address}": { "get": { "operationId": "getToken", "parameters": [ { "description": "0x-prefixed 20-byte ERC-20 contract address", "in": "path", "name": "address", "required": true, "schema": { "description": "0x-prefixed 20-byte ERC-20 contract address", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Token" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Token metadata + supply + transfer counters", "tags": [ "Tokens" ] } }, "/v1/tokens/{address}/holders": { "get": { "operationId": "listTokenHolders", "parameters": [ { "in": "path", "name": "address", "required": true, "schema": { "type": "string" } }, { "explode": false, "in": "query", "name": "limit", "schema": { "format": "int64", "maximum": 500, "minimum": 0, "type": "integer" } }, { "explode": false, "in": "query", "name": "cursor", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageTokenHolder" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Holder leaderboard derived from Transfer events", "tags": [ "Tokens" ] } }, "/v1/tokens/{address}/transfers": { "get": { "operationId": "listTokenTransfers", "parameters": [ { "in": "path", "name": "address", "required": true, "schema": { "type": "string" } }, { "explode": false, "in": "query", "name": "limit", "schema": { "format": "int64", "maximum": 500, "minimum": 0, "type": "integer" } }, { "explode": false, "in": "query", "name": "cursor", "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageTokenTransfer" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Paginated Transfer event log for one token", "tags": [ "Tokens" ] } }, "/v1/transactions": { "get": { "operationId": "listTransactions", "parameters": [ { "description": "Page size, 1-200, default 50", "explode": false, "in": "query", "name": "limit", "schema": { "description": "Page size, 1-200, default 50", "format": "int64", "maximum": 200, "minimum": 0, "type": "integer" } }, { "description": "Pagination cursor from a previous response", "explode": false, "in": "query", "name": "cursor", "schema": { "description": "Pagination cursor from a previous response", "type": "string" } }, { "description": "Filter to txs touching this address (from or to)", "explode": false, "in": "query", "name": "address", "schema": { "description": "Filter to txs touching this address (from or to)", "type": "string" } }, { "description": "Filter by 4-byte selector (with or without 0x prefix)", "explode": false, "in": "query", "name": "method", "schema": { "description": "Filter by 4-byte selector (with or without 0x prefix)", "type": "string" } }, { "description": "Filter by status (\"success\" | \"failed\")", "explode": false, "in": "query", "name": "status", "schema": { "description": "Filter by status (\"success\" | \"failed\")", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageTransaction" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Paginated transaction list, newest first", "tags": [ "Transactions" ] } }, "/v1/transactions/{hash}": { "get": { "operationId": "getTransaction", "parameters": [ { "description": "Transaction hash, 0x-prefixed", "in": "path", "name": "hash", "required": true, "schema": { "description": "Transaction hash, 0x-prefixed", "type": "string" } }, { "description": "Comma-separated list of nested fields to inflate (\"logs\", \"traces\")", "explode": false, "in": "query", "name": "expand", "schema": { "description": "Comma-separated list of nested fields to inflate (\"logs\", \"traces\")", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Transaction" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Transaction by hash", "tags": [ "Transactions" ] } }, "/v1/validators": { "get": { "operationId": "getValidators", "parameters": [ { "description": "Override the default subnetID; falls back to firn's chain meta", "explode": false, "in": "query", "name": "subnetID", "schema": { "description": "Override the default subnetID; falls back to firn's chain meta", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Current P-Chain validator set scoped to this L1's subnet", "tags": [ "Validators" ] } }, "/v1/validators/uptime": { "get": { "operationId": "getValidatorUptime", "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "L1-scoped validator uptime data", "tags": [ "Validators" ] } }, "/v1/viem/rpc": { "post": { "description": "Opaque JSON-RPC passthrough — the request and response shapes follow the eth_* / net_* JSON-RPC contract.", "operationId": "postViemRPC", "requestBody": { "content": { "application/json": { "schema": {} } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Drop-in viem/ethers/web3 JSON-RPC answered from chdb", "tags": [ "RPC" ] } } } }