openapi: 3.2.0 info: version: 1.0.0 title: Polkadot Staking Reporting API description: '### Protocols The following protocols are currently supported: * Cardano * Cosmos * Ethereum * NEAR * Polkadot * Polygon * Solana' contact: name: Blockdaemon email: support@blockdaemon.com url: https://blockdaemon.com x-logo: url: logo.png servers: - url: https://svc.blockdaemon.com/reporting/staking description: Production server security: - apiKeyAuthHeader: [] - bearerAuth: [] tags: - name: Polkadot Staking Reporting paths: /v1/polkadot/mainnet/nominator/active: post: tags: - Polkadot Staking Reporting summary: Verify the Staking Activity of Multiple Nominators description: Returns true if a given nominator address is active, false otherwise (for each address from a list). operationId: VerifyStakingActivityNominators requestBody: content: application/json: schema: $ref: '#/components/schemas/StakingAddresses2' required: true responses: '200': description: Staking Activity of Multiple Nominators content: application/json: schema: $ref: '#/components/schemas/List_StakingAddressActive' example: - 11VR4pF6c7kfBhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ: true - 148AkdkKUfwUZfyubZQKPNqbGjGvRiFZ3bv25aPdXVANt7Bi: true '400': description: 'Invalid value for: body' content: text/plain: schema: type: string example: 'Invalid value for: body (expected value to pass validation: Must be a valid public address, but was: StakingAddresses(List(11VR4pF6c7k)))' '401': description: Invalid or expired token content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/NotFound' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/TooManyRequests' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServerError' '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailable' /v1/polkadot/mainnet/nominator/active/{address}: get: tags: - Polkadot Staking Reporting summary: Verify the Staking Activity of a Nominator description: Returns true if a given nominator address is active, false otherwise. operationId: VerifyStakingActivityNominator parameters: - $ref: '#/components/parameters/StakingAddress' responses: '200': description: Staking Activity of a Nominator content: application/json: schema: $ref: '#/components/schemas/StakingAddressActive' example: 1FmuvFXSkL988k8NQHeq4HDR43sHo3eEm2BbDhfuSeBs3qi: false '400': description: 'Invalid value for: path parameter address' content: text/plain: schema: type: string example: 'Invalid value for: path parameter address (expected value to match: ^1[a-zA-Z0-9]{40,50}$, but was: k8NQHeq4HDR43sHo3eEm2BbDhfuSeBs3qi)' '401': description: Invalid or expired token content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/NotFound' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/TooManyRequests' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServerError' '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailable' /v1/polkadot/mainnet/nominator/history: post: tags: - Polkadot Staking Reporting summary: Get a List of Historical Stake & Rewards for Multiple Nominators description: Returns the historical stake & rewards allocated to multiple given nominator addresses. operationId: GetHistoricalStakeAndRewardsNominators parameters: - $ref: '#/components/parameters/aggregate' requestBody: content: application/json: schema: $ref: '#/components/schemas/StakingQuery2' required: true responses: '200': description: List of Historical Stake & Rewards for Multiple Nominators content: application/json: schema: $ref: '#/components/schemas/List_RewardsFormat' example: - address: several currency: DOT return: 1359.8256990532 timeStart: '2023-03-06T00:00:00Z' timeEnd: '2023-03-12T23:59:59Z' timeAggregation: weekly startingBalance: 1226000.10603583 metadata: delegationAddress: several - address: 148AkdkKUfwUZfyubZQKPNqbGjGvRiFZ3bv25aPdXVANt7Bi currency: DOT return: 223.974322146254 timeStart: '2023-03-13T00:00:00Z' timeEnd: '2023-03-19T23:59:59Z' timeAggregation: weekly startingBalance: 407000 metadata: delegationAddress: 14j9pbn4BjDd3fRuVWW5Ev6QYdUbLC1JbLZCnUdA6VpfLiic '400': description: Invalid value for query parameter or body, or both. content: text/plain: schema: type: string example: 'Invalid value for: body (Long at ''fromTime'', Attempt to decode value on failed cursor at ''toTime'')' '401': description: Invalid or expired token content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/NotFound' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/TooManyRequests' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServerError' '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailable' /v1/polkadot/mainnet/nominator/history/{address}: post: tags: - Polkadot Staking Reporting summary: Get the Historical Stake & Rewards of a Nominator description: Returns the historical stake & rewards allocated by a user-defined nominator address. operationId: GetHistoricalStakeAndRewardsNominator parameters: - $ref: '#/components/parameters/StakingAddress' requestBody: content: application/json: schema: $ref: '#/components/schemas/SingleStakingQuery2' required: true responses: '200': description: Historical Stake & Rewards of a Nominator content: application/json: schema: $ref: '#/components/schemas/RewardsFormat1' example: - address: 1FmuvFXSkL988k8NQHeq4HDR43sHo3eEm2BbDhfuSeBs3qi currency: DOT return: 0.187527362598254 timeStart: '2023-03-13T15:36:18Z' timeEnd: '2023-03-13T15:36:18Z' timeAggregation: era startingBalance: 362.168738008 metadata: delegationAddress: 1LMtHkfrADk7awSEFC45nyDKWxPu9cK796vtrf7Fu3NZQmB era: 1015 - address: 1FmuvFXSkL988k8NQHeq4HDR43sHo3eEm2BbDhfuSeBs3qi currency: DOT return: 0.135609253243375 timeStart: '2023-03-11T15:36:18Z' timeEnd: '2023-03-11T15:36:18Z' timeAggregation: era startingBalance: 362.168738008 metadata: delegationAddress: 11VR4pF6c7kfBhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ era: 1013 - address: 1FmuvFXSkL988k8NQHeq4HDR43sHo3eEm2BbDhfuSeBs3qi currency: DOT return: 0.147132125539855 timeStart: '2023-03-12T15:36:24Z' timeEnd: '2023-03-12T15:36:24Z' timeAggregation: era startingBalance: 362.168738008 metadata: delegationAddress: 1LMtHkfrADk7awSEFC45nyDKWxPu9cK796vtrf7Fu3NZQmB era: 1014 - address: 1FmuvFXSkL988k8NQHeq4HDR43sHo3eEm2BbDhfuSeBs3qi currency: DOT return: 0.221356093877086 timeStart: '2023-03-10T15:36:18Z' timeEnd: '2023-03-10T15:36:18Z' timeAggregation: era startingBalance: 362.168738008 metadata: delegationAddress: 1LMtHkfrADk7awSEFC45nyDKWxPu9cK796vtrf7Fu3NZQmB era: 1012 - address: 1FmuvFXSkL988k8NQHeq4HDR43sHo3eEm2BbDhfuSeBs3qi currency: DOT return: 0.0889897117733043 timeStart: '2023-03-09T15:36:18Z' timeEnd: '2023-03-09T15:36:18Z' timeAggregation: era startingBalance: 362.168738008 metadata: delegationAddress: 1LMtHkfrADk7awSEFC45nyDKWxPu9cK796vtrf7Fu3NZQmB era: 1011 - address: 1FmuvFXSkL988k8NQHeq4HDR43sHo3eEm2BbDhfuSeBs3qi currency: DOT return: 0.257815085721343 timeStart: '2023-03-08T15:36:18Z' timeEnd: '2023-03-08T15:36:18Z' timeAggregation: era startingBalance: 362.168738008 metadata: delegationAddress: 1LMtHkfrADk7awSEFC45nyDKWxPu9cK796vtrf7Fu3NZQmB era: 1010 - address: 1FmuvFXSkL988k8NQHeq4HDR43sHo3eEm2BbDhfuSeBs3qi currency: DOT return: 0.219955032390469 timeStart: '2023-03-07T15:36:18Z' timeEnd: '2023-03-07T15:36:18Z' timeAggregation: era startingBalance: 362.168738008 metadata: delegationAddress: 1LMtHkfrADk7awSEFC45nyDKWxPu9cK796vtrf7Fu3NZQmB era: 1009 '400': description: Invalid value for path parameter address or body, or both. content: text/plain: schema: type: string example: 'Invalid value for: body (Long at ''fromTime'')' '401': description: Invalid or expired token content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/NotFound' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/TooManyRequests' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServerError' '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailable' /v1/polkadot/mainnet/nominator/rewards: post: tags: - Polkadot Staking Reporting summary: Get a List of Stake & Rewards for Multiple Nominators description: Returns the current stake & rewards allocated by a user-defined list of nominator addresses. operationId: GetStakeAndRewardsNominators parameters: - $ref: '#/components/parameters/aggregate' requestBody: content: application/json: schema: $ref: '#/components/schemas/StakingAddresses2' required: true responses: '200': description: List of Stake & Rewards for Multiple Nominators content: application/json: schema: $ref: '#/components/schemas/List_RewardsFormat' example: - address: 11VR4pF6c7kfBhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ currency: DOT return: 2.77577096763932 timeStart: '2023-05-27T15:36:18Z' timeEnd: '2023-05-27T15:36:18Z' timeAggregation: era startingBalance: 5400.2569781821 metadata: delegationAddress: 11VR4pF6c7kfBhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ era: 1090 - address: 148AkdkKUfwUZfyubZQKPNqbGjGvRiFZ3bv25aPdXVANt7Bi currency: DOT return: 105.380277416918 timeStart: '2023-05-27T15:36:18Z' timeEnd: '2023-05-27T15:36:18Z' timeAggregation: era startingBalance: 407000 metadata: delegationAddress: 12doHFjPjPngNvZCWX4WeF4rkLFJ5LmmEyDvPGQ2C1aPppwy era: 1090 '400': description: Invalid value for query parameter or body, or both. content: text/plain: schema: type: string example: 'Invalid value for: body (expected value to pass validation: Must be a valid public address, but was: StakingAddresses(List(11VR4pF6c7k)))' '401': description: Invalid or expired token content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/NotFound' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/TooManyRequests' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServerError' '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailable' /v1/polkadot/mainnet/nominator/rewards/{address}: get: tags: - Polkadot Staking Reporting summary: Get the Stake & Rewards of a Nominator description: Returns the current stake & rewards allocated by a user-defined nominator address. operationId: GetStakeAndRewardsNominator parameters: - $ref: '#/components/parameters/StakingAddress' responses: '200': description: Stake & Rewards of a Nominator content: application/json: schema: $ref: '#/components/schemas/RewardsFormat1' example: - address: 11VR4pF6c7kfBhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ currency: DOT return: 3.54782234782946 timeStart: '2023-05-24T15:36:18Z' timeEnd: '2023-05-24T15:36:18Z' timeAggregation: era startingBalance: 5375.5940129628 metadata: delegationAddress: 11VR4pF6c7kfBhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ era: 1087 '400': description: 'Invalid value for: path parameter address' content: text/plain: schema: type: string example: 'Invalid value for: path parameter address (expected value to match: ^1[a-zA-Z0-9]{40,50}$, but was: 8NQHeq4HDR43sHo3eEm2BbDhfuSeBs3qi)' '401': description: Invalid or expired token content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/NotFound' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/TooManyRequests' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServerError' '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailable' /v1/polkadot/mainnet/nominator/status: post: tags: - Polkadot Staking Reporting summary: Get a List of Statuses for Multiple Nominators description: Returns the current status by a user-defined list of nominator addresses. operationId: GetStatusNominators requestBody: content: application/json: schema: $ref: '#/components/schemas/StakingAddresses2' required: true responses: '200': description: List of Statuses for Multiple Nominators content: application/json: schema: $ref: '#/components/schemas/List_StakingStatus1' example: - address: 11VR4pF6c7kfBhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ status: active commission: 1 activationDate: '2022-10-02' - address: 1FmuvFXSkL988k8NQHeq4HDR43sHo3eEm2BbDhfuSeBs3qi status: inactive commission: 1 activationDate: '2022-09-23' '400': description: 'Invalid value for: body' content: text/plain: schema: type: string example: 'Invalid value for: body (expected value to pass validation: Must be a valid public address, but was: StakingAddresses(List(11VR, aa)))' '401': description: Invalid or expired token content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/NotFound' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/TooManyRequests' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServerError' '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailable' /v1/polkadot/mainnet/nominator/status/{address}: get: tags: - Polkadot Staking Reporting summary: Get the Status of a Nominator description: Returns the current status by a user-defined nominator address. operationId: GetStatusNominator parameters: - $ref: '#/components/parameters/StakingAddress' responses: '200': description: Status of the Nominator content: application/json: schema: $ref: '#/components/schemas/StakingStatus2' example: address: 1FmuvFXSkL988k8NQHeq4HDR43sHo3eEm2BbDhfuSeBs3qi status: inactive commission: 1 activationDate: '2022-09-23' '400': description: 'Invalid value for: path parameter address' content: text/plain: schema: type: string example: 'Invalid value for: path parameter address (expected value to match: ^1[a-zA-Z0-9]{40,50}$, but was: k8NQHeq4HDR43sHo3eEm2BbDhfuSeBs3qi)' '401': description: Invalid or expired token content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/NotFound' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/TooManyRequests' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServerError' '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailable' /v1/polkadot/mainnet/validator/active: post: tags: - Polkadot Staking Reporting summary: Verify the Staking Activity of Multiple Validators description: Returns true if a given validator address is active, false otherwise (for each address from a list). operationId: VerifyStakingActivityValidators2 requestBody: content: application/json: schema: $ref: '#/components/schemas/StakingAddresses2' required: true responses: '200': description: Staking Activity of Multiple Validators content: application/json: schema: $ref: '#/components/schemas/List_StakingAddressActive' example: - 11VR4pF6c7kfBhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ: true - 1FmuvFXSkL988k8NQHeq4HDR43sHo3eEm2BbDhfuSeBs3qi: false '400': description: 'Invalid value for: body' content: text/plain: schema: type: string example: 'Invalid value for: body (expected value to pass validation: Must be a valid public address, but was: StakingAddresses(List(11VR4pF6c7kfBhfm)))' '401': description: Invalid or expired token content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/NotFound' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/TooManyRequests' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServerError' '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailable' /v1/polkadot/mainnet/validator/active/{address}: get: tags: - Polkadot Staking Reporting summary: Verify the Staking Activity of a Validator description: Returns true if a given validator address is active, false otherwise. operationId: VerifyStakingActivityValidator2 parameters: - $ref: '#/components/parameters/ValidatorAddress' responses: '200': description: Staking Activity of a Validator content: application/json: schema: $ref: '#/components/schemas/StakingAddressActive' example: 11VR4pF6c7kfBhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ: true '400': description: 'Invalid value for: path parameter address' content: text/plain: schema: type: string example: 'Invalid value for: path parameter address (expected value to match: ^1[a-zA-Z0-9]{40,50}$, but was: fmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ)' '401': description: Invalid or expired token content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/NotFound' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/TooManyRequests' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServerError' '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailable' /v1/polkadot/mainnet/validator/history: post: tags: - Polkadot Staking Reporting summary: Get a List of Historical Stake & Rewards for Multiple Validators description: Returns the historical stake & rewards allocated to multiple validator addresses. operationId: GetHistoricalStakeAndRewardsValidators2 parameters: - $ref: '#/components/parameters/aggregate' requestBody: content: application/json: schema: $ref: '#/components/schemas/StakingQuery2' required: true responses: '200': description: List of Historical Stake & Rewards for Multiple Validators content: application/json: schema: $ref: '#/components/schemas/List_ValidatorRewardsFormat' example: - address: several currency: DOT return: 6559.94623010048 timeStart: '2023-03-06T00:00:00Z' timeEnd: '2023-03-12T23:59:59Z' timeAggregation: weekly startingBalance: 4177750.14572143 metadata: commission: 0.008 validatorRewards: 6385.47327940744 commissionRewards: 174.472950693047 - address: 123VugBRFMqUEFviSYrG3ewdZ46ZmqxjmRaGY6BvakfdPVaG currency: DOT return: 866.240819784686 timeStart: '2023-03-13T00:00:00Z' timeEnd: '2023-03-19T23:59:59Z' timeAggregation: weekly startingBalance: 1975113.60144355 metadata: commission: 0.03 validatorRewards: 841.010504645326 commissionRewards: 25.2303151393598 '400': description: Invalid value for query parameter or body, or both. content: text/plain: schema: type: string example: 'Invalid value for: body (Long at ''toTime'')' '401': description: Invalid or expired token content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/NotFound' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/TooManyRequests' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServerError' '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailable' /v1/polkadot/mainnet/validator/history/{address}: post: tags: - Polkadot Staking Reporting summary: Get the Historical Stake & Rewards of a Validator description: Returns the historical stake & rewards allocated to a given validator address. operationId: GetHistoricalStakeAndRewardsValidator1 parameters: - $ref: '#/components/parameters/ValidatorAddress' requestBody: content: application/json: schema: $ref: '#/components/schemas/SingleStakingQuery2' required: true responses: '200': description: Historical Stake & Rewards of a Validator content: application/json: schema: $ref: '#/components/schemas/ValidatorRewardsFormat1' example: - address: 11VR4pF6c7kfBhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ currency: DOT return: 783.089894122252 timeStart: '2023-03-11T15:36:18Z' timeEnd: '2023-03-11T15:36:18Z' timeAggregation: era startingBalance: 2058184.9337035 metadata: commission: 0.008 validatorRewards: 776.874894962552 commissionRewards: 6.21499915970041 era: 1013 '400': description: 'Invalid value for: path parameter address or body, or both.' content: text/plain: schema: type: string example: 'Invalid value for: path parameter address (expected value to match: ^1[a-zA-Z0-9]{40,50}$, but was: fBhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ)' '401': description: Invalid or expired token content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/NotFound' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/TooManyRequests' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServerError' '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailable' /v1/polkadot/mainnet/validator/rewards: post: tags: - Polkadot Staking Reporting summary: Get a List of Stake & Rewards for Multiple Validators description: Returns the current stake & rewards allocated to multiple validator addresses. operationId: GetStakeAndRewardsValidators2 parameters: - $ref: '#/components/parameters/aggregate' requestBody: content: application/json: schema: $ref: '#/components/schemas/StakingAddresses2' required: true responses: '200': description: Stake & Rewards for Multiple Validators content: application/json: schema: $ref: '#/components/schemas/List_ValidatorRewardsFormat' example: - address: 11VR4pF6c7kfBhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ currency: DOT return: 1012.17757444428 timeStart: '2023-05-27T15:36:18Z' timeEnd: '2023-05-27T15:36:18Z' timeAggregation: era startingBalance: 1937932.51163879 metadata: commission: 0.008 validatorRewards: 1004.14441909155 commissionRewards: 8.03315535273237 era: 1090 - address: 123VugBRFMqUEFviSYrG3ewdZ46ZmqxjmRaGY6BvakfdPVaG currency: DOT return: 808.710140928995 timeStart: '2023-05-27T15:36:18Z' timeEnd: '2023-05-27T15:36:18Z' timeAggregation: era startingBalance: 1937934.41512671 metadata: commission: 0.03 validatorRewards: 785.155476630092 commissionRewards: 23.5546642989028 era: 1090 '400': description: Invalid value for query parameter or body, or both. content: text/plain: schema: type: string example: 'Invalid value for: body (expected value to pass validation: Must be a valid public address, but was: StakingAddresses(List(11VR4pF6c7kfBhfmuwwj)))' '401': description: Invalid or expired token content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/NotFound' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/TooManyRequests' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServerError' '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailable' /v1/polkadot/mainnet/validator/rewards/{address}: get: tags: - Polkadot Staking Reporting summary: Get the Stake & Rewards of a Validator description: Returns the current stakes & rewards allocated to a given validator address. operationId: GetStakeAndRewardsValidator2 parameters: - $ref: '#/components/parameters/ValidatorAddress' responses: '200': description: Stake & Rewards of a Validator content: application/json: schema: $ref: '#/components/schemas/ValidatorRewardsFormat1' example: - address: 11VR4pF6c7kfBhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ currency: DOT return: 1012.17757444428 timeStart: '2023-05-27T15:36:18Z' timeEnd: '2023-05-27T15:36:18Z' timeAggregation: era startingBalance: 1937932.51163879 metadata: commission: 0.008 validatorRewards: 1004.14441909155 commissionRewards: 8.03315535273237 era: 1090 '400': description: 'Invalid value for: path parameter address' content: text/plain: schema: type: string example: 'Invalid value for: path parameter address (expected value to match: ^1[a-zA-Z0-9]{40,50}$, but was: hfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ)' '401': description: Invalid or expired token content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/NotFound' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/TooManyRequests' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServerError' '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailable' /v1/polkadot/mainnet/validator/status: post: tags: - Polkadot Staking Reporting summary: Get the Status of Multiple Validators description: Returns the current status of multiple given validator addresses. operationId: GetStatusValidators1 requestBody: content: application/json: schema: $ref: '#/components/schemas/StakingAddresses2' required: true responses: '200': description: Status of Multiple Validators content: application/json: schema: $ref: '#/components/schemas/List_StakingStatus1' example: - address: 11VR4pF6c7kfBhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ status: active commission: 1 activationDate: '2022-10-02' - address: 123VugBRFMqUEFviSYrG3ewdZ46ZmqxjmRaGY6BvakfdPVaG status: active commission: 1 activationDate: '2022-09-23' '400': description: 'Invalid value for: body' content: text/plain: schema: type: string example: 'Invalid value for: body (expected value to pass validation: Must be a valid public address, but was: StakingAddresses(List(11VR4pF6)))' '401': description: Invalid or expired token content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/NotFound' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/TooManyRequests' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServerError' '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailable' /v1/polkadot/mainnet/validator/status/{address}: get: tags: - Polkadot Staking Reporting summary: Get the Status of a Validator description: Returns the current status of a given validator address. operationId: GetStatusValidator2 parameters: - $ref: '#/components/parameters/ValidatorAddress' responses: '200': description: Status of a Validator content: application/json: schema: $ref: '#/components/schemas/StakingStatus2' example: address: 11VR4pF6c7kfBhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ status: active commission: 1 activationDate: '2022-10-02' '400': description: 'Invalid value for: path parameter address' content: text/plain: schema: type: string example: 'Invalid value for: path parameter address (expected value to match: ^1[a-zA-Z0-9]{40,50}$, but was: BhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ)' '401': description: Invalid or expired token content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/NotFound' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/TooManyRequests' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServerError' '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailable' components: schemas: ServiceUnavailable: description: Service Unavailable allOf: - $ref: '#/components/schemas/error' example: status: 503 code: '503' title: Unavailable detail: https://blockdaemon.com/documentation/ TooManyRequests: description: Rate limit exceeded. allOf: - $ref: '#/components/schemas/error' example: status: 429 code: '429' title: Too Many Requests detail: Request rate limits have been exceeded. Try again after a few seconds. ServerError: description: An internal server error happened. allOf: - $ref: '#/components/schemas/error' example: status: 500 code: '500' title: Internal Server Error detail: https://blockdaemon.com/documentation/ ValidatorRewardsFormat1: required: - address - currency - return - timeStart - timeEnd - timeAggregation - startingBalance - metadata type: object properties: address: type: string description: The public address. currency: type: string description: The cryptocurrency protocol the request relates to. return: type: number format: float description: The sum of the rewards for the previous UTC day. Rewards are recorded per session (four hours on Polkadot), and calculated per era (twenty-four hours on Polkadot). Thus, rewards will be calculated once per day on Polkadot. timeStart: type: string description: The timestamp, in UTC, that marks the start of the period covered. timeEnd: type: string description: The timestamp, in UTC, that marks the end of the period covered. timeAggregation: description: The agregation period, one of `era`, `day`, `week`, or `month`. type: string startingBalance: type: number description: The staked amount at the beginning of the previous UTC day (at the timeStart). format: float metadata: $ref: '#/components/schemas/MetadataPolkadot' List_StakingStatus1: type: array items: $ref: '#/components/schemas/StakingStatus2' StakingAddressActive: required: - address - active type: object properties: address: type: string description: The address you are checking the staking activity of. active: type: boolean example: Staking activity status. description: '`true` if the address is active, `false` otherwise.' error: type: object properties: status: type: integer description: The HTTP status of the error. example: 400 code: type: integer description: The numeric error code. example: 16384 title: type: string description: The short error description. example: Invalid Address detail: type: string description: The long error description. example: The requested address is invalid on this protocol SingleStakingQuery2: required: - fromTime - toTime - timeUnit type: object properties: fromTime: type: integer format: int64 description: The millisecond timestamp from which you wish to retrieve the historical stake and rewards. default: 1678174507000 example: 1678174507000 toTime: type: integer format: int64 description: The millisecond timestamp until which you wish to retrieve the historical stake and rewards. default: 1678779307000 example: 1678779307000 timeUnit: $ref: '#/components/schemas/TimeUnit2' List_RewardsFormat: type: array items: $ref: '#/components/schemas/RewardsFormat1' StakingStatus2: required: - address - status - commission - activationDate type: object properties: address: type: string description: The user-defined address. status: type: string description: The staking status of the user-defined address. commission: type: integer format: int64 description: The validator commission rate. It refers to the percentage of staking rewards that validators are allowed to charge for their services, it varies across validators. Validators have the freedom to choose their commission rate based on various factors, such as their operational costs, infrastructure requirements, and the value they provide to the network. activationDate: type: string format: date description: The activation date. RewardsFormat1: required: - address - currency - return - timeStart - timeEnd - timeAggregation - startingBalance - metadata type: object properties: address: type: string description: The public address. currency: type: string description: The cryptocurrency protocol the request relates to. return: type: number format: float description: The sum of the rewards for the previous UTC day. Rewards are recorded per session (four hours on Polkadot), and calculated per era (twenty-four hours on Polkadot). Thus, rewards will be calculated once per day on Polkadot. timeStart: type: string description: The timestamp, in UTC, that marks the start of the period covered. timeEnd: type: string description: The timestamp, in UTC, that marks the end of the period covered. timeAggregation: description: The agregation period, one of `era`, `day`, `week`, or `month`. type: string startingBalance: type: number description: The staked amount at the beginning of the previous UTC day (at the timeStart). format: float metadata: $ref: '#/components/schemas/Metadata1' List_ValidatorRewardsFormat: type: array items: $ref: '#/components/schemas/ValidatorRewardsFormat1' StakingAddresses2: type: object properties: addresses: type: array description: A list of addresses. default: - 11VR4pF6c7kfBhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ items: type: string MetadataPolkadot: required: - commission - validatorRewards - commissionRewards type: object description: The protocol specific data. properties: commission: type: number format: float description: The validator commission rate. It refers to the percentage of staking rewards that validators are allowed to charge for their services, it varies across validators. It’s the fee that nominators are charged by the validator. Validators have the freedom to choose their commission rate based on various factors, such as their operational costs, infrastructure requirements, and the value they provide to the network. validatorRewards: type: number format: float description: The rewards the validator has earned from staking activity on the network. commissionRewards: type: number format: float description: The fee a validator earned from its nominators. era: type: integer format: int32 description: A unit of time. An era’s duration is exactly 1 day (24 hours). The start and end times are always 15:36:18.003 UTC. Each era consists of 6 epochs, each of which consists of 2400 slots for Polkadot. Metadata1: required: - delegationAddress - era type: object description: The protocol specifc data. properties: delegationAddress: type: string description: The delegation address. era: type: integer format: int32 description: A unit of time. An era’s duration is exactly 1 day (24 hours). The start and end times are always 15:36:18.003 UTC. Each era consists of 6 epochs, each of which consists of 2400 slots for Polkadot. List_StakingAddressActive: type: array items: $ref: '#/components/schemas/StakingAddressActive' NotFound: description: Not Found items: type: string example: Not Found UnauthorizedError: description: Invalid or expired token. allOf: - $ref: '#/components/schemas/error' example: status: 401 code: '401' title: Unauthorized detail: https://blockdaemon.com/documentation/ MethodNotAllowed: description: Method Not Allowed allOf: - $ref: '#/components/schemas/error' example: status: 405 code: 405 title: method not allowed detail: https://blockdaemon.com/documentation/ StakingQuery2: required: - fromTime - toTime - timeUnit type: object properties: fromTime: type: integer format: int64 description: The millisecond timestamp from which you wish to retrieve the historical stake and rewards. default: 1678174507000 example: 1678174507000 toTime: type: integer format: int64 description: The millisecond timestamp until which you wish to retrieve the historical stake and rewards. default: 1678779307000 example: 1678779307000 timeUnit: $ref: '#/components/schemas/TimeUnit2' addresses: type: array description: A list of addresses. default: - 11VR4pF6c7kfBhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ items: type: string TimeUnit2: type: string default: week description: This parameter is used to aggregate rewards. It must be one of `era`, `day`, `week`, or `month`. enum: - era - day - week - month parameters: StakingAddress: in: path name: address description: A single public address to check. required: true schema: type: string default: 11VR4pF6c7kfBhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ pattern: ^1[a-zA-Z0-9]{40,50}$ example: 11VR4pF6c7kfBhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ ValidatorAddress: in: path name: address description: A single public address to check. required: true schema: type: string default: 11VR4pF6c7kfBhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ pattern: ^1[a-zA-Z0-9]{40,50}$ example: 11VR4pF6c7kfBhfmuwwjWY3FodeYBKWx7ix2rsRCU2q6hqJ aggregate: name: aggregate in: query description: Set to true for the rewards to be aggregated across addresses. required: false schema: type: boolean securitySchemes: apiKeyAuthHeader: type: apiKey in: header name: X-API-Key description: 'Unlock higher TPS - Create your own API key in the [Blockdaemon App](https://app.blockdaemon.com). ' x-default: 2go1YqUcuAr4WZ2-3WgSD3c7qpatZqQuNWhTVBldKZnTSUtw bearerAuth: type: http scheme: bearer bearerFormat: Opaque description: '[Legacy Auth] Unlock higher TPS - Create your own API key in the [Blockdaemon App](https://app.blockdaemon.com). ' x-default: 2go1YqUcuAr4WZ2-3WgSD3c7qpatZqQuNWhTVBldKZnTSUtw x-provenance: method: searched source: https://docs.blockdaemon.com/reference harvested: '2026-10-14' tool: harvest-readme-openapi.py note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored. assembled_from: - https://docs.blockdaemon.com/reference/get-historical-stake-and-rewards-for-multiple-delegators-cardano.md - https://docs.blockdaemon.com/reference/get-historical-stake-and-rewards-for-multiple-pools-cardano.md - https://docs.blockdaemon.com/reference/get-historical-stake-and-rewards-of-delegator-cardano.md - https://docs.blockdaemon.com/reference/get-historical-stake-and-rewards-of-pool-cardano.md - https://docs.blockdaemon.com/reference/get-stake-and-rewards-for-multiple-delegators-cardano.md - https://docs.blockdaemon.com/reference/get-stake-and-rewards-for-multiple-pools-cardano.md - https://docs.blockdaemon.com/reference/get-stake-and-rewards-of-delegator-cardano.md - https://docs.blockdaemon.com/reference/get-stake-and-rewards-of-pool-cardano.md - https://docs.blockdaemon.com/reference/get_v2-ethereum-network-pubkeys.md - https://docs.blockdaemon.com/reference/getdeposits.md - https://docs.blockdaemon.com/reference/gethealth-cosmos.md - https://docs.blockdaemon.com/reference/gethealth-ethereum.md - https://docs.blockdaemon.com/reference/gethealth-polygon.md - https://docs.blockdaemon.com/reference/gethealth-solana.md - https://docs.blockdaemon.com/reference/gethistoricalstakeandrewardsnominator.md - https://docs.blockdaemon.com/reference/gethistoricalstakeandrewardsnominators.md - https://docs.blockdaemon.com/reference/gethistoricalstakeandrewardsvalidator1.md - https://docs.blockdaemon.com/reference/gethistoricalstakeandrewardsvalidators2.md - https://docs.blockdaemon.com/reference/getrewards-cosmos.md - https://docs.blockdaemon.com/reference/getrewards-ethereum.md - https://docs.blockdaemon.com/reference/getrewards-polygon.md - https://docs.blockdaemon.com/reference/getrewards-solana.md - https://docs.blockdaemon.com/reference/getrewardssingle-cosmos.md - https://docs.blockdaemon.com/reference/getrewardssingle-ethereum.md - https://docs.blockdaemon.com/reference/getrewardssingle-polygon.md - https://docs.blockdaemon.com/reference/getrewardssingle-solana.md - https://docs.blockdaemon.com/reference/getstakeandrewardsnominator.md - https://docs.blockdaemon.com/reference/getstakeandrewardsnominators.md - https://docs.blockdaemon.com/reference/getstakeandrewardsvalidator2.md - https://docs.blockdaemon.com/reference/getstakeandrewardsvalidators2.md - https://docs.blockdaemon.com/reference/getstatsethereum.md - https://docs.blockdaemon.com/reference/getstatssolana.md - https://docs.blockdaemon.com/reference/getstatus-cosmos.md - https://docs.blockdaemon.com/reference/getstatus-ethereum.md - https://docs.blockdaemon.com/reference/getstatus-polygon.md - https://docs.blockdaemon.com/reference/getstatus-solana.md - https://docs.blockdaemon.com/reference/getstatuses-cosmos.md - https://docs.blockdaemon.com/reference/getstatuses-ethereum.md - https://docs.blockdaemon.com/reference/getstatuses-polygon.md - https://docs.blockdaemon.com/reference/getstatuses-solana.md - https://docs.blockdaemon.com/reference/getstatusnominator.md - https://docs.blockdaemon.com/reference/getstatusnominators.md - https://docs.blockdaemon.com/reference/getstatusvalidator2.md - https://docs.blockdaemon.com/reference/getstatusvalidators1.md - https://docs.blockdaemon.com/reference/getyield-validator-ethereum.md - https://docs.blockdaemon.com/reference/getyield-validator-solana.md - https://docs.blockdaemon.com/reference/getyields-cosmos.md - https://docs.blockdaemon.com/reference/getyields-ethereum.md - https://docs.blockdaemon.com/reference/getyields-solana.md - https://docs.blockdaemon.com/reference/putstatsethereum.md - https://docs.blockdaemon.com/reference/putstatssolana.md - https://docs.blockdaemon.com/reference/verifystakingactivitynominator.md - https://docs.blockdaemon.com/reference/verifystakingactivitynominators.md - https://docs.blockdaemon.com/reference/verifystakingactivityvalidator2.md - https://docs.blockdaemon.com/reference/verifystakingactivityvalidators2.md merge: pages: 55 deduped: 377 conflicts_kept_first: 0