openapi: 3.2.0 info: description: This is the Aeternity node API. version: 7.3.0 title: Aeternity node External API termsOfService: https://www.aeternity.com/terms/ contact: url: https://github.com/aeternity/aeternity/issues servers: - url: /v3 tags: - name: External description: External API paths: /accounts/{pubkey}: get: tags: - External operationId: GetAccountByPubkey description: Get an account by public key parameters: - $ref: '#/components/parameters/intAsString' - $ref: '#/components/parameters/accountPubkey' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Account' '400': description: Invalid public key content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Account not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get account by pubkey x-summary-source: derived /accounts/{pubkey}/hash/{hash}: get: tags: - External operationId: GetAccountByPubkeyAndHash description: Get an account by public key after the block indicated by hash. Can be either a micro block or a keyblock hash parameters: - $ref: '#/components/parameters/intAsString' - $ref: '#/components/parameters/accountPubkey' - $ref: '#/components/parameters/blockHash' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Account' '400': description: Invalid public key or invalid hash content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Account not found or hash not available content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get account by pubkey and hash x-summary-source: derived /accounts/{pubkey}/height/{height}: get: tags: - External operationId: GetAccountByPubkeyAndHeight description: Get an account by public key after the opening key block of the generation at height parameters: - $ref: '#/components/parameters/intAsString' - $ref: '#/components/parameters/accountPubkey' - $ref: '#/components/parameters/height' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Account' '400': description: Invalid public key or invalid height content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Account not found or height not available content: application/json: schema: $ref: '#/components/schemas/Error' '410': description: State data at the requested height has been garbage-collected content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get account by pubkey and height x-summary-source: derived /accounts/{pubkey}/next-nonce: get: tags: - External operationId: GetAccountNextNonce description: Get an account's next nonce; This is computed according to whatever is the current account nonce and what transactions are currently present in the transaction pool parameters: - $ref: '#/components/parameters/intAsString' - $ref: '#/components/parameters/accountPubkey' - in: query name: strategy description: 'What strategy to use in order to determine the next nonce: shall it check for continuity or return the largest nonce seen + 1. If you choose strategy max, then the greatest nonce seen in the account or currently in the transaction pool is incremented with 1 and returned. If you choose the strategy continuity, then transactions in the mempool are checked if there are gaps - missing nonces that prevent transactions with greater nonces to get included.' required: false schema: type: string default: max enum: - max - continuity example: max responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/NextNonceResponse' '400': description: Invalid public key content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Account not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get account next nonce x-summary-source: derived /accounts/{pubkey}/transactions/pending: get: tags: - External operationId: GetPendingAccountTransactionsByPubkey description: Get pending account transactions by public key parameters: - $ref: '#/components/parameters/intAsString' - $ref: '#/components/parameters/accountPubkey' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/SignedTxs' '400': description: Invalid public key content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Account not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get pending account transactions by pubkey x-summary-source: derived /auctions/{name}: get: tags: - External operationId: GetAuctionEntryByName description: Get auction entry from naming system parameters: - $ref: '#/components/parameters/intAsString' - in: path name: name description: The name key of the name entry required: true schema: type: string example: dimitar.chain responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/AuctionEntry' '400': description: Invalid name content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Name not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get auction entry by name x-summary-source: derived /channels/{pubkey}: get: tags: - External operationId: GetChannelByPubkey description: Get channel by public key parameters: - $ref: '#/components/parameters/intAsString' - in: path name: pubkey description: The pubkey of the channel required: true schema: type: string example: ch_2tceSwiqxgBcPirX3VYgW3sXgQdJeHjrNWHhLWyfZL7pT4gZF4 responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Channel' '400': description: Invalid public key content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Channel not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get channel by pubkey x-summary-source: derived /contracts/{pubkey}: get: tags: - External operationId: GetContract description: Get a contract by pubkey parameters: - $ref: '#/components/parameters/intAsString' - $ref: '#/components/parameters/contractPubkey' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ContractObject' '400': description: Invalid pubkey content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Contract not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get contract x-summary-source: derived /contracts/{pubkey}/code: get: tags: - External operationId: GetContractCode description: Get contract code by pubkey parameters: - $ref: '#/components/parameters/intAsString' - $ref: '#/components/parameters/contractPubkey' responses: '200': description: Contract code content: application/json: schema: $ref: '#/components/schemas/ByteCode' '400': description: Invalid pubkey content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Contract not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get contract code x-summary-source: derived /contracts/{pubkey}/poi: get: tags: - External operationId: GetContractPoI description: Get a proof of inclusion for a contract parameters: - $ref: '#/components/parameters/intAsString' - $ref: '#/components/parameters/contractPubkey' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/PoI' '400': description: Invalid contract key content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Contract not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get contract po I x-summary-source: derived /currency: get: tags: - External operationId: GetCurrency description: Get the currency metadata of a node parameters: - $ref: '#/components/parameters/intAsString' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Currency' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get currency x-summary-source: derived /dry-run: post: tags: - External operationId: ProtectedDryRunTxs description: Dry-run unsigned transactions on top of a given block. Supports all TXs except GAMetaTx, PayingForTx and OffchainTx. Gas defaults to 1000000 when not set on a call request; total gas per request is capped by a node-configured limit. FATE contract-storage reads are metered at a size-proportional gas cost, so reported gas is an estimate of the on-chain cost, not an exact figure. Reported gas is never below what the same call costs on chain at the currently activated protocol, because each repriced storage register read is floored at that charge. parameters: - $ref: '#/components/parameters/intAsString' requestBody: content: application/json: schema: $ref: '#/components/schemas/DryRunInput' description: transactions required: true responses: '200': description: Dry-run result content: application/json: schema: $ref: '#/components/schemas/DryRunResults' '400': description: Invalid input content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Over the gas limit content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Protected dry run txs x-summary-source: derived /generations/current: get: tags: - External operationId: GetCurrentGeneration description: Get the current generation parameters: - $ref: '#/components/parameters/intAsString' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Generation' '404': description: Generation not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get current generation x-summary-source: derived /generations/hash/{hash}: get: tags: - External operationId: GetGenerationByHash description: Get a generation by hash parameters: - $ref: '#/components/parameters/intAsString' - $ref: '#/components/parameters/keyBlockHash' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Generation' '400': description: Invalid hash content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Generation not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get generation by hash x-summary-source: derived /generations/height/{height}: get: tags: - External operationId: GetGenerationByHeight description: Get a generation by height parameters: - $ref: '#/components/parameters/intAsString' - $ref: '#/components/parameters/height' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Generation' '404': description: Generation not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get generation by height x-summary-source: derived /headers/top: get: tags: - External operationId: GetTopHeader description: Get the top header (either key or micro block) parameters: - $ref: '#/components/parameters/intAsString' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Header' '404': description: Block not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get top header x-summary-source: derived /hyperchain/pin-tx: get: tags: - External operationId: GetPinningTx description: Get the pinning transaction for the current epoch. Returns both the individual parameters as well as the parent chain type (aeternity, btc etc.), network id and a packaged 80 byte readymade payload for that chain type. parameters: [] responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/PinningTx' '404': description: Cannot find pinning data for some reason, e.g. epoch not started content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get pinning tx x-summary-source: derived /hyperchain/contracts: get: tags: - External operationId: GetHyperchainContractPubkeys description: Get the pubkeys for the configured hyperchain contracts for staking, election and rewards parameters: [] responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/HCContractPubkeys' '404': description: Cannot find the contract pubkeys for some reason, e.g. HC consensus not started, or misconfigured content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get hyperchain contract pubkeys x-summary-source: derived /key-blocks/current: get: tags: - External operationId: GetCurrentKeyBlock description: Get the current key block parameters: - $ref: '#/components/parameters/intAsString' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/KeyBlock' '404': description: Block not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get current key block x-summary-source: derived /key-blocks/current/hash: get: tags: - External operationId: GetCurrentKeyBlockHash description: Get the hash of the current key block parameters: - $ref: '#/components/parameters/intAsString' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/HashResponse' '404': description: Block not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get current key block hash x-summary-source: derived /key-blocks/current/height: get: tags: - External operationId: GetCurrentKeyBlockHeight description: Get the height of the current key block parameters: - $ref: '#/components/parameters/intAsString' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/HeightResponse' '404': description: Block not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get current key block height x-summary-source: derived /key-blocks/hash/{hash}: get: tags: - External operationId: GetKeyBlockByHash description: Get a key block by hash parameters: - $ref: '#/components/parameters/intAsString' - $ref: '#/components/parameters/keyBlockHash' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/KeyBlock' '400': description: Invalid hash content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Block not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get key block by hash x-summary-source: derived /key-blocks/height/{height}: get: tags: - External operationId: GetKeyBlockByHeight description: Get a key block by height parameters: - $ref: '#/components/parameters/intAsString' - $ref: '#/components/parameters/height' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/KeyBlock' '404': description: Block not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get key block by height x-summary-source: derived /key-blocks/pending: get: tags: - External operationId: GetPendingKeyBlock description: Get the pending key block parameters: - $ref: '#/components/parameters/intAsString' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/KeyBlock' '400': description: Beneficiary not configured content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Block not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get pending key block x-summary-source: derived /micro-blocks/hash/{hash}/header: get: tags: - External operationId: GetMicroBlockHeaderByHash description: Get a micro block header by hash parameters: - $ref: '#/components/parameters/intAsString' - $ref: '#/components/parameters/microBlockHash' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/MicroBlockHeader' '400': description: Invalid hash content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Block not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get micro block header by hash x-summary-source: derived /micro-blocks/hash/{hash}/transactions: get: tags: - External operationId: GetMicroBlockTransactionsByHash parameters: - $ref: '#/components/parameters/intAsString' - $ref: '#/components/parameters/microBlockHash' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/SignedTxs' '400': description: Invalid hash content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Block not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get micro block transactions by hash x-summary-source: derived /micro-blocks/hash/{hash}/transactions/count: get: tags: - External operationId: GetMicroBlockTransactionsCountByHash description: Get micro block transaction count by hash parameters: - $ref: '#/components/parameters/intAsString' - $ref: '#/components/parameters/microBlockHash' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/CountResponse' '400': description: Invalid hash content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Block not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get micro block transactions count by hash x-summary-source: derived /micro-blocks/hash/{hash}/transactions/index/{index}: get: tags: - External operationId: GetMicroBlockTransactionByHashAndIndex description: Get a micro block transaction by hash and index parameters: - $ref: '#/components/parameters/intAsString' - $ref: '#/components/parameters/microBlockHash' - in: path name: index description: The index of the transaction in a block required: true schema: type: integer minimum: 1 example: 1 responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/SignedTx' '400': description: Invalid hash or index content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Block not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get micro block transaction by hash and index x-summary-source: derived /names/{name}: get: tags: - External operationId: GetNameEntryByName description: Get name entry from naming system parameters: - $ref: '#/components/parameters/intAsString' - in: path name: name description: The name key of the name entry required: true schema: type: string example: dimitar.chain responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/NameEntry' '400': description: Invalid name content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Name not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get name entry by name x-summary-source: derived /names/hash/{name_hash}: get: tags: - External operationId: GetNameEntryByNameHash description: Get name entry from naming system parameters: - $ref: '#/components/parameters/intAsString' - in: path name: name_hash description: The name hash of the name entry required: true schema: type: string example: nm_1G1GgdPsPCzSvEDSVAeuiW7tKdmTXStb3N2wXviyPfMgLME5 responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/NameEntry' '400': description: Invalid name content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Name not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get name entry by name hash x-summary-source: derived /oracles/{pubkey}: get: tags: - External operationId: GetOracleByPubkey description: Get an oracle by public key parameters: - $ref: '#/components/parameters/intAsString' - $ref: '#/components/parameters/oraclePubkey' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/RegisteredOracle' '400': description: Invalid public key content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Oracle not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get oracle by pubkey x-summary-source: derived /oracles/{pubkey}/queries: get: tags: - External operationId: GetOracleQueriesByPubkey description: Get oracle queries by public key parameters: - $ref: '#/components/parameters/intAsString' - $ref: '#/components/parameters/oraclePubkey' - in: query name: from description: Last query id in previous page required: false schema: type: string example: oq_q3UrSagF6JfgvAwMiLa6yyEoerx6tQC87m5X8W98NrdDArNZH - in: query name: limit description: Max number of oracle queries required: false schema: type: integer default: 20 minimum: 1 maximum: 1000 example: 1 - in: query name: type description: 'The type of a query: open, closed or all' required: false schema: type: string default: all enum: - open - closed - all example: open responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/OracleQueries' '400': description: Invalid public key content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Oracle not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get oracle queries by pubkey x-summary-source: derived /oracles/{pubkey}/queries/{query-id}: get: tags: - External operationId: GetOracleQueryByPubkeyAndQueryId description: Get an oracle query by public key and query ID parameters: - $ref: '#/components/parameters/intAsString' - $ref: '#/components/parameters/oraclePubkey' - in: path name: query-id description: The ID of the query required: true schema: type: string example: oq_q3UrSagF6JfgvAwMiLa6yyEoerx6tQC87m5X8W98NrdDArNZH responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/OracleQuery' '400': description: Invalid public key or query ID content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Oracle query not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get oracle query by pubkey and query id x-summary-source: derived /peers/pubkey: get: tags: - External operationId: GetPeerPubkey description: Get peer public key parameters: - $ref: '#/components/parameters/intAsString' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/PeerPubKey' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get peer pubkey x-summary-source: derived /recent-gas-prices: get: tags: - External operationId: GetRecentGasPrices description: Get minimum gas prices in recent blocks parameters: - $ref: '#/components/parameters/intAsString' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/GasPrices' '400': description: Not enough/Invalid data for statistics content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get recent gas prices x-summary-source: derived /node-settings: get: tags: - External operationId: GetNodeSettings description: 'Get this node''s local policy settings. These are not consensus rules: they are operator configuration, they may differ between nodes, and an operator can change them at runtime. min_miner_gas_price is a decimal string; the other values are JSON numbers, or strings when int-as-string=true.' parameters: - $ref: '#/components/parameters/intAsString' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/NodeSettings' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get node settings x-summary-source: derived /protocol-parameters: get: tags: - External operationId: GetProtocolParameters description: 'Get the consensus protocol parameters needed to build valid transactions. Covers the protocol effective at the current top block and any later protocol whose fork height has not been reached yet; a community fork under signalling is reported only once it has activated, since until then it may still fail to. See /node-settings for this node''s local policy. Aettos amounts (minimum_gas_price, name_claim_fees, name_claim_locked_fee) are always decimal strings, never JSON numbers: the largest name fee is about 2^69 and would lose precision in an IEEE-754 client. Gas, key block heights, counts and version numbers are JSON numbers; pass int-as-string=true to receive those as strings too.' parameters: - $ref: '#/components/parameters/intAsString' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ProtocolParameters' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get protocol parameters x-summary-source: derived /status: get: tags: - External operationId: GetStatus description: Get the status of a node parameters: - $ref: '#/components/parameters/intAsString' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Status' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get status x-summary-source: derived /status/chain-ends: get: tags: - External operationId: GetChainEnds description: Get oldest keyblock hashes counting from genesis including orphans parameters: - $ref: '#/components/parameters/intAsString' responses: '200': description: Successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/EncodedHash' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get chain ends x-summary-source: derived /sync-status: get: tags: - External operationId: GetSyncStatus description: Get the sync status of a node responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/SyncStatus' '404': description: Node not syncing content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get sync status x-summary-source: derived /transactions: post: tags: - External operationId: PostTransaction description: Post a new transaction parameters: - $ref: '#/components/parameters/intAsString' requestBody: content: application/json: schema: $ref: '#/components/schemas/EncodedTx' description: The new transaction required: true responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/PostTxResponse' '400': description: Invalid transaction content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Post transaction x-summary-source: derived /transactions/{hash}: get: tags: - External operationId: GetTransactionByHash description: Get a transaction by hash parameters: - $ref: '#/components/parameters/intAsString' - $ref: '#/components/parameters/txHash' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/SignedTx' '400': description: Invalid hash content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Transaction not found content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get transaction by hash x-summary-source: derived /transactions/{hash}/info: get: tags: - External operationId: GetTransactionInfoByHash parameters: - $ref: '#/components/parameters/intAsString' - $ref: '#/components/parameters/txHash' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/TxInfoObject' '400': description: Invalid hash content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Transaction not found content: application/json: schema: $ref: '#/components/schemas/Error' '410': description: State data at the requested height has been garbage-collected content: application/json: schema: $ref: '#/components/schemas/Error' '503': $ref: '#/components/responses/ServiceUnavailable' summary: Get transaction info by hash x-summary-source: derived components: schemas: Header: anyOf: - $ref: '#/components/schemas/KeyBlock' - $ref: '#/components/schemas/MicroBlockHeader' SignedTxs: type: object properties: transactions: type: array items: $ref: '#/components/schemas/SignedTx' ProtocolConsensusParameters: description: Consensus parameters of one protocol version allOf: - $ref: '#/components/schemas/Protocol' - type: object properties: minimum_gas_price: description: Consensus minimum gas price (aettos per gas) as a decimal string; the minimum transaction fee is the transaction's fee gas multiplied by this type: string gas_per_byte: description: Gas per serialized transaction byte counted into the minimum fee oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string store_byte_gas: description: Gas per byte written to a contract store oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string tx_base_gas: description: 'Base fee gas by transaction type (transactions not executing contract code). Listed for every protocol regardless of when the type was introduced: an entry gives what the fee gas would be, not whether that transaction was accepted at that protocol.' type: object additionalProperties: oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string contract_tx_base_gas: description: Base fee gas of contract-executing transaction types, per ABI version. Listed on the same basis as tx_base_gas; allowed_contract_versions is what decides acceptance. type: array items: $ref: '#/components/schemas/ContractTxBaseGas' state_gas_per_block: description: State rent gas fraction per key block by transaction type; state gas = ceil(ttl_key_blocks * part / whole) type: object additionalProperties: $ref: '#/components/schemas/StateGasPerBlock' name_claim_fees: description: Minimum AENS name fee by name length, as decimal strings; element N (1-based) applies to names of length N and the last element also to longer names. All zeroes when name fees are not enforced at this protocol. Length is the label after IDNA/UTS46 conversion to ASCII, excluding the registrar - not the character count. type: array minItems: 31 maxItems: 31 items: type: string name_auction_timeouts: description: AENS auction bid timeout and extension in key blocks by name length; a zero timeout means no auction type: array items: $ref: '#/components/schemas/NameAuctionTimeout' name_claim_bid_increment: description: Minimum percentage a new AENS auction bid must exceed the previous bid by oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string name_max_length_starting_auction: description: The longest name that triggers an AENS auction, measured as for the name_claim_fees index oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string name_claim_max_expiration: description: Maximum name TTL in key blocks for NameUpdateTx oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string name_registrars: description: Valid AENS name registrars type: array items: type: string name_pointers_max_count: description: Maximum number of pointers in NameUpdateTx; the field is absent when the protocol imposes no limit oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string name_pointer_max_key_size: description: Maximum byte size of a pointer key in NameUpdateTx; the field is absent when the protocol imposes no limit oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string name_preclaim_expiration: description: Number of key blocks after which an AENS preclaim expires oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string name_claim_preclaim_delta: description: Minimum number of key blocks between preclaim and claim oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string name_protection_period: description: Number of key blocks an expired name stays protected before it can be claimed again oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string name_claim_locked_fee: description: Locked fee in aettos, as a decimal string, for a name claim when the name fee is not enforced type: string allowed_contract_versions: description: VM/ABI version combinations valid for ContractCreateTx at this protocol type: array items: $ref: '#/components/schemas/ContractVersion' allowed_oracle_abi_versions: description: ABI versions valid for OracleRegisterTx at this protocol type: array items: oneOf: - type: integer minimum: 0 maximum: 65535 - type: string required: - minimum_gas_price - gas_per_byte - store_byte_gas - tx_base_gas - contract_tx_base_gas - state_gas_per_block - name_claim_fees - name_auction_timeouts - name_claim_bid_increment - name_max_length_starting_auction - name_claim_max_expiration - name_registrars - name_preclaim_expiration - name_claim_preclaim_delta - name_protection_period - name_claim_locked_fee - allowed_contract_versions - allowed_oracle_abi_versions ContractCreateTx: type: object properties: owner_id: $ref: '#/components/schemas/EncodedPubkey' nonce: $ref: '#/components/schemas/UInt64' code: $ref: '#/components/schemas/EncodedContractByteArray' vm_version: $ref: '#/components/schemas/UInt16' abi_version: $ref: '#/components/schemas/UInt16' deposit: $ref: '#/components/schemas/UInt' amount: $ref: '#/components/schemas/UInt' gas: $ref: '#/components/schemas/UInt64' gas_price: $ref: '#/components/schemas/UInt' fee: $ref: '#/components/schemas/UInt' ttl: $ref: '#/components/schemas/UInt64' call_data: $ref: '#/components/schemas/EncodedContractByteArray' required: - owner_id - code - vm_version - abi_version - deposit - amount - gas - gas_price - fee - call_data NameUpdateTx: type: object properties: name_id: $ref: '#/components/schemas/EncodedNameId' name_ttl: $ref: '#/components/schemas/UInt64' pointers: type: array items: $ref: '#/components/schemas/NamePointer' client_ttl: $ref: '#/components/schemas/UInt64' fee: $ref: '#/components/schemas/UInt' ttl: $ref: '#/components/schemas/UInt64' account_id: $ref: '#/components/schemas/EncodedPubkey' nonce: $ref: '#/components/schemas/UInt64' required: - name_id - name_ttl - client_ttl - pointers - fee - account_id PinningTx: type: object properties: epoch: type: integer description: The epoch for which the pin is valid height: type: integer description: the height of the pinned block (usually last block of ) block_hash: $ref: '#/components/schemas/EncodedHash' parent_payload: type: string description: this is the payload to post to the parent chain (standardized). Combines Epoch, Height and Hash. last_leader: description: The last leader in the epoch that could use this pin to collect the reward $ref: '#/components/schemas/EncodedPubkey' parent_type: type: string description: chain type of parent (aeternity, btc, doge eventually supported) parent_network_id: type: string description: the parent node id required: - epoch - height - block_hash - parent_payload - last_leader - parent_type - parent_network_id ContractVersion: type: object properties: vm_version: description: VM version oneOf: - type: integer minimum: 0 maximum: 65535 - type: string abi_version: description: ABI version oneOf: - type: integer minimum: 0 maximum: 65535 - type: string required: - vm_version - abi_version NameTransferTx: type: object properties: name_id: $ref: '#/components/schemas/EncodedNameId' recipient_id: $ref: '#/components/schemas/EncodedPubkey' fee: $ref: '#/components/schemas/UInt' ttl: $ref: '#/components/schemas/UInt64' account_id: $ref: '#/components/schemas/EncodedPubkey' nonce: $ref: '#/components/schemas/UInt64' required: - name_id - recipient_id - fee - account_id AuctionEntry: type: object properties: id: $ref: '#/components/schemas/EncodedNameId' started_at: $ref: '#/components/schemas/UInt64' ends_at: $ref: '#/components/schemas/UInt64' highest_bidder: $ref: '#/components/schemas/EncodedPubkey' highest_bid: $ref: '#/components/schemas/UInt' required: - id - started_at - ends_at - highest_bidder - highest_bid DryRunResult: type: object properties: type: type: string result: type: string reason: type: string call_obj: $ref: '#/components/schemas/ContractCallObject' required: - type - result ChannelSnapshotSoloTx: type: object properties: channel_id: $ref: '#/components/schemas/EncodedPubkey' from_id: $ref: '#/components/schemas/EncodedPubkey' payload: description: Base64Check encoded byte array. Accepted on input as a plain 'ba_'-prefixed byte array (see aehttp_dispatch_int.erl's produce_tx(channel_snapshot_solo_tx, ...)), but returned by the node as a 'tx_'-prefixed transaction (see aesc_snapshot_solo_tx.erl) -- no single prefix pattern covers both. type: string ttl: $ref: '#/components/schemas/UInt64' fee: $ref: '#/components/schemas/UInt' nonce: $ref: '#/components/schemas/UInt64' required: - channel_id - from_id - payload - fee HashResponse: type: object properties: hash: type: string required: - hash UInt64: oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string UInt16: oneOf: - type: integer minimum: 0 maximum: 65535 - type: string CountResponse: type: object properties: count: $ref: '#/components/schemas/UInt32' required: - count Delegates: oneOf: - type: array items: $ref: '#/components/schemas/EncodedPubkey' - type: object properties: initiator: type: array items: $ref: '#/components/schemas/EncodedPubkey' responder: type: array items: $ref: '#/components/schemas/EncodedPubkey' Event: type: object properties: address: $ref: '#/components/schemas/EncodedPubkey' topics: description: Event topics type: array items: $ref: '#/components/schemas/UInt' data: $ref: '#/components/schemas/EncodedContractByteArray' required: - address - topics - data Currency: type: object properties: name: type: string symbol: type: string subunit: type: string subunits_per_unit: $ref: '#/components/schemas/UInt64' fiat_converstion_url: type: string description: Use `fiat_conversion_url` instead deprecated: true fiat_conversion_url: type: string logo: $ref: '#/components/schemas/Image' primary_colour: type: string secondary_colour: type: string network_name: type: string required: - name - symbol - subunit - subunits_per_unit - primary_colour - secondary_colour - network_name Error: type: object properties: reason: type: string error_code: type: string required: - reason ProtocolParameters: type: object properties: network_id: description: Network id prepended to the serialized transaction before signing type: string current_protocol_version: description: Consensus protocol version effective at the current top height oneOf: - type: integer minimum: 0 maximum: 4294967295 - type: string locked_coins_holder_account: description: Account holding locked/burnt coins (e.g. AENS name fees) allOf: - $ref: '#/components/schemas/EncodedPubkey' expected_block_mine_rate: description: Expected key block interval in milliseconds, the proof-of-work difficulty retarget target. A node reports whichever of this and child_block_time governs its consensus, never both. oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string child_block_time: description: Key block interval in milliseconds of a Hyperchains child chain oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string micro_block_cycle: description: Minimum micro block interval in milliseconds, enforced in block validation oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string protocols: description: Consensus parameters of the protocol effective at the current top block, followed by any protocol whose fork height has not been reached yet. type: array minItems: 1 items: $ref: '#/components/schemas/ProtocolConsensusParameters' required: - network_id - current_protocol_version - locked_coins_holder_account - micro_block_cycle - protocols OffChainUpdate: type: object discriminator: propertyName: op properties: op: type: string required: - op GAAttachTx: type: object properties: owner_id: $ref: '#/components/schemas/EncodedPubkey' nonce: $ref: '#/components/schemas/UInt64' code: $ref: '#/components/schemas/EncodedContractByteArray' vm_version: $ref: '#/components/schemas/UInt16' abi_version: $ref: '#/components/schemas/UInt16' gas: $ref: '#/components/schemas/UInt64' gas_price: $ref: '#/components/schemas/UInt' fee: $ref: '#/components/schemas/UInt' ttl: $ref: '#/components/schemas/UInt64' call_data: $ref: '#/components/schemas/EncodedContractByteArray' auth_fun: description: Contract authorization function hash (hex encoded) type: string pattern: ^(0x|0X)?[a-fA-F0-9]+$ required: - owner_id - code - vm_version - abi_version - gas - gas_price - fee - call_data - auth_fun SpendTxInput: type: object properties: recipient_id: $ref: '#/components/schemas/EncodedPubkey' amount: $ref: '#/components/schemas/UInt' fee: $ref: '#/components/schemas/UInt' ttl: $ref: '#/components/schemas/UInt64' sender_id: $ref: '#/components/schemas/EncodedPubkey' nonce: $ref: '#/components/schemas/UInt64' payload: description: Base64Check encoded byte array, or a raw string required: - recipient_id - amount - fee - sender_id - payload ChannelSettleTx: type: object properties: channel_id: $ref: '#/components/schemas/EncodedPubkey' from_id: $ref: '#/components/schemas/EncodedPubkey' initiator_amount_final: $ref: '#/components/schemas/UInt' responder_amount_final: $ref: '#/components/schemas/UInt' ttl: $ref: '#/components/schemas/UInt64' fee: $ref: '#/components/schemas/UInt' nonce: $ref: '#/components/schemas/UInt64' required: - channel_id - from_id - initiator_amount_final - responder_amount_final - fee - nonce PayingForTx: type: object properties: payer_id: $ref: '#/components/schemas/EncodedPubkey' fee: $ref: '#/components/schemas/UInt' nonce: $ref: '#/components/schemas/UInt64' tx: $ref: '#/components/schemas/SignedTx' required: - payer_id - fee - tx UInt32: oneOf: - type: integer minimum: 0 maximum: 4294967295 - type: string TxInfoObject: type: object properties: call_info: $ref: '#/components/schemas/ContractCallObject' ga_info: $ref: '#/components/schemas/GAObject' tx_info: type: string HeightResponse: type: object properties: height: $ref: '#/components/schemas/UInt64' required: - height NameClaimTx: type: object properties: name: type: string name_salt: $ref: '#/components/schemas/UInt' name_fee: $ref: '#/components/schemas/UInt' fee: $ref: '#/components/schemas/UInt' ttl: $ref: '#/components/schemas/UInt64' account_id: $ref: '#/components/schemas/EncodedPubkey' nonce: $ref: '#/components/schemas/UInt64' required: - name - name_salt - fee - account_id Generation: type: object properties: key_block: $ref: '#/components/schemas/KeyBlock' micro_blocks: type: array items: $ref: '#/components/schemas/EncodedPubkey' required: - key_block - micro_blocks TTL: type: object properties: type: type: string enum: - delta - block value: $ref: '#/components/schemas/UInt64' required: - type - value RegisteredOracle: type: object properties: id: $ref: '#/components/schemas/EncodedPubkey' query_format: type: string response_format: type: string query_fee: $ref: '#/components/schemas/UInt' ttl: $ref: '#/components/schemas/UInt64' abi_version: $ref: '#/components/schemas/UInt16' required: - id - query_format - response_format - query_fee - ttl - abi_version Channel: type: object properties: id: $ref: '#/components/schemas/EncodedPubkey' initiator_id: $ref: '#/components/schemas/EncodedPubkey' responder_id: $ref: '#/components/schemas/EncodedPubkey' channel_amount: $ref: '#/components/schemas/UInt' initiator_amount: $ref: '#/components/schemas/UInt' responder_amount: $ref: '#/components/schemas/UInt' channel_reserve: $ref: '#/components/schemas/UInt' delegate_ids: $ref: '#/components/schemas/Delegates' state_hash: $ref: '#/components/schemas/EncodedHash' round: $ref: '#/components/schemas/UInt64' solo_round: $ref: '#/components/schemas/UInt64' lock_period: $ref: '#/components/schemas/UInt64' locked_until: $ref: '#/components/schemas/UInt64' required: - id - initiator_id - responder_id - channel_amount - initiator_amount - responder_amount - channel_reserve - delegate_ids - state_hash - round - solo_round - lock_period - locked_until NameAuctionTimeout: type: object properties: length: description: Name length, measured as for the name_claim_fees index oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string bid_timeout: description: Initial auction timeout in key blocks as enforced by this node; zero means no auction. May be overridden node-locally, in which case it can disagree with bid_extension. oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string bid_extension: description: Auction extension in key blocks after a new bid oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string required: - length - bid_timeout - bid_extension PostTxResponse: type: object properties: tx_hash: $ref: '#/components/schemas/EncodedTxHash' required: - tx_hash ChannelSlashTx: type: object properties: channel_id: $ref: '#/components/schemas/EncodedPubkey' from_id: $ref: '#/components/schemas/EncodedPubkey' payload: description: Base64Check encoded byte array. Accepted on input as a plain 'ba_'-prefixed byte array (see aehttp_dispatch_int.erl's produce_tx(channel_slash_tx, ...)), but returned by the node as a 'tx_'-prefixed transaction (see aesc_slash_tx.erl) -- no single prefix pattern covers both. type: string ttl: $ref: '#/components/schemas/UInt64' fee: $ref: '#/components/schemas/UInt' nonce: $ref: '#/components/schemas/UInt64' poi: $ref: '#/components/schemas/EncodedProofOfInclusion' required: - channel_id - from_id - payload - fee - poi OracleRespondTx: type: object properties: query_id: $ref: '#/components/schemas/EncodedOracleQueryId' response: type: string response_ttl: $ref: '#/components/schemas/RelativeTTL' fee: $ref: '#/components/schemas/UInt' ttl: $ref: '#/components/schemas/UInt64' oracle_id: $ref: '#/components/schemas/EncodedPubkey' nonce: $ref: '#/components/schemas/UInt64' required: - query_id - response - response_ttl - fee - oracle_id ChannelCloseSoloTx: type: object properties: channel_id: $ref: '#/components/schemas/EncodedPubkey' from_id: $ref: '#/components/schemas/EncodedPubkey' payload: description: Base64Check encoded byte array. Accepted on input as a plain 'ba_'-prefixed byte array (see aehttp_dispatch_int.erl's produce_tx(channel_close_solo_tx, ...)), but returned by the node as a 'tx_'-prefixed transaction (see aesc_close_solo_tx.erl) -- no single prefix pattern covers both. type: string ttl: $ref: '#/components/schemas/UInt64' fee: $ref: '#/components/schemas/UInt' nonce: $ref: '#/components/schemas/UInt64' poi: $ref: '#/components/schemas/EncodedProofOfInclusion' required: - channel_id - from_id - payload - fee - poi ContractObject: type: object properties: id: $ref: '#/components/schemas/EncodedPubkey' owner_id: $ref: '#/components/schemas/EncodedPubkey' vm_version: $ref: '#/components/schemas/UInt16' abi_version: $ref: '#/components/schemas/UInt16' active: type: boolean referrer_ids: type: array items: $ref: '#/components/schemas/EncodedPubkey' deposit: $ref: '#/components/schemas/UInt64' required: - id - owner_id - vm_version - abi_version - active - referrer_ids - deposit HCContractPubkeys: type: object properties: staking: $ref: '#/components/schemas/EncodedPubkey' election: $ref: '#/components/schemas/EncodedPubkey' rewards: $ref: '#/components/schemas/EncodedPubkey' required: - staking PeerConnections: type: object properties: inbound: $ref: '#/components/schemas/UInt32' outbound: $ref: '#/components/schemas/UInt32' required: - inbound - outbound EncodedTxByteArray: description: Base64Check encoded transaction type: string example: tx_+E8hAaEB4TK48d23oE5jt/qWR5pUu8UlpTGn8bwM5JISGQMGf7ABoQOvDVCf43V7alNbsUvTarXaCf7rjtWX36YLS4+JTa4jn4YPHaUyOAAAxRZ6Sg== pattern: ^tx_[0-9A-Za-z+/=]+$ Pow: type: array items: $ref: '#/components/schemas/UInt32' minItems: 42 maxItems: 42 DryRunResults: type: object properties: results: type: array description: results items: $ref: '#/components/schemas/DryRunResult' tx_events: type: array description: on-chain tx events items: $ref: '#/components/schemas/TxEvent' required: - results OracleQueries: type: object properties: oracle_queries: type: array items: $ref: '#/components/schemas/OracleQuery' required: - oracle_queries NodeSettings: description: 'This node''s local policy settings. Not consensus rules: they may differ between nodes and an operator can change them at runtime.' type: object properties: min_miner_gas_price: description: Minimum gas price this node's miner accepts (aettos per gas), as a decimal string. Transactions with a lower gas price are valid but not mined by this node. type: string max_auth_fun_gas: description: Maximum gas this node accepts for a generalized account authentication function (GAMetaTx) oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string mempool_tx_ttl: description: Number of key blocks a transaction stays in this node's mempool oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string mempool_nonce_offset: description: Maximum nonce distance from the current account nonce accepted into this node's mempool oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string dry_run_gas_limit: description: Maximum total gas accepted by this node's dry-run endpoint oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string block_gas_limit: description: Maximum total gas this node accepts in a single micro block (upper bound for a single transaction's gas) oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string required: - min_miner_gas_price - max_auth_fun_gas - mempool_tx_ttl - mempool_nonce_offset - dry_run_gas_limit - block_gas_limit KeyBlock: type: object properties: hash: $ref: '#/components/schemas/EncodedHash' height: $ref: '#/components/schemas/UInt64' prev_hash: $ref: '#/components/schemas/EncodedHash' prev_key_hash: $ref: '#/components/schemas/EncodedHash' state_hash: $ref: '#/components/schemas/EncodedHash' miner: $ref: '#/components/schemas/EncodedPubkey' beneficiary: $ref: '#/components/schemas/EncodedPubkey' flags: $ref: '#/components/schemas/EncodedByteArray' target: $ref: '#/components/schemas/UInt32' pow: $ref: '#/components/schemas/Pow' nonce: $ref: '#/components/schemas/UInt64' time: $ref: '#/components/schemas/UInt64' version: $ref: '#/components/schemas/UInt32' info: $ref: '#/components/schemas/EncodedContractByteArray' required: - hash - height - prev_hash - prev_key_hash - state_hash - miner - beneficiary - target - time - version - info NamePointer: type: object properties: key: type: string encoded_key: $ref: '#/components/schemas/EncodedByteArray' id: $ref: '#/components/schemas/EncodedPubkey' required: - key - id GAMetaTx: type: object properties: ga_id: $ref: '#/components/schemas/EncodedPubkey' abi_version: $ref: '#/components/schemas/UInt16' gas: $ref: '#/components/schemas/UInt64' gas_price: $ref: '#/components/schemas/UInt' fee: $ref: '#/components/schemas/UInt' ttl: $ref: '#/components/schemas/UInt64' auth_data: $ref: '#/components/schemas/EncodedContractByteArray' tx: $ref: '#/components/schemas/SignedTx' required: - ga_id - abi_version - gas - gas_price - fee - auth_data - tx TxBlockHeight: oneOf: - type: integer minimum: -1 maximum: 18446744073709552000 - type: string ChannelSetDelegatesTx: type: object properties: channel_id: $ref: '#/components/schemas/EncodedPubkey' from_id: $ref: '#/components/schemas/EncodedPubkey' initiator_delegate_ids: type: array items: $ref: '#/components/schemas/EncodedPubkey' responder_delegate_ids: type: array items: $ref: '#/components/schemas/EncodedPubkey' state_hash: $ref: '#/components/schemas/EncodedPubkey' round: $ref: '#/components/schemas/UInt64' payload: description: Base64Check encoded byte array. Accepted on input as a plain 'ba_'-prefixed byte array (see aehttp_dispatch_int.erl's produce_tx(channel_set_delegates_tx, ...)), but returned by the node as a 'tx_'-prefixed transaction (see aesc_set_delegates_tx.erl) -- no single prefix pattern covers both. type: string ttl: $ref: '#/components/schemas/UInt64' fee: $ref: '#/components/schemas/UInt' nonce: $ref: '#/components/schemas/UInt64' required: - channel_id - from_id - initiator_delegate_ids - responder_delegate_ids - state_hash - round - payload - fee NameEntry: type: object properties: id: $ref: '#/components/schemas/EncodedNameId' owner: $ref: '#/components/schemas/EncodedPubkey' ttl: $ref: '#/components/schemas/UInt64' pointers: type: array items: allOf: - $ref: '#/components/schemas/NamePointer' - required: - encoded_key required: - id - ttl - pointers DryRunAccount: type: object properties: pub_key: $ref: '#/components/schemas/EncodedPubkey' amount: $ref: '#/components/schemas/UInt' required: - pub_key - amount ContractCallTx: type: object properties: caller_id: $ref: '#/components/schemas/EncodedPubkey' nonce: $ref: '#/components/schemas/UInt64' contract_id: $ref: '#/components/schemas/EncodedPubkey' abi_version: $ref: '#/components/schemas/UInt16' fee: $ref: '#/components/schemas/UInt' ttl: $ref: '#/components/schemas/UInt64' amount: $ref: '#/components/schemas/UInt' gas: $ref: '#/components/schemas/UInt64' gas_price: $ref: '#/components/schemas/UInt' call_data: $ref: '#/components/schemas/EncodedContractByteArray' required: - caller_id - contract_id - abi_version - fee - amount - gas - gas_price - call_data DryRunInputItem: type: object properties: tx: $ref: '#/components/schemas/EncodedTxByteArray' tx_hash: $ref: '#/components/schemas/EncodedTxHash' call_req: $ref: '#/components/schemas/DryRunCallReq' EncodedStateTrees: description: Base64Check encoded state trees type: string pattern: ^ss_[0-9A-Za-z+/=]+$ SignedTx: type: object properties: tx: $ref: '#/components/schemas/Tx' block_height: $ref: '#/components/schemas/TxBlockHeight' block_hash: $ref: '#/components/schemas/EncodedHash' hash: $ref: '#/components/schemas/EncodedTxHash' encoded_tx: $ref: '#/components/schemas/EncodedTxByteArray' signatures: description: At least one signature is required unless for Generalized Account Meta transactions type: array minItems: 0 items: $ref: '#/components/schemas/EncodedSignature' required: - tx ContractTxBaseGas: type: object properties: tx_type: description: Transaction type type: string abi_version: description: ABI version this base gas applies to oneOf: - type: integer minimum: 0 maximum: 65535 - type: string tx_base_gas: description: Base fee gas of this transaction type with this ABI version oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string required: - tx_type - abi_version - tx_base_gas RelativeTTL: type: object properties: type: type: string enum: - delta value: $ref: '#/components/schemas/UInt64' required: - type - value ChannelWithdrawTx: type: object properties: channel_id: $ref: '#/components/schemas/EncodedPubkey' to_id: $ref: '#/components/schemas/EncodedPubkey' amount: $ref: '#/components/schemas/UInt' ttl: $ref: '#/components/schemas/UInt64' fee: $ref: '#/components/schemas/UInt' nonce: $ref: '#/components/schemas/UInt64' state_hash: $ref: '#/components/schemas/EncodedHash' round: $ref: '#/components/schemas/UInt64' required: - channel_id - to_id - amount - fee - nonce - state_hash - round UInt: oneOf: - type: integer minimum: 0 - type: string EncodedSignature: description: Base58Check encoded signature type: string example: sg_8hhU15cVMbukFj4FbdrFwwYnbzXYPnstu9PDnWZGbfQNpeHcB6tK1F3wvG1MPYySARgDRJYUh3YPJD3HctFwg6Y4rUGSR pattern: ^sg_\w+$ ContractCallObject: type: object properties: caller_id: $ref: '#/components/schemas/EncodedPubkey' caller_nonce: $ref: '#/components/schemas/UInt64' height: $ref: '#/components/schemas/UInt64' contract_id: $ref: '#/components/schemas/EncodedPubkey' gas_price: $ref: '#/components/schemas/UInt' gas_used: $ref: '#/components/schemas/UInt64' log: type: array items: $ref: '#/components/schemas/Event' return_value: $ref: '#/components/schemas/EncodedContractByteArray' return_type: description: The status of the call 'ok | error | revert'. type: string enum: - ok - error - revert required: - caller_id - caller_nonce - height - contract_id - gas_price - gas_used - log - return_value - return_type NextNonceResponse: type: object properties: next_nonce: $ref: '#/components/schemas/UInt64' required: - next_nonce OracleRegisterTx: type: object properties: query_format: type: string response_format: type: string query_fee: $ref: '#/components/schemas/UInt' oracle_ttl: $ref: '#/components/schemas/TTL' account_id: $ref: '#/components/schemas/EncodedPubkey' nonce: $ref: '#/components/schemas/UInt64' fee: $ref: '#/components/schemas/UInt' ttl: $ref: '#/components/schemas/UInt64' abi_version: $ref: '#/components/schemas/UInt16' required: - query_format - response_format - query_fee - fee - oracle_ttl - account_id ChannelForceProgressTx: type: object properties: channel_id: $ref: '#/components/schemas/EncodedPubkey' from_id: $ref: '#/components/schemas/EncodedPubkey' payload: $ref: '#/components/schemas/EncodedTxByteArray' round: $ref: '#/components/schemas/UInt64' update: $ref: '#/components/schemas/OffChainUpdate' state_hash: $ref: '#/components/schemas/EncodedHash' ttl: $ref: '#/components/schemas/UInt64' fee: $ref: '#/components/schemas/UInt' nonce: $ref: '#/components/schemas/UInt64' offchain_trees: $ref: '#/components/schemas/EncodedStateTrees' required: - channel_id - from_id - payload - round - update - state_hash - fee TxEvent: type: object MicroBlockHeader: type: object properties: hash: $ref: '#/components/schemas/EncodedHash' height: $ref: '#/components/schemas/UInt64' pof_hash: description: \"no_fraud\" or Base58Check encoded Proof of Fraud hash type: string pattern: ^(no_fraud|bf_\w+)$ example: no_fraud prev_hash: $ref: '#/components/schemas/EncodedHash' prev_key_hash: $ref: '#/components/schemas/EncodedHash' state_hash: $ref: '#/components/schemas/EncodedHash' txs_hash: $ref: '#/components/schemas/EncodedHash' signature: $ref: '#/components/schemas/EncodedSignature' time: $ref: '#/components/schemas/UInt64' version: $ref: '#/components/schemas/UInt32' flags: $ref: '#/components/schemas/EncodedByteArray' required: - hash - height - pof_hash - prev_hash - prev_key_hash - state_hash - txs_hash - signature - time - version Account: type: object properties: id: $ref: '#/components/schemas/EncodedPubkey' balance: $ref: '#/components/schemas/UInt' nonce: $ref: '#/components/schemas/UInt64' payable: description: Payable type: boolean kind: type: string enum: - basic - generalized contract_id: $ref: '#/components/schemas/EncodedPubkey' auth_fun: description: Name of authorization function for generalized account type: string required: - id - balance - nonce NameRevokeTx: type: object properties: name_id: $ref: '#/components/schemas/EncodedNameId' fee: $ref: '#/components/schemas/UInt' ttl: $ref: '#/components/schemas/UInt64' account_id: $ref: '#/components/schemas/EncodedPubkey' nonce: $ref: '#/components/schemas/UInt64' required: - name_id - fee - account_id EncodedByteArray: description: Base64Check encoded byte array type: string example: ba_AAAAAfy4hFE= pattern: ^ba_[0-9A-Za-z+/=]+$ ChannelDepositTx: type: object properties: channel_id: $ref: '#/components/schemas/EncodedPubkey' from_id: $ref: '#/components/schemas/EncodedPubkey' amount: $ref: '#/components/schemas/UInt' ttl: $ref: '#/components/schemas/UInt64' fee: $ref: '#/components/schemas/UInt' nonce: $ref: '#/components/schemas/UInt64' state_hash: $ref: '#/components/schemas/EncodedHash' round: $ref: '#/components/schemas/UInt64' required: - channel_id - from_id - amount - fee - nonce - state_hash - round ChannelCreateTx: type: object properties: initiator_id: $ref: '#/components/schemas/EncodedPubkey' initiator_amount: $ref: '#/components/schemas/UInt' responder_id: $ref: '#/components/schemas/EncodedPubkey' responder_amount: $ref: '#/components/schemas/UInt' channel_reserve: $ref: '#/components/schemas/UInt' lock_period: $ref: '#/components/schemas/UInt64' ttl: $ref: '#/components/schemas/UInt64' fee: $ref: '#/components/schemas/UInt' nonce: $ref: '#/components/schemas/UInt64' state_hash: $ref: '#/components/schemas/EncodedHash' delegate_ids: $ref: '#/components/schemas/Delegates' required: - initiator_id - initiator_amount - responder_id - responder_amount - channel_reserve - lock_period - fee - state_hash Image: type: object properties: type: type: string data: type: string EncodedContractByteArray: description: Base64Check encoded contract byte array type: string example: cb_AAAAAfy4hFE= pattern: ^cb_[0-9A-Za-z+/=]+$ Status: type: object properties: genesis_key_block_hash: $ref: '#/components/schemas/EncodedHash' solutions: $ref: '#/components/schemas/UInt64' difficulty: $ref: '#/components/schemas/UInt64' hashrate: $ref: '#/components/schemas/UInt64' syncing: type: boolean sync_progress: type: number format: float minimum: 0 maximum: 100 uptime: type: string listening: type: boolean protocols: type: array items: $ref: '#/components/schemas/Protocol' node_version: type: string node_revision: type: string peer_count: $ref: '#/components/schemas/UInt32' peer_connections: $ref: '#/components/schemas/PeerConnections' pending_transactions_count: $ref: '#/components/schemas/UInt32' network_id: type: string peer_pubkey: $ref: '#/components/schemas/EncodedPubkey' top_key_block_hash: $ref: '#/components/schemas/EncodedHash' top_block_height: $ref: '#/components/schemas/UInt64' required: - genesis_key_block_hash - solutions - difficulty - hashrate - syncing - uptime - listening - protocols - node_version - node_revision - peer_count - peer_connections - pending_transactions_count - network_id - peer_pubkey - top_key_block_hash - top_block_height EncodedTxHash: description: Base58Check encoded transaction hash type: string example: th_2Zfo2ALfRkKQxEaUj3HhcUGyMrTqYpDMgr2u15fPanYD1d55kz pattern: ^th_\w+$ SpendTx: allOf: - $ref: '#/components/schemas/SpendTxInput' - required: - nonce OracleExtendTx: type: object properties: fee: $ref: '#/components/schemas/UInt' oracle_ttl: $ref: '#/components/schemas/RelativeTTL' oracle_id: $ref: '#/components/schemas/EncodedPubkey' nonce: $ref: '#/components/schemas/UInt64' ttl: $ref: '#/components/schemas/UInt64' required: - fee - oracle_ttl - oracle_id EncodedProofOfInclusion: description: Base64Check encoded proof of inclusion type: string pattern: ^pi_[0-9A-Za-z+/=]+$ EncodedPubkey: description: Base58Check encoded tagged pubkey type: string DryRunCallContext: type: object properties: tx: $ref: '#/components/schemas/EncodedTxByteArray' tx_hash: $ref: '#/components/schemas/EncodedTxHash' stateful: description: This call will have effects on the next call in this dry-run (or not) type: boolean EncodedNameId: description: Base58Check encoded AENS name hash type: string example: nm_psy8tRXPzGxh6975H7K6XQcMFVsdrxJMt7YkzMY8oUTevutzw pattern: ^nm_\w+$ EncodedCommitmentId: description: Base58Check encoded AENS commitment type: string example: cm_psy8tRXPzGxh6975H7K6XQcMFVsdrxJMt7YkzMY8oUTevutzw pattern: ^cm_\w+$ OracleQuery: type: object properties: id: $ref: '#/components/schemas/EncodedOracleQueryId' sender_id: $ref: '#/components/schemas/EncodedPubkey' sender_nonce: $ref: '#/components/schemas/UInt64' oracle_id: $ref: '#/components/schemas/EncodedPubkey' query: type: string response: type: string ttl: $ref: '#/components/schemas/UInt64' response_ttl: $ref: '#/components/schemas/TTL' fee: $ref: '#/components/schemas/UInt' required: - id - sender_id - sender_nonce - oracle_id - query - response - ttl - response_ttl - fee PoI: type: object properties: poi: $ref: '#/components/schemas/EncodedProofOfInclusion' required: - poi StateGasPerBlock: type: object properties: part: description: Numerator of the per-key-block state gas fraction oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string whole: description: Denominator of the per-key-block state gas fraction oneOf: - type: integer minimum: 0 maximum: 18446744073709552000 - type: string required: - part - whole EncodedHash: description: Base58Check encoded tagged hash type: string Protocol: type: object properties: version: $ref: '#/components/schemas/UInt32' effective_at_height: $ref: '#/components/schemas/UInt64' required: - version - effective_at_height OracleQueryTx: type: object properties: oracle_id: $ref: '#/components/schemas/EncodedPubkey' query: type: string query_fee: $ref: '#/components/schemas/UInt' query_ttl: $ref: '#/components/schemas/TTL' response_ttl: $ref: '#/components/schemas/RelativeTTL' fee: $ref: '#/components/schemas/UInt' ttl: $ref: '#/components/schemas/UInt64' sender_id: $ref: '#/components/schemas/EncodedPubkey' nonce: $ref: '#/components/schemas/UInt64' required: - oracle_id - query - query_fee - query_ttl - response_ttl - fee - sender_id DryRunInput: type: object properties: top: $ref: '#/components/schemas/EncodedHash' accounts: type: array description: Accounts items: $ref: '#/components/schemas/DryRunAccount' txs: type: array description: Txs items: $ref: '#/components/schemas/DryRunInputItem' tx_events: type: boolean default: false description: Collect and return on-chain tx events that would result from the call required: - txs NamePreclaimTx: type: object properties: commitment_id: $ref: '#/components/schemas/EncodedCommitmentId' fee: $ref: '#/components/schemas/UInt' ttl: $ref: '#/components/schemas/UInt64' account_id: $ref: '#/components/schemas/EncodedPubkey' nonce: $ref: '#/components/schemas/UInt64' required: - commitment_id - fee - account_id SyncStatus: type: object properties: progress: type: number target: $ref: '#/components/schemas/UInt64' speed: type: number estimate: $ref: '#/components/schemas/UInt64' required: - progress - target - speed - estimate PeerPubKey: type: object properties: pubkey: $ref: '#/components/schemas/EncodedPubkey' required: - pubkey GasPrices: type: array items: type: object properties: min_gas_price: description: Minimum gas price in the block range $ref: '#/components/schemas/UInt' utilization: description: Percent of available gas used oneOf: - type: integer minimum: 0 maximum: 100 - type: string minutes: description: Number of minutes from the top $ref: '#/components/schemas/UInt64' required: - min_gas_price - minutes - utilization DryRunCallReq: type: object properties: calldata: $ref: '#/components/schemas/EncodedContractByteArray' contract: $ref: '#/components/schemas/EncodedPubkey' amount: $ref: '#/components/schemas/UInt' gas: $ref: '#/components/schemas/UInt' caller: $ref: '#/components/schemas/EncodedPubkey' nonce: $ref: '#/components/schemas/UInt64' abi_version: $ref: '#/components/schemas/UInt16' context: $ref: '#/components/schemas/DryRunCallContext' required: - calldata - contract EncodedTx: type: object properties: tx: $ref: '#/components/schemas/EncodedTxByteArray' required: - tx GAObject: type: object properties: caller_id: $ref: '#/components/schemas/EncodedPubkey' height: $ref: '#/components/schemas/UInt64' gas_price: $ref: '#/components/schemas/UInt' gas_used: $ref: '#/components/schemas/UInt64' return_value: $ref: '#/components/schemas/EncodedContractByteArray' return_type: description: The status of the call 'ok | error'. type: string enum: - ok - error inner_object: $ref: '#/components/schemas/TxInfoObject' required: - caller_id - height - gas_price - gas_used - return_value - return_type ChannelCloseMutualTx: type: object properties: channel_id: $ref: '#/components/schemas/EncodedPubkey' from_id: $ref: '#/components/schemas/EncodedPubkey' initiator_amount_final: $ref: '#/components/schemas/UInt' responder_amount_final: $ref: '#/components/schemas/UInt' ttl: $ref: '#/components/schemas/UInt64' fee: $ref: '#/components/schemas/UInt64' nonce: $ref: '#/components/schemas/UInt64' required: - channel_id - from_id - initiator_amount_final - responder_amount_final - fee - nonce ByteCode: type: object properties: bytecode: $ref: '#/components/schemas/EncodedContractByteArray' required: - bytecode EncodedOracleQueryId: description: Base58Check encoded oracle query id type: string example: oq_psy8tRXPzGxh6975H7K6XQcMFVsdrxJMt7YkzMY8oUTevutzw pattern: ^oq_\w+$ Tx: allOf: - type: object discriminator: propertyName: type properties: version: $ref: '#/components/schemas/UInt32' type: type: string enum: - SpendTx - ChannelCreateTx - ChannelDepositTx - ChannelWithdrawTx - ChannelForceProgressTx - ChannelCloseMutualTx - ChannelCloseSoloTx - ChannelSlashTx - ChannelSettleTx - ChannelSnapshotSoloTx - ChannelSetDelegatesTx - OracleRegisterTx - OracleExtendTx - OracleQueryTx - OracleRespondTx - NamePreclaimTx - NameClaimTx - NameUpdateTx - NameTransferTx - NameRevokeTx - ContractCreateTx - ContractCallTx - GAAttachTx - GAMetaTx - PayingForTx required: - version - type - anyOf: - $ref: '#/components/schemas/SpendTx' - $ref: '#/components/schemas/ChannelCreateTx' - $ref: '#/components/schemas/ChannelDepositTx' - $ref: '#/components/schemas/ChannelWithdrawTx' - $ref: '#/components/schemas/ChannelForceProgressTx' - $ref: '#/components/schemas/ChannelCloseMutualTx' - $ref: '#/components/schemas/ChannelCloseSoloTx' - $ref: '#/components/schemas/ChannelSlashTx' - $ref: '#/components/schemas/ChannelSettleTx' - $ref: '#/components/schemas/ChannelSnapshotSoloTx' - $ref: '#/components/schemas/ChannelSetDelegatesTx' - $ref: '#/components/schemas/OracleRegisterTx' - $ref: '#/components/schemas/OracleExtendTx' - $ref: '#/components/schemas/OracleQueryTx' - $ref: '#/components/schemas/OracleRespondTx' - $ref: '#/components/schemas/NamePreclaimTx' - $ref: '#/components/schemas/NameClaimTx' - $ref: '#/components/schemas/NameUpdateTx' - $ref: '#/components/schemas/NameTransferTx' - $ref: '#/components/schemas/NameRevokeTx' - $ref: '#/components/schemas/ContractCreateTx' - $ref: '#/components/schemas/ContractCallTx' - $ref: '#/components/schemas/GAAttachTx' - $ref: '#/components/schemas/GAMetaTx' - $ref: '#/components/schemas/PayingForTx' parameters: contractPubkey: in: path name: pubkey description: Contract pubkey to get proof for required: true schema: type: string example: ct_TV5KbBYdjw1ufKWvAtNNjUnagvRmWMMugFzLKzmLASXB5iH1E height: in: path name: height description: The height required: true schema: type: integer minimum: 0 maximum: 18446744073709552000 example: 42 blockHash: in: path name: hash description: The hash of the block - either a keyblock or a microblock required: true schema: type: string example: kh_2ikjGFZGFpE99mDtsgkGFsTCqpPpXZRNRa5Pic989FJLcJStgx txHash: in: path name: hash description: The hash of the transaction required: true schema: type: string example: th_2w75xjDjHEmphsHDSXrThRnPx6hSUiS7hhSRcuytJABZZ2KkdG accountPubkey: in: path name: pubkey description: The public key of the account required: true schema: type: string example: ak_dArxCkAsk1mZB1L9CX3cdz1GDN4hN84L3Q8dMLHN4v8cU85TF microBlockHash: in: path name: hash description: The hash of the micro block required: true schema: type: string example: mh_ZCWcnCG5YF2LhQMTmZ5K5rRmGxatgc5YWxDpGNy2YBAHP6urH oraclePubkey: in: path name: pubkey description: The public key of the oracle required: true schema: type: string example: ok_24jcHLTZQfsou7NvomRJ1hKEnjyNqbYSq2Az7DmyrAyUHPq8uR keyBlockHash: in: path name: hash description: The hash of the key block required: true schema: type: string example: kh_2ikjGFZGFpE99mDtsgkGFsTCqpPpXZRNRa5Pic989FJLcJStgx intAsString: in: query name: int-as-string description: If this flag is set to true, the response will have all integers set as strings required: false schema: type: boolean default: false responses: ServiceUnavailable: description: 'The node is temporarily unable to handle the request: either its request queues are saturated (overload protection) or it has not yet reached a stable mode. Overload protection is applied to every endpoint, so this response can be returned by any operation. The Retry-After header tells the client how long to back off before retrying.' headers: Retry-After: description: Number of seconds to wait before retrying the request schema: type: integer minimum: 0 example: 3 content: application/json: schema: $ref: '#/components/schemas/Error' externalDocs: description: Find out more about Aeternity url: http://www.aeternity.com