openapi: 3.1.0 info: title: Data AVAX Supply Signature Aggregator API description: The Data API provides web3 application developers with multi-chain data related to Avalanche's primary network, Avalanche subnets, and Ethereum. With Data API, you can easily build products that leverage real-time and historical transaction and transfer history, native and token balances, and various types of token metadata. The API is in Beta and may be subject to change.

If you have feedback or feature requests for the API, please submit them here. Bug reports can be submitted here, and any potential security issues can be reported here. version: 1.0.0 contact: {} servers: - url: https://glacier-api.avax.network security: - apiKey: [] - {} tags: - name: Signature Aggregator description: Request signatures for a Warp message from Subnet validators paths: /v1/signatureAggregator/{network}/aggregateSignatures: post: operationId: aggregateSignatures x-speakeasy-name-override: aggregate x-speakeasy-group: data.signatureAggregator x-execution-weight: medium summary: Aggregate Signatures description: Aggregates Signatures for a Warp message from Subnet validators. parameters: - name: network required: true in: path description: Either mainnet or testnet/fuji. example: mainnet schema: $ref: '#/components/schemas/Network' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SignatureAggregatorRequest' responses: '201': description: Successful response content: application/json: schema: $ref: '#/components/schemas/SignatureAggregationResponse' '400': description: "Bad requests generally mean the client has passed invalid \n or malformed parameters. Error messages in the response could help in \n evaluating the error." content: application/json: schema: $ref: '#/components/schemas/BadRequest' '401': description: "When a client attempts to access resources that require \n authorization credentials but the client lacks proper authentication \n in the request, the server responds with 401." content: application/json: schema: $ref: '#/components/schemas/Unauthorized' '403': description: "When a client attempts to access resources with valid\n credentials but doesn't have the privilege to perform that action, \n the server responds with 403." content: application/json: schema: $ref: '#/components/schemas/Forbidden' '404': description: "The error is mostly returned when the client requests\n with either mistyped URL, or the passed resource is moved or deleted, \n or the resource doesn't exist." content: application/json: schema: $ref: '#/components/schemas/NotFound' '429': description: "This error is returned when the client has sent too many,\n and has hit the rate limit." content: application/json: schema: $ref: '#/components/schemas/TooManyRequests' '500': description: "The error is a generic server side error that is \n returned for any uncaught and unexpected issues on the server side. \n This should be very rare, and you may reach out to us if the problem \n persists for a longer duration." content: application/json: schema: $ref: '#/components/schemas/InternalServerError' '502': description: "This is an internal error indicating invalid response \n received by the client-facing proxy or gateway from the upstream server." content: application/json: schema: $ref: '#/components/schemas/BadGateway' '503': description: "The error is returned for certain routes on a particular\n Subnet. This indicates an internal problem with our Subnet node, and may \n not necessarily mean the Subnet is down or affected." content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailable' tags: - Signature Aggregator x-codeSamples: - lang: javascript label: JavaScript source: "import { Avalanche } from \"@avalanche-sdk/chainkit\";\n\nconst avalanche = new Avalanche({\n network: \"mainnet\",\n});\n\nasync function run() {\n const result = await avalanche.data.signatureAggregator.aggregate({\n signatureAggregatorRequest: {\n message: \"000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000003cc0000000000059f3be606497285d0ffbb5ac9ba24aa60346a9b1812479ed66cb329f394a4b1c7000003a200000000000100000014253b2784c75e510dd0ff1da844684a1ac0aa5fcf00000380000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001150000000000000000000000008578ae7723751446b196bd5124e1bf57b40eb7bc7fc93d85c6d62c5b2ac0b519c87010ea5294012d1e407030d6acd0021cac10d50000000000000000000000009660ed66aef60dfba5467afe865f612edbfb5c710000000000000000000000000000000000000000000000000000000000014c080000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000011a00000000000000000000000007ec2afb0a06a73666adc24983ebdbf2b6f1d708200000000000000000000000000000000000000000000000000000000000011a20000000000000000000000007ec2afb0a06a73666adc24983ebdbf2b6f1d708200000000000000000000000000000000000000000000000000000000000011b50000000000000000000000007ec2afb0a06a73666adc24983ebdbf2b6f1d708200000000000000000000000000000000000000000000000000000000000011e80000000000000000000000007ec2afb0a06a73666adc24983ebdbf2b6f1d708200000000000000000000000000000000000000000000000000000000000011e90000000000000000000000007ec2afb0a06a73666adc24983ebdbf2b6f1d708200000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000001c07f66981b45056e5024eb6d51f9f30aa0d28fd00000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000\",\n justification: \"0001abcdabcfff\",\n signingSubnetId: \"7WtoAMPhrmh5KosDUsFL9yTcvw7YSxiKHPpdfs4JsgW47oZT5\",\n quorumPercentage: 50,\n quorumPercentageBuffer: 50,\n pChainHeight: 1155,\n },\n });\n\n console.log(result);\n}\n\nrun();" /v1/signatureAggregator/{network}/aggregateSignatures/{txHash}: get: operationId: getAggregatedSignatures x-speakeasy-name-override: get x-speakeasy-group: data.signatureAggregator x-execution-weight: medium summary: Get Aggregated Signatures description: Get Aggregated Signatures for a P-Chain L1 related Warp Message. parameters: - name: network required: true in: path description: Either mainnet or testnet/fuji. example: mainnet schema: $ref: '#/components/schemas/Network' - name: txHash required: true in: path description: A primary network (P or X chain) transaction hash. example: 3P91K6nuDFvDodcRuJTsgdf9SvYe5pMiKk38HppsoeAiEztCP schema: type: string responses: '201': description: Successful response content: application/json: schema: $ref: '#/components/schemas/SignatureAggregationResponse' '400': description: "Bad requests generally mean the client has passed invalid \n or malformed parameters. Error messages in the response could help in \n evaluating the error." content: application/json: schema: $ref: '#/components/schemas/BadRequest' '401': description: "When a client attempts to access resources that require \n authorization credentials but the client lacks proper authentication \n in the request, the server responds with 401." content: application/json: schema: $ref: '#/components/schemas/Unauthorized' '403': description: "When a client attempts to access resources with valid\n credentials but doesn't have the privilege to perform that action, \n the server responds with 403." content: application/json: schema: $ref: '#/components/schemas/Forbidden' '404': description: "The error is mostly returned when the client requests\n with either mistyped URL, or the passed resource is moved or deleted, \n or the resource doesn't exist." content: application/json: schema: $ref: '#/components/schemas/NotFound' '429': description: "This error is returned when the client has sent too many,\n and has hit the rate limit." content: application/json: schema: $ref: '#/components/schemas/TooManyRequests' '500': description: "The error is a generic server side error that is \n returned for any uncaught and unexpected issues on the server side. \n This should be very rare, and you may reach out to us if the problem \n persists for a longer duration." content: application/json: schema: $ref: '#/components/schemas/InternalServerError' '502': description: "This is an internal error indicating invalid response \n received by the client-facing proxy or gateway from the upstream server." content: application/json: schema: $ref: '#/components/schemas/BadGateway' '503': description: "The error is returned for certain routes on a particular\n Subnet. This indicates an internal problem with our Subnet node, and may \n not necessarily mean the Subnet is down or affected." content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailable' tags: - Signature Aggregator x-codeSamples: - lang: javascript label: JavaScript source: "import { Avalanche } from \"@avalanche-sdk/chainkit\";\n\nconst avalanche = new Avalanche({\n network: \"mainnet\",\n});\n\nasync function run() {\n const result = await avalanche.data.signatureAggregator.get({\n txHash: \"3P91K6nuDFvDodcRuJTsgdf9SvYe5pMiKk38HppsoeAiEztCP\",\n });\n\n console.log(result);\n}\n\nrun();" components: schemas: InternalServerError: type: object properties: message: description: The error message describing the reason for the exception oneOf: - type: string - type: array items: type: string statusCode: type: number description: The HTTP status code of the response examples: - 500 error: type: string description: The type of error examples: - Internal Server Error required: - message - statusCode - error TooManyRequests: type: object properties: message: description: The error message describing the reason for the exception oneOf: - type: string - type: array items: type: string statusCode: type: number description: The HTTP status code of the response examples: - 429 error: type: string description: The type of error examples: - Too Many Requests required: - message - statusCode - error BadRequest: type: object properties: message: description: The error message describing the reason for the exception oneOf: - type: string - type: array items: type: string statusCode: type: number description: The HTTP status code of the response examples: - 400 error: type: string description: The type of error examples: - Bad Request required: - message - statusCode - error ServiceUnavailable: type: object properties: message: description: The error message describing the reason for the exception oneOf: - type: string - type: array items: type: string statusCode: type: number description: The HTTP status code of the response examples: - 503 error: type: string description: The type of error examples: - Service Unavailable required: - message - statusCode - error NotFound: type: object properties: message: description: The error message describing the reason for the exception oneOf: - type: string - type: array items: type: string statusCode: type: number description: The HTTP status code of the response examples: - 404 error: type: string description: The type of error examples: - Not Found required: - message - statusCode - error SignatureAggregationResponse: type: object properties: signedMessage: type: string examples: - 0000000000059f3be606497285d0ffbb5ac9ba24aa60346a9b1812479ed66cb329f394a4b1c7000003a200000000000100000014253b2784c75e510dd0ff1da844684a1ac0aa5fcf00000380000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001150000000000000000000000008578ae7723751446b196bd5124e1bf57b40eb7bc7fc93d85c6d62c5b2ac0b519c87010ea5294012d1e407030d6acd0021cac10d50000000000000000000000009660ed66aef60dfba5467afe865f612edbfb5c710000000000000000000000000000000000000000000000000000000000014c080000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000011a00000000000000000000000007ec2afb0a06a73666adc24983ebdbf2b6f1d708200000000000000000000000000000000000000000000000000000000000011a20000000000000000000000007ec2afb0a06a73666adc24983ebdbf2b6f1d708200000000000000000000000000000000000000000000000000000000000011b50000000000000000000000007ec2afb0a06a73666adc24983ebdbf2b6f1d708200000000000000000000000000000000000000000000000000000000000011e80000000000000000000000007ec2afb0a06a73666adc24983ebdbf2b6f1d708200000000000000000000000000000000000000000000000000000000000011e90000000000000000000000007ec2afb0a06a73666adc24983ebdbf2b6f1d708200000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000001c07f66981b45056e5024eb6d51f9f30aa0d28fd00000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000103807355b21dd497ecc9f560dfbdefc64aeec72b226c70d3793273db01d1a0c0bfd74d095d6a9e0b4db2dc652245fd28ac032c0f1f6b7f761b912ad58c93cde2e337bef4a4e8175af69f226520cd1baedd2dd7db79bb5752cb50a465531e46e8af required: - signedMessage BadGateway: type: object properties: message: description: The error message describing the reason for the exception oneOf: - type: string - type: array items: type: string statusCode: type: number description: The HTTP status code of the response examples: - 502 error: type: string description: The type of error examples: - Bad Gateway required: - message - statusCode - error Forbidden: type: object properties: message: description: The error message describing the reason for the exception oneOf: - type: string - type: array items: type: string statusCode: type: number description: The HTTP status code of the response examples: - 403 error: type: string description: The type of error examples: - Forbidden required: - message - statusCode - error Unauthorized: type: object properties: message: description: The error message describing the reason for the exception oneOf: - type: string - type: array items: type: string statusCode: type: number description: The HTTP status code of the response examples: - 401 error: type: string description: The type of error examples: - Unauthorized required: - message - statusCode - error SignatureAggregatorRequest: type: object properties: message: type: string description: Either Message or Justification must be provided. Hex-encoded message, optionally prefixed with "0x" examples: - 000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000003cc0000000000059f3be606497285d0ffbb5ac9ba24aa60346a9b1812479ed66cb329f394a4b1c7000003a200000000000100000014253b2784c75e510dd0ff1da844684a1ac0aa5fcf00000380000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001150000000000000000000000008578ae7723751446b196bd5124e1bf57b40eb7bc7fc93d85c6d62c5b2ac0b519c87010ea5294012d1e407030d6acd0021cac10d50000000000000000000000009660ed66aef60dfba5467afe865f612edbfb5c710000000000000000000000000000000000000000000000000000000000014c080000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000011a00000000000000000000000007ec2afb0a06a73666adc24983ebdbf2b6f1d708200000000000000000000000000000000000000000000000000000000000011a20000000000000000000000007ec2afb0a06a73666adc24983ebdbf2b6f1d708200000000000000000000000000000000000000000000000000000000000011b50000000000000000000000007ec2afb0a06a73666adc24983ebdbf2b6f1d708200000000000000000000000000000000000000000000000000000000000011e80000000000000000000000007ec2afb0a06a73666adc24983ebdbf2b6f1d708200000000000000000000000000000000000000000000000000000000000011e90000000000000000000000007ec2afb0a06a73666adc24983ebdbf2b6f1d708200000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000001c07f66981b45056e5024eb6d51f9f30aa0d28fd00000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000 justification: type: string description: Either Justification or Message must be provided. Hex-encoded justification, optionally prefixed with "0x" examples: - 0001abcdabcfff signingSubnetId: type: string description: Optional hex or cb58 encoded signing subnet ID. If omitted will default to the subnetID of the source blockchain. examples: - 7WtoAMPhrmh5KosDUsFL9yTcvw7YSxiKHPpdfs4JsgW47oZT5 quorumPercentage: type: number description: Optional. Integer from 0 to 100 representing the percentage of the weight of the signing Subnet that is required to sign the message. Defaults to 67 if omitted. examples: - 50 quorumPercentageBuffer: type: number description: "Optional. Integer from 0 to 100 representing the additional percentage of weight of the signing Subnet that will be attempted to add to the signature. QuorumPercentage+QuorumPercentageBuffer must be less than or equal to 100. Obtaining signatures from more validators can take a longer time, but signatures representing\ta large percentage of the Subnet weight are less prone to become invalid due to validator weight changes. Defaults to 0 if omitted." examples: - 50 pChainHeight: type: number description: Optional P-Chain height for validator set selection. If 0 (default), validators at proposed height will be used. If non-zero, validators at the specified P-Chain height will be used for signature aggregation. examples: - 1155 Network: type: string enum: - mainnet - fuji - testnet securitySchemes: apiKey: type: apiKey in: header name: x-glacier-api-key description: Api keys provide higher access to rate limits. To obtain an api key, sign up for an account at https://avacloud.io/. x-speakeasy-retries: strategy: backoff backoff: initialInterval: 500 maxInterval: 60000 maxElapsedTime: 120000 exponent: 1.5 statusCodes: - 5XX retryConnectionErrors: true x-speakeasy-globals: parameters: - $ref: '#/components/parameters/GlobalParamChainId' - $ref: '#/components/parameters/GlobalParamNetwork' x-execution-weight-values: free: 1 large: 50 medium: 20 none: 0 small: 10 xl: 100 xxl: 200 x-rpc-method-execution-weights: eth_accounts: free eth_blockNumber: small eth_call: small eth_coinbase: small eth_chainId: free eth_gasPrice: small eth_getBalance: small eth_getBlockByHash: small eth_getBlockByNumber: small eth_getBlockTransactionCountByNumber: medium eth_getCode: medium eth_getLogs: xxl eth_getStorageAt: medium eth_getTransactionByBlockNumberAndIndex: medium eth_getTransactionByHash: small eth_getTransactionCount: small eth_getTransactionReceipt: small eth_signTransaction: medium eth_sendTransaction: medium eth_sign: medium eth_sendRawTransaction: small eth_syncing: free net_listening: free net_peerCount: medium net_version: free web3_clientVersion: small web3_sha3: small eth_newPendingTransactionFilter: medium eth_maxPriorityFeePerGas: small eth_baseFee: small rpc_modules: free eth_getChainConfig: small eth_feeConfig: small eth_getActivePrecompilesAt: small x-speakeasy-webhooks: security: type: signature headerName: x-signature signatureTextEncoding: base64 algorithm: hmac-sha256