{ "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" }, "CallTypeBreakdown": { "additionalProperties": false, "properties": { "contractToContract": { "format": "int64", "minimum": 0, "type": "integer" }, "creation": { "format": "int64", "minimum": 0, "type": "integer" }, "eoaToContract": { "format": "int64", "minimum": 0, "type": "integer" }, "eoaToEoa": { "format": "int64", "minimum": 0, "type": "integer" } }, "required": [ "eoaToEoa", "eoaToContract", "contractToContract", "creation" ], "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" }, "FeeStats": { "additionalProperties": false, "properties": { "burnedTotal": { "type": "string" }, "paidTotal": { "type": "string" } }, "required": [ "burnedTotal", "paidTotal" ], "type": "object" }, "GasPrice": { "additionalProperties": false, "properties": { "average": { "type": "string" }, "fast": { "type": "string" }, "slow": { "type": "string" } }, "required": [ "slow", "average", "fast" ], "type": "object" }, "GenesisAllocation": { "additionalProperties": false, "properties": { "address": { "type": "string" }, "balance": { "type": "string" }, "codeHash": { "type": "string" }, "codeSize": { "format": "int64", "minimum": 0, "type": "integer" }, "nonce": { "format": "int64", "minimum": 0, "type": "integer" }, "storageEntries": { "format": "int32", "minimum": 0, "type": "integer" } }, "required": [ "address", "balance", "codeSize", "storageEntries", "nonce" ], "type": "object" }, "GenesisAllocationsSummary": { "additionalProperties": false, "properties": { "data": { "items": { "$ref": "#/components/schemas/GenesisAllocation" }, "type": [ "array", "null" ] }, "totalCount": { "format": "int64", "minimum": 0, "type": "integer" }, "totalSupplyWei": { "type": "string" }, "withBalance": { "format": "int64", "minimum": 0, "type": "integer" }, "withCode": { "format": "int64", "minimum": 0, "type": "integer" }, "withStorage": { "format": "int64", "minimum": 0, "type": "integer" } }, "required": [ "totalCount", "withBalance", "withCode", "withStorage", "totalSupplyWei", "data" ], "type": "object" }, "GenesisConfig": { "additionalProperties": false, "properties": { "allowFeeRecipients": { "type": "boolean" }, "chainId": { "format": "int64", "minimum": 0, "type": "integer" }, "feeConfig": { "additionalProperties": {}, "type": "object" }, "hardforks": { "items": { "$ref": "#/components/schemas/GenesisHardfork" }, "type": [ "array", "null" ] }, "precompiles": { "items": { "$ref": "#/components/schemas/GenesisPrecompile" }, "type": [ "array", "null" ] } }, "required": [ "chainId", "hardforks", "precompiles", "allowFeeRecipients" ], "type": "object" }, "GenesisContract": { "additionalProperties": false, "properties": { "address": { "type": "string" }, "balance": { "type": "string" }, "codeHash": { "type": "string" }, "codeSize": { "format": "int64", "minimum": 0, "type": "integer" }, "isPrecompile": { "type": "boolean" }, "txHash": { "type": "string" } }, "required": [ "address", "codeSize", "codeHash", "txHash", "balance", "isPrecompile" ], "type": "object" }, "GenesisERC20Balance": { "additionalProperties": false, "properties": { "contract": { "type": "string" }, "holder": { "type": "string" }, "slot": { "format": "int64", "minimum": 0, "type": "integer" }, "value": { "type": "string" } }, "required": [ "contract", "holder", "value", "slot" ], "type": "object" }, "GenesisHardfork": { "additionalProperties": false, "properties": { "activated": { "type": "boolean" }, "kind": { "type": "string" }, "name": { "type": "string" }, "value": { "format": "int64", "minimum": 0, "type": [ "integer", "null" ] } }, "required": [ "name", "kind", "activated", "value" ], "type": "object" }, "GenesisHeader": { "additionalProperties": false, "properties": { "coinbase": { "type": "string" }, "difficulty": { "type": "string" }, "extraData": { "type": "string" }, "gasLimit": { "format": "int64", "minimum": 0, "type": "integer" }, "hash": { "type": "string" }, "mixHash": { "type": "string" }, "nonce": { "type": "string" }, "number": { "format": "int64", "minimum": 0, "type": "integer" }, "parentHash": { "type": "string" }, "timestamp": { "format": "date-time", "type": "string" } }, "required": [ "number", "hash", "parentHash", "timestamp", "gasLimit", "difficulty", "coinbase", "extraData", "mixHash", "nonce" ], "type": "object" }, "GenesisPrecompile": { "additionalProperties": false, "properties": { "address": { "type": "string" }, "blockTimestamp": { "format": "int64", "minimum": 0, "type": [ "integer", "null" ] }, "config": { "additionalProperties": {}, "type": "object" }, "disable": { "type": "boolean" }, "key": { "type": "string" }, "name": { "type": "string" } }, "required": [ "key", "name", "address", "blockTimestamp", "disable", "config" ], "type": "object" }, "GenesisRaw": { "additionalProperties": false, "properties": { "genesisJson": { "type": "string" }, "upgradeJson": { "type": "string" } }, "required": [ "genesisJson" ], "type": "object" }, "GenesisResponse": { "additionalProperties": false, "properties": { "allocations": { "$ref": "#/components/schemas/GenesisAllocationsSummary" }, "config": { "$ref": "#/components/schemas/GenesisConfig" }, "contracts": { "items": { "$ref": "#/components/schemas/GenesisContract" }, "type": [ "array", "null" ] }, "erc20Balances": { "items": { "$ref": "#/components/schemas/GenesisERC20Balance" }, "type": [ "array", "null" ] }, "header": { "$ref": "#/components/schemas/GenesisHeader" }, "raw": { "$ref": "#/components/schemas/GenesisRaw" }, "upgrades": { "$ref": "#/components/schemas/GenesisUpgrades" } }, "required": [ "header", "config", "upgrades", "allocations", "contracts", "erc20Balances", "raw" ], "type": "object" }, "GenesisUpgrades": { "additionalProperties": false, "properties": { "networkUpgrades": { "additionalProperties": {}, "type": "object" }, "precompileUpgrades": { "items": { "additionalProperties": {}, "type": "object" }, "type": [ "array", "null" ] }, "raw": { "additionalProperties": {}, "type": "object" }, "stateUpgrades": { "items": { "additionalProperties": {}, "type": "object" }, "type": [ "array", "null" ] } }, "required": [ "precompileUpgrades", "stateUpgrades" ], "type": "object" }, "HealthOutputBody": { "additionalProperties": false, "properties": { "status": { "examples": [ "ok" ], "type": "string" } }, "required": [ "status" ], "type": "object" }, "ICMRoute": { "additionalProperties": false, "properties": { "destinationBlockchainCb58": { "type": "string" }, "destinationBlockchainId": { "type": "string" }, "destinationBlockchainName": { "type": "string" }, "direction": { "type": "string" }, "eventCount": { "format": "int64", "minimum": 0, "type": "integer" }, "lastMessageAt": { "format": "date-time", "type": "string" }, "messageCount": { "format": "int64", "minimum": 0, "type": "integer" }, "sourceBlockchainCb58": { "type": "string" }, "sourceBlockchainId": { "type": "string" }, "sourceBlockchainName": { "type": "string" } }, "required": [ "direction", "messageCount", "eventCount", "lastMessageAt" ], "type": "object" }, "ICMStats": { "additionalProperties": false, "properties": { "byEvent": { "additionalProperties": { "format": "int64", "minimum": 0, "type": "integer" }, "type": "object" }, "eventCount": { "format": "int64", "minimum": 0, "type": "integer" }, "messageCount": { "format": "int64", "minimum": 0, "type": "integer" }, "teleporterEventCount": { "format": "int64", "minimum": 0, "type": "integer" }, "uniqueContracts": { "format": "int64", "minimum": 0, "type": "integer" }, "uniqueRoutes": { "format": "int64", "minimum": 0, "type": "integer" }, "uniqueSenders": { "format": "int64", "minimum": 0, "type": "integer" }, "warpEventCount": { "format": "int64", "minimum": 0, "type": "integer" }, "windowSeconds": { "format": "int64", "minimum": 0, "type": "integer" } }, "required": [ "windowSeconds", "eventCount", "messageCount", "warpEventCount", "teleporterEventCount", "byEvent", "uniqueSenders", "uniqueRoutes", "uniqueContracts" ], "type": "object" }, "ICMTimeseriesPoint": { "additionalProperties": false, "properties": { "eventCount": { "format": "int64", "minimum": 0, "type": "integer" }, "teleporter": { "format": "int64", "minimum": 0, "type": "integer" }, "ts": { "format": "date-time", "type": "string" }, "warp": { "format": "int64", "minimum": 0, "type": "integer" } }, "required": [ "ts", "eventCount", "teleporter", "warp" ], "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" }, "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" }, "originToken": { "$ref": "#/components/schemas/TokenRef" }, "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" }, "MethodMixPoint": { "additionalProperties": false, "properties": { "by": { "additionalProperties": { "format": "int64", "minimum": 0, "type": "integer" }, "type": "object" }, "ts": { "format": "date-time", "type": "string" } }, "required": [ "ts", "by" ], "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" }, "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" }, "PageMessage": { "additionalProperties": false, "properties": { "cursor": { "$ref": "#/components/schemas/Cursor" }, "data": { "items": { "$ref": "#/components/schemas/Message" }, "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" }, "Peer": { "additionalProperties": false, "properties": { "benched": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "ip": { "type": "string" }, "lastReceived": { "type": "string" }, "lastSent": { "type": "string" }, "nodeID": { "type": "string" }, "observedUptime": { "type": "string" }, "publicIP": { "type": "string" }, "trackedSubnets": { "items": { "type": "string" }, "type": [ "array", "null" ] }, "version": { "type": "string" } }, "required": [ "ip", "publicIP", "nodeID" ], "type": "object" }, "PeersResponse": { "additionalProperties": false, "properties": { "numPeers": { "format": "int64", "minimum": 0, "type": "integer" }, "ourSubnetId": { "type": "string" }, "peers": { "items": { "$ref": "#/components/schemas/Peer" }, "type": [ "array", "null" ] } }, "required": [ "peers", "numPeers" ], "type": "object" }, "ProducerEntry": { "additionalProperties": false, "properties": { "blocks": { "format": "int64", "minimum": 0, "type": "integer" }, "miner": { "type": "string" }, "sharePct": { "format": "double", "type": "number" } }, "required": [ "miner", "blocks", "sharePct" ], "type": "object" }, "ReadyzBody": { "additionalProperties": false, "properties": { "checks": { "$ref": "#/components/schemas/ReadyzChecks" }, "status": { "enum": [ "ready", "degraded", "not_ready" ], "examples": [ "ready" ], "type": "string" } }, "required": [ "status", "checks" ], "type": "object" }, "ReadyzCheckConsistency": { "additionalProperties": false, "properties": { "blocksScanned": { "examples": [ 100 ], "format": "int64", "minimum": 0, "type": "integer" }, "lastCheck": { "examples": [ "2025-11-12T00:00:00Z" ], "type": "string" }, "note": { "examples": [ "ok" ], "type": "string" }, "partialBlocks": { "items": { "format": "int64", "minimum": 0, "type": "integer" }, "type": [ "array", "null" ] }, "watermarkLeads": { "examples": [ false ], "type": "boolean" } }, "required": [ "blocksScanned", "watermarkLeads" ], "type": "object" }, "ReadyzChecks": { "additionalProperties": false, "properties": { "consistency": { "$ref": "#/components/schemas/ReadyzCheckConsistency" }, "indexer": { "$ref": "#/components/schemas/ReadyzIndexer" }, "stateDiffsCapture": { "examples": [ false ], "type": "boolean" }, "store": { "examples": [ "ok" ], "type": "string" }, "tracesAvailable": { "examples": [ true ], "type": "boolean" }, "uptime": { "examples": [ "ok" ], "type": "string" } }, "required": [ "store", "uptime", "tracesAvailable", "stateDiffsCapture" ], "type": "object" }, "ReadyzIndexer": { "additionalProperties": false, "properties": { "headBlock": { "examples": [ 12345700 ], "format": "int64", "minimum": 0, "type": "integer" }, "lagBlocks": { "examples": [ 22 ], "format": "int64", "minimum": 0, "type": "integer" }, "lagThresholdBlocks": { "examples": [ 100 ], "format": "int64", "minimum": 0, "type": "integer" }, "lastIndexedBlock": { "examples": [ 12345678 ], "format": "int64", "minimum": 0, "type": "integer" } }, "required": [ "lastIndexedBlock", "headBlock", "lagBlocks", "lagThresholdBlocks" ], "type": "object" }, "ReorgsResponse": { "additionalProperties": false, "properties": { "count": { "format": "int64", "minimum": 0, "type": "integer" }, "lastAt": { "format": "date-time", "type": "string" } }, "required": [ "count" ], "type": "object" }, "RoutesOutputBody": { "additionalProperties": false, "properties": { "activeBlockchainCb58": { "type": "string" }, "activeBlockchainName": { "type": "string" }, "routes": { "items": { "$ref": "#/components/schemas/ICMRoute" }, "type": [ "array", "null" ] } }, "required": [ "routes" ], "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" }, "StatsExtended": { "additionalProperties": false, "properties": { "as": { "format": "date-time", "type": "string" }, "averageBlockTimeMs": { "format": "int32", "minimum": 0, "type": "integer" }, "blocksLast24h": { "type": "string" }, "blocksPrev24h": { "type": "string" }, "callTypes24h": { "$ref": "#/components/schemas/CallTypeBreakdown" }, "feeStats24h": { "$ref": "#/components/schemas/FeeStats" }, "gasPrice": { "$ref": "#/components/schemas/GasPrice" }, "networkUtilization": { "format": "double", "type": "number" }, "totalAddresses": { "type": "string" }, "totalBlocks": { "type": "string" }, "totalTransactions": { "type": "string" }, "transactionsLast24h": { "type": "string" }, "transactionsPrev24h": { "type": "string" } }, "required": [ "transactionsPrev24h", "blocksLast24h", "blocksPrev24h", "feeStats24h", "callTypes24h", "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" }, "TimeseriesPoint": { "additionalProperties": false, "properties": { "ts": { "format": "date-time", "type": "string" }, "value": { "format": "double", "type": "number" } }, "required": [ "ts", "value" ], "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" }, "TokenRef": { "additionalProperties": false, "properties": { "address": { "type": "string" }, "decimals": { "format": "int32", "minimum": 0, "type": "integer" }, "name": { "type": "string" }, "symbol": { "type": "string" } }, "required": [ "address", "decimals" ], "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" }, "TokenVolume": { "additionalProperties": false, "properties": { "address": { "type": "string" }, "decimals": { "format": "int32", "minimum": 0, "type": "integer" }, "messageCount": { "format": "int64", "minimum": 0, "type": "integer" }, "name": { "type": "string" }, "symbol": { "type": "string" }, "totalAmount": { "type": "string" } }, "required": [ "address", "decimals", "messageCount", "totalAmount" ], "type": "object" }, "TokensResponse": { "additionalProperties": false, "properties": { "sampledMessages": { "format": "int64", "minimum": 0, "type": "integer" }, "tokens": { "items": { "$ref": "#/components/schemas/TokenVolume" }, "type": [ "array", "null" ] }, "truncated": { "type": "boolean" }, "windowSeconds": { "format": "int64", "minimum": 0, "type": "integer" } }, "required": [ "tokens", "sampledMessages", "truncated", "windowSeconds" ], "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" }, "contractAddress": { "type": [ "string", "null" ] }, "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", "contractAddress", "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" ] } }, "/readyz": { "get": { "operationId": "readyz", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReadyzBody" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Readiness probe (ingestion lag, store health, feature flags)", "tags": [ "Meta" ] } }, "/v1/addresses/{address}": { "get": { "operationId": "getAddress", "parameters": [ { "in": "path", "name": "address", "required": true, "schema": { "maxLength": 42, "pattern": "^(0x)?[0-9a-fA-F]{40}$", "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": { "maxLength": 42, "pattern": "^(0x)?[0-9a-fA-F]{40}$", "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": { "maxLength": 42, "pattern": "^(0x)?[0-9a-fA-F]{40}$", "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": { "maxLength": 42, "pattern": "^(0x)?[0-9a-fA-F]{40}$", "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)", "maxLength": 42, "pattern": "^(0x)?[0-9a-fA-F]{40}$", "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)", "maxLength": 20, "pattern": "^[0-9]+$", "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)", "maxLength": 20, "pattern": "^[0-9]+$", "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/genesis": { "get": { "operationId": "getGenesis", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenesisResponse" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Genesis block details: header, config, hardforks, precompiles, allocations, pre-deployed contracts, and ERC-20 storage balances", "tags": [ "Genesis" ] } }, "/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", "enum": [ "warp", "teleporter" ], "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", "maxLength": 66, "pattern": "^(0x)?[0-9a-fA-F]{64}$", "type": "string" } }, { "description": "Filter by emitter contract", "explode": false, "in": "query", "name": "address", "schema": { "description": "Filter by emitter contract", "maxLength": 42, "pattern": "^(0x)?[0-9a-fA-F]{40}$", "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/icm/routes": { "get": { "operationId": "listICMRoutes", "parameters": [ { "description": "Trailing window, default 24h", "explode": false, "in": "query", "name": "window", "schema": { "description": "Trailing window, default 24h", "enum": [ "1h", "6h", "24h", "7d", "30d" ], "type": "string" } }, { "description": "Max routes to return, default 20", "explode": false, "in": "query", "name": "limit", "schema": { "description": "Max routes to return, default 20", "format": "int64", "maximum": 100, "minimum": 1, "type": "integer" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoutesOutputBody" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Top source→destination ICM routes over a trailing window", "tags": [ "ICM" ] } }, "/v1/icm/stats": { "get": { "operationId": "getICMStats", "parameters": [ { "description": "Trailing window, default 24h", "explode": false, "in": "query", "name": "window", "schema": { "description": "Trailing window, default 24h", "enum": [ "1h", "6h", "24h", "7d", "30d" ], "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ICMStats" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Windowed ICM activity rollup (counts, layer split, distincts)", "tags": [ "ICM" ] } }, "/v1/icm/timeseries": { "get": { "operationId": "getICMTimeseries", "parameters": [ { "description": "Trailing window, default 24h", "explode": false, "in": "query", "name": "window", "schema": { "description": "Trailing window, default 24h", "enum": [ "1h", "6h", "24h", "7d", "30d" ], "type": "string" } }, { "description": "Bucket resolution; default sized to window", "explode": false, "in": "query", "name": "bucket", "schema": { "description": "Bucket resolution; default sized to window", "enum": [ "5m", "15m", "1h", "1d" ], "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/ICMTimeseriesPoint" }, "type": [ "array", "null" ] } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "ICM activity time series (events per bucket, layer split)", "tags": [ "ICM" ] } }, "/v1/ictt/tokens": { "get": { "operationId": "listICTTTokens", "parameters": [ { "description": "Trailing window, default 24h", "explode": false, "in": "query", "name": "window", "schema": { "description": "Trailing window, default 24h", "enum": [ "1h", "6h", "24h", "7d", "30d" ], "type": "string" } }, { "description": "Max tokens to return, default 10", "explode": false, "in": "query", "name": "limit", "schema": { "description": "Max tokens to return, default 10", "format": "int64", "maximum": 50, "minimum": 1, "type": "integer" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TokensResponse" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Top tokens transferred via ICTT over a trailing window", "tags": [ "ICM" ] } }, "/v1/peers": { "get": { "operationId": "getPeers", "parameters": [ { "description": "Restrict to peers tracking this subnet", "explode": false, "in": "query", "name": "subnetID", "schema": { "description": "Restrict to peers tracking this subnet", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PeersResponse" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "P2P peer table from avalanchego's info.peers, optionally scoped to a subnet", "tags": [ "Validators" ] } }, "/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": "L1 (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/StatsExtended" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Aggregate chain counters", "tags": [ "Chain" ] } }, "/v1/stats/methods": { "get": { "operationId": "getStatsMethods", "parameters": [ { "description": "Bucket resolution, default 1h", "explode": false, "in": "query", "name": "bucket", "schema": { "description": "Bucket resolution, default 1h", "enum": [ "1h", "1d" ], "type": "string" } }, { "description": "Trailing window, default 24h", "explode": false, "in": "query", "name": "window", "schema": { "description": "Trailing window, default 24h", "enum": [ "1h", "6h", "24h", "7d", "30d" ], "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/MethodMixPoint" }, "type": [ "array", "null" ] } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Method-mix time series", "tags": [ "Chain" ] } }, "/v1/stats/producers": { "get": { "operationId": "getStatsProducers", "parameters": [ { "description": "Trailing window, default 24h", "explode": false, "in": "query", "name": "window", "schema": { "description": "Trailing window, default 24h", "enum": [ "1h", "6h", "24h", "7d", "30d" ], "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/ProducerEntry" }, "type": [ "array", "null" ] } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Block producer ranking by share over a window", "tags": [ "Chain" ] } }, "/v1/stats/reorgs": { "get": { "operationId": "getStatsReorgs", "parameters": [ { "description": "Trailing window, default 30d", "explode": false, "in": "query", "name": "window", "schema": { "description": "Trailing window, default 30d", "enum": [ "24h", "7d", "30d" ], "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReorgsResponse" } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Recent reorg count + most-recent timestamp", "tags": [ "Chain" ] } }, "/v1/stats/timeseries": { "get": { "operationId": "getStatsTimeseries", "parameters": [ { "description": "Metric to project, default tps", "explode": false, "in": "query", "name": "metric", "schema": { "description": "Metric to project, default tps", "enum": [ "tps", "gasPct", "blockTime", "fee" ], "type": "string" } }, { "description": "Bucket resolution, default 1h", "explode": false, "in": "query", "name": "bucket", "schema": { "description": "Bucket resolution, default 1h", "enum": [ "1h", "1d" ], "type": "string" } }, { "description": "Trailing window, default 24h", "explode": false, "in": "query", "name": "window", "schema": { "description": "Trailing window, default 24h", "enum": [ "1h", "6h", "24h", "7d", "30d" ], "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/TimeseriesPoint" }, "type": [ "array", "null" ] } } }, "description": "OK" }, "default": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Error" } }, "summary": "Time-bucketed metric series (tps/gasPct/blockTime/fee)", "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", "enum": [ "warp", "teleporter" ], "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", "maxLength": 66, "pattern": "^(0x)?[0-9a-fA-F]{64}$", "type": "string" } }, { "description": "Filter by emitter contract", "explode": false, "in": "query", "name": "address", "schema": { "description": "Filter by emitter contract", "maxLength": 42, "pattern": "^(0x)?[0-9a-fA-F]{40}$", "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", "maxLength": 42, "pattern": "^(0x)?[0-9a-fA-F]{40}$", "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": { "maxLength": 42, "pattern": "^(0x)?[0-9a-fA-F]{40}$", "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": { "maxLength": 42, "pattern": "^(0x)?[0-9a-fA-F]{40}$", "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)", "maxLength": 42, "pattern": "^(0x)?[0-9a-fA-F]{40}$", "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)", "maxLength": 10, "pattern": "^(0x)?[0-9a-fA-F]{8}$", "type": "string" } }, { "description": "Filter by status (\"success\" | \"failed\")", "explode": false, "in": "query", "name": "status", "schema": { "description": "Filter by status (\"success\" | \"failed\")", "enum": [ "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", "maxLength": 66, "pattern": "^(0x)?[0-9a-fA-F]{64}$", "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" ] } } } }