openapi: 3.0.3 info: title: hilltop-api version: 0.0.1-SNAPSHOT servers: - url: https://hilltop-api.mainnet.dandelion.link paths: /active_stake_amounts: get: parameters: - name: epoch_number in: query required: false schema: type: integer format: int32 responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsActiveStakeAmount' /active_stake_amounts/{pool_bech32_id}: get: parameters: - name: pool_bech32_id in: path required: true schema: type: string - name: epoch_number in: query required: false schema: type: integer format: int32 responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsActiveStakeAmount' /active_stake_amounts/{pool_bech32_id}/addresses: get: parameters: - name: pool_bech32_id in: path required: true schema: type: string - name: epoch_number in: query required: true schema: type: integer format: int32 responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsAddressStakeAmount' /blocks/blocks_in_day: get: parameters: - name: date in: query required: true schema: type: string format: date responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsDayBlock' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsGenericError' /blocks/{block_number}: get: parameters: - name: block_number in: path description: the block number required: true schema: type: integer format: int64 responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsBlock' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsGenericError' /delegations/{staking_address}/safe_payment: get: parameters: - name: staking_address in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: type: string '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsGenericError' /delegations/{staking_address}/stakepool: get: parameters: - name: staking_address in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsDelegation' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsGenericError' /delegators_counts/{pool_bech32_id}: get: parameters: - name: pool_bech32_id in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsDelegatorsCount' /epochs/current: get: responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsEpoch' /epochs/{epoch_number}: get: parameters: - name: epoch_number in: path required: true schema: type: integer format: int32 responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsEpoch' /healthchecks: get: responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsHealthcheck' /native_assets/ids: get: parameters: - name: block_number_from in: query description: the block number from when fetching updates, it's the pagination index required: false schema: type: integer format: int64 - name: limit in: query description: the number of updates to fetch required: false schema: type: integer format: int64 responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsNativeAssetId' /native_assets/native_assets_details: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsNativeAssetDetailsRequest' required: true responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsNativeAssetDetails' /native_assets/nfts: get: parameters: - name: block_number_from in: query required: true schema: type: integer format: int64 - name: block_number_to in: query required: true schema: type: integer format: int64 responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsNftDetails' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsGenericError' /native_assets/{policy_id}: get: parameters: - name: stake_address in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsNativeAsset' /native_assets/{policy_id}/asset_names: get: parameters: - name: policy_id in: path description: the policy id to get the asset name required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: type: array items: type: string /pool_updates: get: parameters: - name: block_number_from in: query description: the block number from when fetching updates, it's the pagination index required: false schema: type: integer format: int64 - name: limit in: query description: the number of updates to fetch required: false schema: type: integer format: int64 responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsPoolUpdate' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsGenericError' /pool_updates/retiring: get: parameters: - name: block_number_from in: query description: the block number from when fetching updates, it's the pagination index required: false schema: type: integer format: int64 - name: limit in: query description: the number of updates to fetch required: false schema: type: integer format: int64 responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsPoolRetiring' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsGenericError' /pool_updates/{pool_id}: get: parameters: - name: pool_id in: path required: true schema: type: string - name: block_number_from in: query description: the block number from when fetching updates, it's the pagination index required: false schema: type: integer format: int64 - name: limit in: query description: the number of updates to fetch required: false schema: type: integer format: int64 responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsPoolUpdate' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsGenericError' /rewards/{staking_address}: get: parameters: - name: staking_address in: path required: true schema: type: string - name: epoch_from in: query required: false schema: type: integer format: int32 - name: epoch_to in: query required: false schema: type: integer format: int32 responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsReward' /sigmas/{pool_id}: get: description: can be either the pool_id (e.g. pool1wcwe923r...) or the pool_hash parameters: - name: pool_id in: path required: true schema: type: string - name: epoch_number in: query required: true schema: type: integer format: int32 responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsSigma' /stakepool_metadata/{pool_id_bech32}: get: parameters: - name: pool_id_bech32 in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsStakepoolMetadata' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsGenericError' /stakepools: get: responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsStakepool' /stakepools/vrf_vkey/{vrf_vkey_hash}: get: description: find pool details by vrf_vkey parameters: - name: vrf_vkey_hash in: path description: the hash of the vrf_vkey required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsStakepool' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsGenericError' /stakepools/{pool_id}/blocks: get: description: number minted blocks in epoch parameters: - name: pool_id in: path description: id of the pool to query. Both id and bech32 formats are supported required: true schema: type: string - name: epoch in: query description: epoch in which to query number of produced blocks or current epoch if not specified required: false schema: type: integer format: int32 responses: '200': description: Successful response content: application/json: schema: type: integer format: int32 '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsGenericError' /stakepools/{pool_id}/established_epoch: get: description: Epoch at which stake pool was originally registered parameters: - name: pool_id in: path description: id of the pool to query. Both id and bech32 formats are supported required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: type: integer format: int32 '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsGenericError' /stakepools/{pool_id}/live_stake: get: description: live stake in lovelaces parameters: - name: pool_id in: path description: id of the pool to query. Both id and bech32 formats are supported required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: type: integer format: int64 '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsGenericError' /transactions/history: post: requestBody: content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsTransactionHistoryRequest' required: true responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsTransaction' /wallet_balances/{staking_address}: get: parameters: - name: staking_address in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsWalletBalance' components: schemas: IoGimbalabsHilltopApiV0ModelsNativeAssetDetailsRequest: type: object required: - policy_id properties: policy_id: type: string asset_names: type: array items: type: string IoGimbalabsHilltopApiV0ModelsWalletBalance: type: object required: - balance properties: balance: type: integer format: int64 IoGimbalabsHilltopApiV0ModelsReward: type: object required: - staking_address - epoch - amount - pool_id properties: staking_address: type: string epoch: type: integer format: int32 amount: type: integer format: int64 pool_id: type: string IoGimbalabsHilltopApiV0ModelsNativeAssetId: type: object required: - policy_id - asset_name - block_number - block_time - fingerprint properties: policy_id: type: string asset_name: type: string block_number: type: integer format: int64 block_time: type: string format: date-time fingerprint: type: string IoGimbalabsHilltopApiV0ModelsNftMetadataImgArray: type: object properties: name: type: string image: type: array items: type: string mediaType: type: string files: type: array items: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsNftMetadataFile' IoGimbalabsHilltopApiV0ModelsEpoch: type: object required: - out_sum - fees - tx_count - blk_count - number - start_time - end_time properties: out_sum: type: integer format: int64 fees: type: integer format: int64 tx_count: type: integer format: int32 blk_count: type: integer format: int32 number: type: integer format: int32 start_time: type: string format: date-time end_time: type: string format: date-time IoGimbalabsHilltopApiV0ModelsSigma: type: object required: - sigma - epoch - total_staked - active_stake - nonce - d properties: sigma: type: number format: double epoch: type: integer format: int32 total_staked: type: integer format: int64 active_stake: type: integer format: int64 nonce: type: string d: type: number format: double IoGimbalabsHilltopApiV0ModelsAddressStakeAmount: type: object required: - stake_address - amount_in_lovelaces properties: stake_address: description: stake1... type: string amount_in_lovelaces: type: integer format: int64 IoGimbalabsHilltopApiV0ModelsNftMetadataNoFiles: type: object properties: name: type: string image: type: string mediaType: type: string IoGimbalabsHilltopApiV0ModelsNativeAsset: type: object required: - transaction_id - policy_id - token_name - metadata - block_number - epoch_slot_number - epoch_number - quantity properties: transaction_id: type: string policy_id: type: string token_name: type: string metadata: type: object additionalProperties: true block_number: type: integer format: int64 epoch_slot_number: type: integer format: int64 epoch_number: type: integer format: int64 invalid_before: type: integer format: int64 invalid_hereafter: type: integer format: int64 quantity: type: integer format: int64 IoGimbalabsHilltopApiV0ModelsNftMetadataFilesAsObject: type: object properties: name: type: string image: type: string mediaType: type: string files: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsNftMetadataFile' IoGimbalabsHilltopApiV0ModelsPoolUpdate: type: object required: - epoch_number - block_number - tx_hash - pool_bech32_id - certificate_index - vrf_key_hash - pledge - reward_address - active_epoch_number - margin - fixed_cost properties: epoch_number: type: integer format: int32 block_number: type: integer format: int64 tx_hash: type: string pool_ticker_name: type: string pool_bech32_id: type: string certificate_index: type: integer format: int32 vrf_key_hash: type: string pledge: type: integer format: int64 reward_address: type: string active_epoch_number: type: integer format: int64 margin: type: number format: double fixed_cost: type: integer format: int64 IoGimbalabsHilltopApiV0ModelsNftDetails: type: object required: - policy_id - asset_name_raw - metadata - minted_at - minted_at_block - minting_tx_hash - amount - fingerprint properties: policy_id: type: string asset_name_raw: type: string asset_name: type: string metadata: type: object additionalProperties: true minted_at: type: string format: date-time minted_at_block: type: integer format: int64 minting_tx_hash: type: string amount: type: integer format: int64 fingerprint: type: string IoGimbalabsHilltopApiV0ModelsNativeAssetDetails: type: object required: - policy_id - asset_name - metadata - minted_at - last_minted_at - first_minting_tx_block - last_minting_tx_block - minting_tx_hash - circulating_supply - fingerprint properties: policy_id: type: string asset_name: type: string metadata: type: object additionalProperties: true minted_at: type: string format: date-time last_minted_at: type: string format: date-time first_minting_tx_block: type: integer format: int64 last_minting_tx_block: type: integer format: int64 minting_tx_hash: type: string circulating_supply: type: integer format: int64 fingerprint: type: string IoGimbalabsHilltopApiV0ModelsNftMetadataFile: type: object properties: name: type: string src: type: string mediaType: type: string IoGimbalabsHilltopApiV0ModelsDayBlock: type: object required: - first - last properties: first: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsBlock' last: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsBlock' IoGimbalabsHilltopApiV0ModelsPoolRetiring: type: object required: - pool_id - certificate_index - epoch_number - block_number - retiring_at_epoch - tx_hash properties: ticker_name: type: string pool_id: type: string certificate_index: type: integer format: int32 epoch_number: type: integer format: int64 block_number: type: integer format: int64 retiring_at_epoch: type: integer format: int64 tx_hash: type: string IoGimbalabsHilltopApiV0ModelsDelegatorsCount: type: object required: - delegators_count_total properties: delegators_count_total: type: integer format: int32 IoGimbalabsHilltopApiV0ModelsBlock: type: object required: - number - epoch_number - slot_number - epoch_slot_number - size - transaction_count - time properties: number: type: integer format: int64 epoch_number: type: integer format: int64 slot_number: type: integer format: int64 epoch_slot_number: type: integer format: int64 size: type: integer format: int64 transaction_count: type: integer format: int64 time: type: string format: date-time IoGimbalabsHilltopApiV0ModelsCnftMetadataV001: type: object required: - policyId - tokens - asset properties: policyId: type: string tokens: type: object additionalProperties: type: string asset: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsCnftMetadataV001Asset' IoGimbalabsHilltopApiV0ModelsStakepoolDelegation: type: object required: - stakepool - epoch properties: stakepool: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsStakepool' epoch: type: integer format: int32 IoGimbalabsHilltopApiV0ModelsActiveStakeAmount: type: object required: - amount_in_lovelaces properties: amount_in_lovelaces: type: integer format: int64 IoGimbalabsHilltopApiV0ModelsStakepool: type: object required: - id - pool_id_bech32 - cost - margin - pledge - active_stake - saturation properties: id: description: the id of the pool example: pool1yr0cv3dtmhcfgqa6yetvmf769ngk89e6tepecmjrmjl2jzcw2lm type: string pool_id_bech32: description: the id in bech32 format of the pool example: 20df8645abddf09403ba2656cda7da2cd163973a5e439c6e43dcbea9 type: string metadata: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsStakepoolMetadata' cost: description: operational costs per epoch in lovelaces type: integer format: int64 margin: description: operator margin, percentage (from 0 to 1) type: number format: double pledge: description: pledge amount, in lovelaces type: integer format: int64 active_stake: description: active stake for current epoch in lovelaces type: integer format: int64 saturation: description: pool saturation as percentage (0 to 1) type: number format: double retiring_at_epoch: description: if defined, is the epoch at which the pool will retire type: integer format: int64 IoGimbalabsHilltopApiV0ModelsNftMetadata: type: object properties: name: type: string image: type: string mediaType: type: string files: type: array items: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsNftMetadataFile' IoGimbalabsHilltopApiV0ModelsHealthcheck: description: Response for the healthcheck's endpoint of the service type: object required: - status properties: status: type: string IoGimbalabsHilltopApiV0ModelsCnftMetadataV001Asset: type: object required: - ipfs properties: assetName: type: string attributes: type: object additionalProperties: true ipfs: type: string mimeType: type: string IoGimbalabsHilltopApiV0ModelsTransaction: type: object required: - hash - block - timestamp properties: hash: type: string block: type: integer format: int64 timestamp: type: string format: date-time IoGimbalabsHilltopApiV0ModelsGenericError: type: object required: - description properties: description: type: string IoGimbalabsHilltopApiV0ModelsTransactionHistoryRequest: type: object required: - addresses properties: addresses: type: array items: type: string IoGimbalabsHilltopApiV0ModelsStakepoolMetadata: description: Stake Pool Offline Metadata type: object required: - name - ticker - homepage - description properties: name: type: string ticker: type: string homepage: type: string description: type: string extended: type: string IoGimbalabsHilltopApiV0ModelsDelegation: type: object required: - staking_address - delegations properties: staking_address: type: string delegations: type: array items: $ref: '#/components/schemas/IoGimbalabsHilltopApiV0ModelsStakepoolDelegation' IoGimbalabsHilltopApiV0EnumsCountry: type: string enum: - IE - UK