.. raw:: html .. raw:: html .. _rpc_changes_june_2018: RPC API changes, pre-Betanet (June 2018) ######################################## This document describes the changes made to RPC services provided by the Tezos node in June 2018. Summary ******* * Usage of GET requests and query-string parameters when possible * Easy access to the protocol-specific part of block headers and of operations * New metadata for block headers (e.g. baker, ...) and for operations (e.g. internal transfers, ...) * Easy access to delegate's data (list of delegating contracts, frozen balance, ...) * Prefixed `/blocks` by `/chains/` for easier testing of protocol updates * Explicit distinction between the listing RPCs and the monitoring RPCs * Homogeneous error handling Detailled changes ***************** Modified RPCs ============= Some RPCs were simply renamed but some has significant changes in the expected arguments or the returned JSON object. See the notes for details. In the follwing table: * `chain_id` is a symbolic chain identifier, e.g. `main` or `test`, or their equivalent Base58-encoded hash, e. g. `NetXzGDuYoAawjv`. * `block_id` is a symbolic block identifier, e.g. `head` of `genesis`, or any Base58-encoded block hash, e.g. `BKicMfwtgtAL28iD2uZk12PpuS6i2pFysC3syVT44nMNLkGb4QA`. It might also be `head~n` or `~n` to denotes the `n`-th predecessor of `head` or ``. * `contract_id` is either a implicit contract identifier, i.e. a Base58-encoded public jye hash `tz1btz2tcu8dTwPrtMpyzh1irGdGkAaSE4bY`, or an originated contract identifier, e.g. `TZ1fyLSGZ7n2QRynStXUf9ihQtH7k4t4vTLe`. * `peer_id` is a cryptographic peer identifier, e.g. `idtpXYaRSBXe6KJU6rk1X9ninWt8Bz`. +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | Old path | Notes | New path | +=========================================================================+==================+==========================================================================+ | | [#blocks_list]_ | GET /chains//blocks | + +------------------+--------------------------------------------------------------------------+ | /blocks | [#blocks_mon]_ | GET /monitor/valid_blocks | + +------------------+--------------------------------------------------------------------------+ | | [#heads_mon]_ | GET /monitor/heads/ | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks/ | [#blocks]_ | GET /chains//blocks/ | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//chain_id | | GET /chains//chain_id | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//complete/ | | GET /chains//blocks//helpers/complete/ | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//fitness | | GET /chains//blocks//header/shell/fitness | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//hash | | GET /chains//blocks//hash | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//level | | GET /chains//blocks//header/shell/level | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//operations | [#operations]_ | GET /chains//blocks//operations | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//preapply | [#preapply]_ | POST /chains//blocks//helpers/preapply/block | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//predecessor | | GET /chains//blocks//header/shell/predecessor | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//predecessors | [#predecessors]_ | GET /chains//blocks | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | | | GET /chains//blocks//metadata/protocol_hash | + /blocks//protocol + [#protocol]_ +--------------------------------------------------------------------------+ | | | GET /chains//blocks//metadata/next_protocol_hash | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/constants | | GET /chains//blocks//context/constants | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/context/contracts | | GET /chains//blocks//context/contracts | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/context/contracts/ | | GET /chains//blocks//context/contracts/ | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/context/level | [#level]_ | GET /chains//blocks//metadata/protocol_data | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/context/next_level | [#next_level]_ | GET /chains//blocks//helpers/current_level | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/context/nonce/ | | GET /chains//blocks//context/nonces/ | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/context/voting_period_kind | [#level]_ | GET /chains//blocks//metadata/protocol_data | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/header | | GET /chains//blocks//header/protocol_data | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/helpers/apply_operation | [#apply_op]_ | POST /chains//blocks//helpers/preapply/operations | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/helpers/forge/operations | | POST /chains//blocks//helpers/forge/operations | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/helpers/forge/protocol_data | | POST /chains//blocks//helpers/forge/protocol_data | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/helpers/hash_data | | POST /chains//blocks//helpers/scripts/hash_data | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/helpers/level/ | [#proto_level]_ | GET /chains//blocks//helpers/current_level | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/helpers/levels/ | [#proto_levels]_ | GET /chains//blocks//helpers/levels_in_current_cycle | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/helpers/minimal_timestamp | [#rights_bake]_ | GET /chains//blocks//helpers/baking_rights | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/helpers/parse/block | | POST /chains//blocks//helpers/parse/block | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/helpers/parse/operations | | POST /chains//blocks//helpers/parse/operations | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/helpers/rights/baking | [#rights_bake]_ | GET /chains//blocks//helpers/baking_rights | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/helpers/rights/baking/delegate/ | [#rights_bake]_ | GET /chains//blocks//helpers/baking_rights | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/helpers/rights/baking/level/ | [#rights_bake]_ | GET /chains//blocks//helpers/baking_rights | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/helpers/rights/endorsement | [#rights_end]_ | GET /chains//blocks//helpers/endorsing_rights | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/helpers/rights/endorsement/delegate/ | [#rights_end]_ | GET /chains//blocks//helpers/endorsing_rights | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/helpers/rights/endorsement/level/ | [#rights_end]_ | GET /chains//blocks//helpers/endorsing_rights | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/helpers/run_code | | POST /chains//blocks//helpers/scripts/run_code | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/helpers/trace_code | | POST /chains//blocks//helpers/scripts/trace_code | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/helpers/typecheck_code | | POST /chains//blocks//helpers/scripts/typecheck_code | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/helpers/typecheck_data | | POST /chains//blocks//helpers/scripts/typecheck_data | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//proto/operations | [#operations]_ | GET /chains//blocks//operations | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//raw_context | | GET /chains//blocks//context/raw | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//test_chain | | GET /chains//blocks//metadata/test_chain_status | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /blocks//timestamp | | GET /chains//blocks//header/shell/timestamp | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /bootstrapped | | GET /monitor/bootstrapped | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /complete/ | | GET /chains/main/blocks/head/helpers/complete/ | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /describe | | GET /describe | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /errors | | GET /errors | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /forge_block_header | | POST /chains/main/blocks/head/helpers/forge/block_header | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /inject_block | | POST /injection/block | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /inject_operation | | POST /injection/operation | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /inject_protocol | | POST /injection/protocol | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /invalid_blocks | | GET /chains//invalid_blocks | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /invalid_blocks/ | | GET /chains//invalid_blocks/ | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /invalid_blocks//unmark | | DELETE /chains//invalid_blocks/ | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /mempool/pending_operations | | GET /chains//mempool/pending_operations | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /p2p/connections | | GET /network/connections | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /p2p/connections/ | | GET /network/connections/ | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /p2p/connections//kick | | DELETE /network/connections/ | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /p2p/connect/ | | PUT /network/points/ | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /p2p/log | | GET /network/log | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /p2p/peers | | GET /network/peers/ | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /p2p/peers/ | | GET /network/peers/ | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /p2p/peers//log | | GET /network/peers//log | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /networks/point | | GET /network/points | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /p2p/points/ | | GET /network/points/ | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /p2p/points//log | | GET /network/points//log | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /p2p/stat | | GET /network/stat | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /p2p/versions | | GET /network/versions | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /protocols | | GET /protocols | + + [#protocols]_ +--------------------------------------------------------------------------+ | | | GET /monitor/protocols | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /protocols/ | | GET /protocols/ | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /workers/block_validator | | GET /workers/block_validator | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /workers/chain_validators | | GET /workers/chain_validators | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /workers/chain_validators/ | | GET /workers/chain_validators/ | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /workers/peer_validators/ | | GET /workers/chain_validators//peers_validators | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /workers/peer_validators// | | GET /workers/chain_validators//peers_validators/ | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /workers/prevalidators | | GET /workers/prevalidators | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ | /workers/prevalidators/ | | GET /workers/prevalidators/ | +-------------------------------------------------------------------------+------------------+--------------------------------------------------------------------------+ .. [#blocks] The return type of `/chain//blocks/` has changed. It now returns more informations: * the protocol-specific part of the block header is now fully parsed, instead of being returned as hex-encoded bytes. This allows for instance direct access to the block priority. * some metadata is also added: the baker, the current cycle, the current voting period, ... * the operations are also fully parsed, in the same way than the previous RPC `/blocks//proto/operations` * some metadata is also added to the operations. For instance, the list of created contracts, the list of internal transfers, the delegate associated to a endorsement, etc. The returned JSON being more detailled than previously, new RPCs for fetching partial information are added: * `/chain//blocks//header` * `/chain//blocks//metadata` * `/chain//blocks//operations//` * `/chain//blocks//operation_hashes//` .. [#operations] Like the operations listed in `/chain//blocks/` [#blocks]_, the protocol-specific part of operations is now fully-parsed, instead of being returned as hex-encoded bytes. The same metadata is added: the list of created contracts, the list of internal transfers, the delegate associated to a endorsement, etc. .. [#blocks_list] The old RPC `/blocks` has been splitted in three: one RPCs for listing heads and blocks, and two RPCs for monitoring new blocks. The new list RPCs only returns the hash of the current head. .. [#blocks_mon] This new RPCs allows to monitor all valid blocks. It only returns the hash of the new blocks. .. [#heads_mon] This new RPCs allows to only monitor the head changes in a given chain. It only returns the hash of the new heads. .. [#level] The detailled level of a block (i.e. with the cycle and voting period details) is now included in the block metadata. .. [#next_level] For the same behaviour, this RPC should be called with the `offset` query parameter: e.g. `/chains/main/blocks/head/helpers/current_level?offset=1`. .. [#preapply] This function now expects a readable JSON object for the block header and the operations, instead of the hex-encoded sequence of bytes it was previously expecting. .. [#apply_op] This function now expects a readable JSON object for the operation instead of the hex-encoded sequence of bytes it was previously expecting. It also accepts to apply a list of operation in sequence instead of a single operations. When the operations apply succesfully, this RPC now returns all the metadata associated to operation (the list of created contracts, the list of internal operations, ...) instead of just "success". .. [#predecessors] For the same behaviour, this RPC should be called with the `length` query parameter: e.g. `/chains/main/blocks?head=&length=12`. .. [#proto_level] Instead of taking a level as parameter, this RPCs now expects the difference between the expected level and the current level. For instance, for querying the level details for the next block: `/chains/main/blocks/head/helpers/current_level?offset=1`. .. [#proto_levels] Instead of taking a cycle as parameter, this RPCs now expects the difference between the expected cycle and the current cycle. For instance, for querying the levels in the previous cycle: `/chains/main/blocks/head/helpers/levels_in_current_cycle?offset=-1`. .. [#protocol] To avoid confusion `protocol_hash` is the hash of protocol used to bake and validate the current block. And `next_protocol_hash` is the hash of the protocol that should be used to bake the next block. The previous RPC `protocol` was returning the `next_protocol_hash`. .. [#protocols] The old RPC `/protocols` has been splitted in two: one RPCs for listing the known economic protocols, and one RPCs for monitoring new economic protocols. In both cases the new RPCs only returns hash of protocols instead of the protocol sources. .. [#rights_bake] All the three RPCs used to query baking rights are now grouped in one RPCs. By default, this RPCs returns the first allowed bakers for the next block, in their priority order and with the time at which they are allowed to bake. Some additional query arguments allow to filter the answer with a given list of delegates, or to query informations for other levels or cycles (in that case the provided timestamp will only be an estimation). .. [#rights_end] All the three RPCs used to query endorsing rights are now grouped in one RPCs. By default, this RPCs returns the list of allowed endorsers for the next block. Some additional query arguments allow to filter the answer with a limited list of delegates, or to query informations for others level or cycles. New RPCs ======== * **GET /chains//blocks//context/delegates** List all registered delegates. * **GET /chains//blocks//context/delegates/** List all information about a given delegate. This includes: * **GET /chains//blocks//context/delegates//balance** The full balance of a delegate: i.e. the balance of its delegate account plus the total amount of frozen deposits/rewards/fees. * **GET /chains//blocks//context/delegates//frozen_balance** The total amount of frozen deposits/rewards/fees. * **GET /chains//blocks//context/delegates//frozen_balance_by_cycle** The details of frozen deposits/rewards/fees indexed by the cycle at the end of which they will be unfrozen. * **GET /chains//blocks//context/delegates//staking_balance** The total amount of tokens the delegate stakes for. This includes the balance of all contracts delegated to , but also the delegate own account and the frozen deposits and fees. This does not include the frozen rewards. * **GET /chains//blocks//context/delegates//delegated_contracts** The list of contracts that are delegated to . * **GET /chains//blocks//context/delegates//delegated_balance** The total balance of all the contracts that delegates to . This excludes the delegate own balance and its frozen balances. * **GET /chains//blocks//context/delegates//deactivated** Tells whether the delegate has been tagged as inactive by the system or not, i.e. a delegate is inactive when she did not baked or endorsed any block in the last 5 cycles. A deactivated delegate won't receive any baking or endorsing rights until she registers itself again as a delegate. No rolls were lost in the process, except if delegating contracts changed their delegate in the meantime of course. * **GET /chains//blocks//context/delegates//grace_period** The cycle by the end of which the delegate will be tagged as deactivated if she did not bake or endorse until then. * **GET /chains//blocks//header** Simple accessor to a block header, or to its shell-specific or version-specific fragments. * **GET /chains//blocks//header/shell** * **GET /chains//blocks//header/protocol_data** * **GET /chains//blocks//metadata** Simple accessor to the metadata associated to a block header. * **GET /chains//blocks//metadata/protocol_data** The version-specific part of the metadata. For the protocol Alpha this includes, for instance, the baker of the block. * **GET /chains//blocks//metadata/protocol_hash** The hash of the protocol used to bake the block. * **GET /chains//blocks//metadata/next_protocol_hash** The hash of the protocol that should be used to bake the next block. * **GET /chains//blocks//operation_hashes** The list of the hash of the operations included in the block. Also direct accessor to the `n-th` hash in the `m-th` validation pass. * **GET /chains//blocks//operation_hashes/** * **GET /chains//blocks//operation_hashes//** * **GET /chains//blocks//operations** The list of the operations included in the block, with their metadata. Also direct accessor to the `n-th` operation in the `m-th` validation pass. * **GET /chains//blocks//operations/** * **GET /chains//blocks//operations//** * **GET /chains//blocks//context/contracts//manager_key** The public key of the contract's manager, if it has been revealed. Consolidated Index ****************** Shell ===== * / * /chains * /chains/ * /chains//blocks (`GET `_) * /chains//blocks/ () * /chains//chain_id (`GET `_) * /chains//invalid_blocks (`GET `_) * /chains//invalid_blocks/ (`GET `_ `DELETE `_) * /chains//mempool (`GET `_) * /describe (`GET `_) * /errors (`GET `_) * /injection * /injection/block (`POST `_) * /injection/operation (`POST `_) * /injection/protocol (`POST `_) * /monitor * /monitor/bootstrapped (`GET `_) * /monitor/heads * /monitor/heads/ (`GET `_) * /monitor/protocols (`GET `_) * /monitor/valid_blocks (`GET `_) * /network * /network/connections (`GET `_) * /network/connections/ (`GET `_ `DELETE `_) * /network/greylist * /network/greylist/clear (`GET `_) * /network/log (`GET `_) * /network/peers (`GET `_) * /network/peers/ (`GET `_) * /network/peers//ban (`GET `_) * /network/peers//banned (`GET `_) * /network/peers//log (`GET `_) * /network/peers//trust (`GET `_) * /network/points (`GET `_) * /network/points/ (`GET `_ `PUT `_) * /network/points//ban (`GET `_) * /network/points//banned (`GET `_) * /network/points//log (`GET `_) * /network/points//trust (`GET `_) * /network/stat (`GET `_) * /network/versions (`GET `_) * /protocols (`GET `_) * /protocols/ (`GET `_) * /workers * /workers/block_validator (`GET `_) * /workers/chain_validators (`GET `_) * /workers/chain_validators/ (`GET `_) * /workers/chain_validators//peers_validators (`GET `_) * /workers/chain_validators//peers_validators/ (`GET `_) * /workers/prevalidators (`GET `_) * /workers/prevalidators/ (`GET `_) Protocol Alpha ============== * ../ (`GET `_) * ..//context * ..//context/constants (`GET `_) * ..//context/constants/block_reward (`GET `_) * ..//context/constants/block_security_deposit (`GET `_) * ..//context/constants/blocks_per_commitment (`GET `_) * ..//context/constants/blocks_per_cycle (`GET `_) * ..//context/constants/blocks_per_roll_snapshot (`GET `_) * ..//context/constants/blocks_per_voting_period (`GET `_) * ..//context/constants/cost_per_byte (`GET `_) * ..//context/constants/endorsement_reward (`GET `_) * ..//context/constants/endorsement_security_deposit (`GET `_) * ..//context/constants/endorsers_per_block (`GET `_) * ..//context/constants/errors (`GET `_) * ..//context/constants/first_free_baking_slot (`GET `_) * ..//context/constants/hard_gas_limits (`GET `_) * ..//context/constants/hard_storage_limits (`GET `_) * ..//context/constants/origination_burn (`GET `_) * ..//context/constants/preserved_cycles (`GET `_) * ..//context/constants/proof_of_work_threshold (`GET `_) * ..//context/constants/seed_nonce_revelation_tip (`GET `_) * ..//context/constants/time_between_slots (`GET `_) * ..//context/contracts (`GET `_) * ..//context/contracts/ (`GET `_) * ..//context/contracts//balance (`GET `_) * ..//context/contracts//counter (`GET `_) * ..//context/contracts//delegatable (`GET `_) * ..//context/contracts//delegate (`GET `_) * ..//context/contracts//manager (`GET `_) * ..//context/contracts//manager_key (`GET `_) * ..//context/contracts//script (`GET `_) * ..//context/contracts//spendable (`GET `_) * ..//context/contracts//storage (`GET `_) * ..//context/delegates (`GET `_) * ..//context/delegates/ (`GET `_) * ..//context/delegates//balance (`GET `_) * ..//context/delegates//deactivated (`GET `_) * ..//context/delegates//delegated_balance (`GET `_) * ..//context/delegates//delegated_contracts (`GET `_) * ..//context/delegates//frozen_balance (`GET `_) * ..//context/delegates//frozen_balance_by_cycle (`GET `_) * ..//context/delegates//grace_period (`GET `_) * ..//context/delegates//staking_balance (`GET `_) * ..//context/nonces * ..//context/nonces/ (`GET `_) * ..//context/raw * ..//context/raw/bytes (`GET `_) * ..//context/raw/json () * ..//hash (`GET `_) * ..//header (`GET `_) * ..//header/protocol_data (`GET `_) * ..//header/shell (`GET `_) * ..//header/shell/context_hash (`GET `_) * ..//header/shell/fitness (`GET `_) * ..//header/shell/level (`GET `_) * ..//header/shell/operations_hash (`GET `_) * ..//header/shell/predecessor (`GET `_) * ..//header/shell/proto_level (`GET `_) * ..//header/shell/timestamp (`GET `_) * ..//header/shell/validation_passes (`GET `_) * ..//helpers * ..//helpers/baking_rights (`GET `_) * ..//helpers/complete * ..//helpers/complete/ (`GET `_) * ..//helpers/current_level (`GET `_) * ..//helpers/endorsing_rights (`GET `_) * ..//helpers/forge * ..//helpers/forge/operations (`POST `_) * ..//helpers/forge/protocol_data (`POST `_) * ..//helpers/forge_block_header (`POST `_) * ..//helpers/levels_in_current_cycle (`GET `_) * ..//helpers/parse * ..//helpers/parse/block (`POST `_) * ..//helpers/parse/operations (`POST `_) * ..//helpers/preapply * ..//helpers/preapply/block (`POST `_) * ..//helpers/preapply/operations (`POST `_) * ..//helpers/scripts * ..//helpers/scripts/hash_data (`POST `_) * ..//helpers/scripts/run_code (`POST `_) * ..//helpers/scripts/trace_code (`POST `_) * ..//helpers/scripts/typecheck_code (`POST `_) * ..//helpers/scripts/typecheck_data (`POST `_) * ..//metadata (`GET `_) * ..//metadata/max_block_header_length (`GET `_) * ..//metadata/max_operation_data_length (`GET `_) * ..//metadata/max_operations_ttl (`GET `_) * ..//metadata/next_protocol_hash (`GET `_) * ..//metadata/operation_list_quota (`GET `_) * ..//metadata/protocol_data (`GET `_) * ..//metadata/protocol_hash (`GET `_) * ..//metadata/test_chain_status (`GET `_) * ..//operation_hashes (`GET `_) * ..//operation_hashes/ (`GET `_) * ..//operation_hashes// (`GET `_) * ..//operations (`GET `_) * ..//operations/ (`GET `_) * ..//operations// (`GET `_) Consolidated descriptions ************************* Shell ===== .. _GET_--chains--chain_id--blocks : **GET /chains//blocks?[length=]&(head=)\*&[min_date=]** .. raw:: html

Lists known heads of the blockchain sorted with decreasing fitness. Optional arguments allows to returns the list of predecessors for known heads or the list of predecessors for a given list of blocks.

Optional query arguments :

  • length = <int> : The requested number of predecessors to returns (per requested head).
  • head = <block_hash> : An empty argument requests blocks from the current heads. A non empty list allow to request specific fragment of the chain.
  • min_date = <date> : When `min_date` is provided, heads with a timestamp before `min_date` are filtered out

    [ [ string
    /* A block identifier (Base58Check-encoded) */ ... ] ... ]
.. _GET_--chains--chain_id--chain_id : **GET /chains//chain_id** .. raw:: html

The chain unique identifier.

    string
    /* Network identifier (Base58Check-encoded) */
.. _GET_--chains--chain_id--invalid_blocks : **GET /chains//invalid_blocks** .. raw:: html

Lists blocks that have been declared invalid along with the errors that led to them being declared invalid.

    [ { "block": string /* A block identifier (Base58Check-encoded) */,
        "level": integer ∈ [-2^31-2, 2^31+2],
        "errors":
          any
          /* The full list of error is available with the global RPC `GET
             errors` */ } ... ]
.. _GET_--chains--chain_id--invalid_blocks--block_hash : **GET /chains//invalid_blocks/** .. raw:: html

The errors that appears during the block (in)validation.

    { "block": string /* A block identifier (Base58Check-encoded) */,
      "level": integer ∈ [-2^31-2, 2^31+2],
      "errors":
        any
        /* The full list of error is available with the global RPC `GET errors` */ }
.. _DELETE_--chains--chain_id--invalid_blocks--block_hash : **DELETE /chains//invalid_blocks/** .. raw:: html

Remove an invalid block for the tezos storage

    {  }
.. _GET_--chains--chain_id--mempool : **GET /chains//mempool** .. raw:: html

List the not-yet-prevalidated operations.

    { "applied":
        [ { "hash": string /* A Tezos operation ID (Base58Check-encoded) */,
            "branch": string /* A block identifier (Base58Check-encoded) */,
            "data": /^[a-zA-Z0-9]+$/ } ... ],
      "refused":
        [ { "hash": string /* A Tezos operation ID (Base58Check-encoded) */,
            "branch": string /* A block identifier (Base58Check-encoded) */,
            "data": /^[a-zA-Z0-9]+$/,
            "error":
              any
              /* The full list of error is available with the global RPC `GET
                 errors` */ } ... ],
      "branch_refused":
        [ { "hash": string /* A Tezos operation ID (Base58Check-encoded) */,
            "branch": string /* A block identifier (Base58Check-encoded) */,
            "data": /^[a-zA-Z0-9]+$/,
            "error":
              any
              /* The full list of error is available with the global RPC `GET
                 errors` */ } ... ],
      "branch_delayed":
        [ { "hash": string /* A Tezos operation ID (Base58Check-encoded) */,
            "branch": string /* A block identifier (Base58Check-encoded) */,
            "data": /^[a-zA-Z0-9]+$/,
            "error":
              any
              /* The full list of error is available with the global RPC `GET
                 errors` */ } ... ],
      "unprocessed":
        [ { "hash": string /* A Tezos operation ID (Base58Check-encoded) */,
            "branch": string /* A block identifier (Base58Check-encoded) */,
            "data": /^[a-zA-Z0-9]+$/ } ... ] }
.. _GET_--describe : **GET /describe?[recurse=]** .. raw:: html

RPCs documentation and input/output schema

Optional query arguments :

  • recurse = <bool>

    $service_tree
    $service_tree:
      { "static":
          { "get_service"?:
              { "meth": "PATCH" | "GET" | "POST" | "PUT" | "DELETE",
                "path":
                  [ string
                    || { "id": "single",
                         "name": string,
                         "descr"?: string }
                    || { "id": "multiple",
                         "name": string,
                         "descr"?: string } ... ],
                "description"?: string,
                "query":
                  [ { "name": string,
                      "description"?: string,
                      "kind":
                        { "single":
                            { "id": "single",
                              "name": string,
                              "descr"?: string } }
                        || { "optional":
                               { "id": "single",
                                 "name": string,
                                 "descr"?: string } }
                        || { "flag": {  } }
                        || { "multi":
                               { "id": "single",
                                 "name": string,
                                 "descr"?: string } } } ... ],
                "input"?: any,
                "output": any,
                "erro": any },
            "post_service"?:
              { "meth": "PATCH" | "GET" | "POST" | "PUT" | "DELETE",
                "path":
                  [ string
                    || { "id": "single",
                         "name": string,
                         "descr"?: string }
                    || { "id": "multiple",
                         "name": string,
                         "descr"?: string } ... ],
                "description"?: string,
                "query":
                  [ { "name": string,
                      "description"?: string,
                      "kind":
                        { "single":
                            { "id": "single",
                              "name": string,
                              "descr"?: string } }
                        || { "optional":
                               { "id": "single",
                                 "name": string,
                                 "descr"?: string } }
                        || { "flag": {  } }
                        || { "multi":
                               { "id": "single",
                                 "name": string,
                                 "descr"?: string } } } ... ],
                "input"?: any,
                "output": any,
                "erro": any },
            "delete_service"?:
              { "meth": "PATCH" | "GET" | "POST" | "PUT" | "DELETE",
                "path":
                  [ string
                    || { "id": "single",
                         "name": string,
                         "descr"?: string }
                    || { "id": "multiple",
                         "name": string,
                         "descr"?: string } ... ],
                "description"?: string,
                "query":
                  [ { "name": string,
                      "description"?: string,
                      "kind":
                        { "single":
                            { "id": "single",
                              "name": string,
                              "descr"?: string } }
                        || { "optional":
                               { "id": "single",
                                 "name": string,
                                 "descr"?: string } }
                        || { "flag": {  } }
                        || { "multi":
                               { "id": "single",
                                 "name": string,
                                 "descr"?: string } } } ... ],
                "input"?: any,
                "output": any,
                "erro": any },
            "put_service"?:
              { "meth": "PATCH" | "GET" | "POST" | "PUT" | "DELETE",
                "path":
                  [ string
                    || { "id": "single",
                         "name": string,
                         "descr"?: string }
                    || { "id": "multiple",
                         "name": string,
                         "descr"?: string } ... ],
                "description"?: string,
                "query":
                  [ { "name": string,
                      "description"?: string,
                      "kind":
                        { "single":
                            { "id": "single",
                              "name": string,
                              "descr"?: string } }
                        || { "optional":
                               { "id": "single",
                                 "name": string,
                                 "descr"?: string } }
                        || { "flag": {  } }
                        || { "multi":
                               { "id": "single",
                                 "name": string,
                                 "descr"?: string } } } ... ],
                "input"?: any,
                "output": any,
                "erro": any },
            "patch_service"?:
              { "meth": "PATCH" | "GET" | "POST" | "PUT" | "DELETE",
                "path":
                  [ string
                    || { "id": "single",
                         "name": string,
                         "descr"?: string }
                    || { "id": "multiple",
                         "name": string,
                         "descr"?: string } ... ],
                "description"?: string,
                "query":
                  [ { "name": string,
                      "description"?: string,
                      "kind":
                        { "single":
                            { "id": "single",
                              "name": string,
                              "descr"?: string } }
                        || { "optional":
                               { "id": "single",
                                 "name": string,
                                 "descr"?: string } }
                        || { "flag": {  } }
                        || { "multi":
                               { "id": "single",
                                 "name": string,
                                 "descr"?: string } } } ... ],
                "input"?: any,
                "output": any,
                "erro": any },
            "subdirs"?:
              { "suffixes": [ { "name": string,
                                "tree": $service_tree } ... ] }
              || { "dynamic_dispatch":
                     { "arg":
                         { "id": "single",
                           "name": string,
                           "descr"?: string },
                       "tree": $service_tree } } } }
      || { "dynamic": string || null }
.. _GET_--errors : **GET /errors** .. raw:: html

Schema for all the RPC errors from the shell

    any
.. _POST_--injection--block : **POST /injection/block?[async]&[force]&[chain=]** .. raw:: html

Inject a block in the node and broadcast it. The `operations` embedded in `blockHeader` might be pre-validated using a contextual RPCs from the latest block (e.g. '/blocks/head/context/preapply'). Returns the ID of the block. By default, the RPC will wait for the block to be validated before answering.

Optional query arguments :

  • async
  • force
  • chain = <chain_id>

    { "data": /^[a-zA-Z0-9]+$/,
      "operations":
        [ [ { "branch": string /* A block identifier (Base58Check-encoded) */,
              "data": /^[a-zA-Z0-9]+$/ } ... ] ... ] }
    string
    /* A block identifier (Base58Check-encoded) */
.. _POST_--injection--operation : **POST /injection/operation?[async]&[chain=]** .. raw:: html

Inject an operation in node and broadcast it. Returns the ID of the operation. The `signedOperationContents` should be constructed using a contextual RPCs from the latest block and signed by the client. By default, the RPC will wait for the operation to be (pre-)validated before answering. See RPCs under /blocks/prevalidation for more details on the prevalidation context.

Optional query arguments :

  • async
  • chain = <chain_id>

    /^[a-zA-Z0-9]+$/
    string
    /* A Tezos operation ID (Base58Check-encoded) */
.. _POST_--injection--protocol : **POST /injection/protocol?[async]&[force]** .. raw:: html

Inject a protocol in node. Returns the ID of the protocol.

Optional query arguments :

  • async
  • force

    { "expected_env_version": integer ∈ [-2^15, 2^15-1],
      "components":
        [ { "name": string,
            "interface"?: /^[a-zA-Z0-9]+$/,
            "implementation": /^[a-zA-Z0-9]+$/ } ... ] }
    string
    /* A Tezos protocol ID (Base58Check-encoded) */
.. _GET_--monitor--bootstrapped : **GET /monitor/bootstrapped** .. raw:: html

    { "block": string /* A block identifier (Base58Check-encoded) */,
      "timestamp":
        /* timestamp */
        $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _GET_--monitor--heads--chain_id : **GET /monitor/heads/?(next_protocol=)\*** .. raw:: html

Optional query arguments :

  • next_protocol = <Protocol_hash>

    string
    /* A block identifier (Base58Check-encoded) */
.. _GET_--monitor--protocols : **GET /monitor/protocols** .. raw:: html

...FIXME...

    string
    /* A Tezos protocol ID (Base58Check-encoded) */
.. _GET_--monitor--valid_blocks : **GET /monitor/valid_blocks?(protocol=)\*&(next_protocol=)\*&(chain=)\*** .. raw:: html

Optional query arguments :

  • protocol = <Protocol_hash>
  • next_protocol = <Protocol_hash>
  • chain = <chain_id>

    { "chain_id": string /* Network identifier (Base58Check-encoded) */,
      "hash": string /* A block identifier (Base58Check-encoded) */ }
.. _GET_--network--connections : **GET /network/connections** .. raw:: html

List the running P2P connection.

    [ { "incoming": boolean,
        "peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */,
        "id_point": { "addr": string,
                      "port"?: integer ∈ [0, 2^16-1] },
        "remote_socket_port": integer ∈ [0, 2^16-1],
        "versions":
          [ { "name": string,
              "major": integer ∈ [0, 2^16-1],
              "minor": integer ∈ [0, 2^16-1] } ... ] } ... ]
.. _GET_--network--connections--peer_id : **GET /network/connections/** .. raw:: html

Details about the current P2P connection to the given peer.

    { "incoming": boolean,
      "peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */,
      "id_point": { "addr": string,
                    "port"?: integer ∈ [0, 2^16-1] },
      "remote_socket_port": integer ∈ [0, 2^16-1],
      "versions":
        [ { "name": string,
            "major": integer ∈ [0, 2^16-1],
            "minor": integer ∈ [0, 2^16-1] } ... ] }
.. _DELETE_--network--connections--peer_id : **DELETE /network/connections/?[wait]** .. raw:: html

Forced close of the current P2P connection to the given peer.

Optional query arguments :

  • wait

    {  }
.. _GET_--network--greylist--clear : **GET /network/greylist/clear** .. raw:: html

Clear all greylists tables.

    {  }
.. _GET_--network--log : **GET /network/log** .. raw:: html

Stream of all network events

    { "event": "too_few_connections" }
    || { "event": "too_many_connections" }
    || { "event": "new_point",
         "point": string }
    || { "event": "new_peer",
         "peer_id":
           string
           /* A Cryptobox public key ID (Base58Check-encoded) */ }
    || { "event": "incoming_connection",
         "point": string }
    || { "event": "outgoing_connection",
         "point": string }
    || { "event": "authentication_failed",
         "point": string }
    || { "event": "accepting_request",
         "point": string,
         "id_point": { "addr": string,
                       "port"?: integer ∈ [0, 2^16-1] },
         "peer_id":
           string
           /* A Cryptobox public key ID (Base58Check-encoded) */ }
    || { "event": "rejecting_request",
         "point": string,
         "id_point": { "addr": string,
                       "port"?: integer ∈ [0, 2^16-1] },
         "peer_id":
           string
           /* A Cryptobox public key ID (Base58Check-encoded) */ }
    || { "event": "request_rejected",
         "point": string,
         "identity"?:
           [ { "addr": string,
               "port"?: integer ∈ [0, 2^16-1] },
             string
             /* A Cryptobox public key ID (Base58Check-encoded) */ ] }
    || { "event": "connection_established",
         "id_point": { "addr": string,
                       "port"?: integer ∈ [0, 2^16-1] },
         "peer_id":
           string
           /* A Cryptobox public key ID (Base58Check-encoded) */ }
    || { "event": "disconnection",
         "peer_id":
           string
           /* A Cryptobox public key ID (Base58Check-encoded) */ }
    || { "event": "external_disconnection",
         "peer_id":
           string
           /* A Cryptobox public key ID (Base58Check-encoded) */ }
    || { "event": "gc_points" }
    || { "event": "gc_peer_ids" }
    || { "event": "swap_request_received",
         "source": string /* A Cryptobox public key ID (Base58Check-encoded) */ }
    || { "event": "swap_ack_received",
         "source": string /* A Cryptobox public key ID (Base58Check-encoded) */ }
    || { "event": "swap_request_sent",
         "source": string /* A Cryptobox public key ID (Base58Check-encoded) */ }
    || { "event": "swap_ack_sent",
         "source": string /* A Cryptobox public key ID (Base58Check-encoded) */ }
    || { "event": "swap_request_ignored",
         "source": string /* A Cryptobox public key ID (Base58Check-encoded) */ }
    || { "event": "swap_success",
         "source": string /* A Cryptobox public key ID (Base58Check-encoded) */ }
    || { "event": "swap_failure",
         "source": string /* A Cryptobox public key ID (Base58Check-encoded) */ }
.. _GET_--network--peers : **GET /network/peers?(filter=)\*** .. raw:: html

List the peers the node ever met.

Optional query arguments :

  • filter = <p2p.point.state_filter>

    [ [ string
        /* A Cryptobox public key ID (Base58Check-encoded) */,
        { "score": number,
          "trusted": boolean,
          "state": "running" | "accepted" | "disconnected",
          "reachable_at"?: { "addr": string,
                             "port"?: integer ∈ [0, 2^16-1] },
          "stat":
            { "total_sent": integer ∈ [-2^31-2, 2^31+2] || string,
              "total_recv": integer ∈ [-2^31-2, 2^31+2] || string,
              "current_inflow": integer ∈ [-2^30-2, 2^30+2],
              "current_outflow": integer ∈ [-2^30-2, 2^30+2] },
          "last_failed_connection"?:
            [ { "addr": string,
                "port"?: integer ∈ [0, 2^16-1] },
              /* timestamp */
              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
          "last_rejected_connection"?:
            [ { "addr": string,
                "port"?: integer ∈ [0, 2^16-1] },
              /* timestamp */
              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
          "last_established_connection"?:
            [ { "addr": string,
                "port"?: integer ∈ [0, 2^16-1] },
              /* timestamp */
              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
          "last_disconnection"?:
            [ { "addr": string,
                "port"?: integer ∈ [0, 2^16-1] },
              /* timestamp */
              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
          "last_seen"?:
            [ { "addr": string,
                "port"?: integer ∈ [0, 2^16-1] },
              /* timestamp */
              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
          "last_miss"?:
            [ { "addr": string,
                "port"?: integer ∈ [0, 2^16-1] },
              /* timestamp */
              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ] } ] ... ]
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _GET_--network--peers--peer_id : **GET /network/peers/** .. raw:: html

Details about a given peer.

    { "score": number,
      "trusted": boolean,
      "state": "running" | "accepted" | "disconnected",
      "reachable_at"?: { "addr": string,
                         "port"?: integer ∈ [0, 2^16-1] },
      "stat":
        { "total_sent": integer ∈ [-2^31-2, 2^31+2] || string,
          "total_recv": integer ∈ [-2^31-2, 2^31+2] || string,
          "current_inflow": integer ∈ [-2^30-2, 2^30+2],
          "current_outflow": integer ∈ [-2^30-2, 2^30+2] },
      "last_failed_connection"?:
        [ { "addr": string,
            "port"?: integer ∈ [0, 2^16-1] },
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
      "last_rejected_connection"?:
        [ { "addr": string,
            "port"?: integer ∈ [0, 2^16-1] },
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
      "last_established_connection"?:
        [ { "addr": string,
            "port"?: integer ∈ [0, 2^16-1] },
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
      "last_disconnection"?:
        [ { "addr": string,
            "port"?: integer ∈ [0, 2^16-1] },
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
      "last_seen"?:
        [ { "addr": string,
            "port"?: integer ∈ [0, 2^16-1] },
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
      "last_miss"?:
        [ { "addr": string,
            "port"?: integer ∈ [0, 2^16-1] },
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ] }
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _GET_--network--peers--peer_id--ban : **GET /network/peers//ban** .. raw:: html

Blacklist the given peer.

    {  }
.. _GET_--network--peers--peer_id--banned : **GET /network/peers//banned** .. raw:: html

Check if a given peer is blacklisted or greylisted.

    boolean
.. _GET_--network--peers--peer_id--log : **GET /network/peers//log?[monitor]** .. raw:: html

Monitor network events related to a given peer.

Optional query arguments :

  • monitor

    [ { "kind":
          "rejecting_request"
          | "incoming_request"
          | "disconnection"
          | "external_disconnection"
          | "connection_established"
          | "request_rejected",
        "timestamp":
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
        "addr": string,
        "port"?: integer ∈ [-2^15, 2^15-1] } ... ]
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _GET_--network--peers--peer_id--trust : **GET /network/peers//trust** .. raw:: html

Trust a given peer permanently: the peer cannot be blocked (but its host IP still can).

    {  }
.. _GET_--network--points : **GET /network/points?(filter=)\*** .. raw:: html

List the pool of known `IP:port` used for establishing P2P connections.

Optional query arguments :

  • filter = <p2p.point.state_filter>

    [ [ string,
        { "trusted": boolean,
          "greylisted_until"?:
            /* timestamp */
            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
          "state":
            { "event_kind": "requested" }
            || { "event_kind": "accepted",
                 "p2p_peer_id":
                   string
                   /* A Cryptobox public key ID (Base58Check-encoded) */ }
            || { "event_kind": "running",
                 "p2p_peer_id":
                   string
                   /* A Cryptobox public key ID (Base58Check-encoded) */ }
            || { "event_kind": "disconnected" },
          "p2p_peer_id"?:
            string
            /* A Cryptobox public key ID (Base58Check-encoded) */,
          "last_failed_connection"?:
            /* timestamp */
            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
          "last_rejected_connection"?:
            [ string
              /* A Cryptobox public key ID (Base58Check-encoded) */,
              /* timestamp */
              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
          "last_established_connection"?:
            [ string
              /* A Cryptobox public key ID (Base58Check-encoded) */,
              /* timestamp */
              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
          "last_disconnection"?:
            [ string
              /* A Cryptobox public key ID (Base58Check-encoded) */,
              /* timestamp */
              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
          "last_seen"?:
            [ string
              /* A Cryptobox public key ID (Base58Check-encoded) */,
              /* timestamp */
              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
          "last_miss"?:
            /* timestamp */
            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string } ] ... ]
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _GET_--network--points--point : **GET /network/points/** .. raw:: html

Details about a given `IP:addr`.

    { "trusted": boolean,
      "greylisted_until"?:
        /* timestamp */
        $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
      "state":
        { "event_kind": "requested" }
        || { "event_kind": "accepted",
             "p2p_peer_id":
               string
               /* A Cryptobox public key ID (Base58Check-encoded) */ }
        || { "event_kind": "running",
             "p2p_peer_id":
               string
               /* A Cryptobox public key ID (Base58Check-encoded) */ }
        || { "event_kind": "disconnected" },
      "p2p_peer_id"?:
        string
        /* A Cryptobox public key ID (Base58Check-encoded) */,
      "last_failed_connection"?:
        /* timestamp */
        $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
      "last_rejected_connection"?:
        [ string
          /* A Cryptobox public key ID (Base58Check-encoded) */,
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
      "last_established_connection"?:
        [ string
          /* A Cryptobox public key ID (Base58Check-encoded) */,
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
      "last_disconnection"?:
        [ string
          /* A Cryptobox public key ID (Base58Check-encoded) */,
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
      "last_seen"?:
        [ string
          /* A Cryptobox public key ID (Base58Check-encoded) */,
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string ],
      "last_miss"?:
        /* timestamp */
        $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _PUT_--network--points--point : **PUT /network/points/?[timeout=]** .. raw:: html

Connect to a peer

Optional query arguments :

  • timeout = <float>

    {  }
    {  }
.. _GET_--network--points--point--ban : **GET /network/points//ban** .. raw:: html

Blacklist the given address.

    {  }
.. _GET_--network--points--point--banned : **GET /network/points//banned** .. raw:: html

Check is a given address is blacklisted or greylisted.

    boolean
.. _GET_--network--points--point--log : **GET /network/points//log?[monitor]** .. raw:: html

Monitor network events related to an `IP:addr`.

Optional query arguments :

  • monitor

    [ { "kind":
          { "event_kind": "outgoing_request" }
          || { "event_kind": "accepting_request",
               "p2p_peer_id":
                 string
                 /* A Cryptobox public key ID (Base58Check-encoded) */ }
          || { "event_kind": "rejecting_request",
               "p2p_peer_id":
                 string
                 /* A Cryptobox public key ID (Base58Check-encoded) */ }
          || { "event_kind": "request_rejected",
               "p2p_peer_id"?:
                 string
                 /* A Cryptobox public key ID (Base58Check-encoded) */ }
          || { "event_kind": "rejecting_request",
               "p2p_peer_id":
                 string
                 /* A Cryptobox public key ID (Base58Check-encoded) */ }
          || { "event_kind": "rejecting_request",
               "p2p_peer_id":
                 string
                 /* A Cryptobox public key ID (Base58Check-encoded) */ }
          || { "event_kind": "rejecting_request",
               "p2p_peer_id":
                 string
                 /* A Cryptobox public key ID (Base58Check-encoded) */ },
        "timestamp":
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string } ... ]
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _GET_--network--points--point--trust : **GET /network/points//trust** .. raw:: html

Trust a given address permanently. Connections from this address can still be closed on authentication if the peer is blacklisted or greylisted.

    {  }
.. _GET_--network--stat : **GET /network/stat** .. raw:: html

Global network bandwidth statistics in B/s.

    { "total_sent": integer ∈ [-2^31-2, 2^31+2] || string,
      "total_recv": integer ∈ [-2^31-2, 2^31+2] || string,
      "current_inflow": integer ∈ [-2^30-2, 2^30+2],
      "current_outflow": integer ∈ [-2^30-2, 2^30+2] }
.. _GET_--network--versions : **GET /network/versions** .. raw:: html

Supported network layer versions.

    [ { "name": string,
        "major": integer ∈ [0, 2^16-1],
        "minor": integer ∈ [0, 2^16-1] } ... ]
.. _GET_--protocols : **GET /protocols** .. raw:: html

    [ string
    /* A Tezos protocol ID (Base58Check-encoded) */ ... ]
.. _GET_--protocols--Protocol_hash : **GET /protocols/** .. raw:: html

    { "expected_env_version": integer ∈ [-2^15, 2^15-1],
      "components":
        [ { "name": string,
            "interface"?: /^[a-zA-Z0-9]+$/,
            "implementation": /^[a-zA-Z0-9]+$/ } ... ] }
.. _GET_--workers--block_validator : **GET /workers/block_validator** .. raw:: html

Introspect the state of the block_validator worker.

    { "status":
        { "phase": "launching",
          "since":
            /* timestamp */
            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
        || { "phase": "running",
             "since":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
        || { "phase": "closing",
             "birth":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
             "since":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
        || { "phase": "closed",
             "birth":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
             "since":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
        || { "phase": "crashed",
             "birth":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
             "since":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
             "errors":
               any
               /* The full list of error is available with the global RPC `GET
                  errors` */ },
      "pending_requests":
        [ { "pushed":
              /* timestamp */
              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
            "request":
              { "block": string /* A block identifier (Base58Check-encoded) */,
                "chain_id":
                  string
                  /* Network identifier (Base58Check-encoded) */,
                "peer"?:
                  string
                  /* A Cryptobox public key ID (Base58Check-encoded) */ } } ... ],
      "backlog":
        [ { "level": string,
            "events":
              [ /* Event state */
              { "message": string }
              || { "successful_validation":
                     { "block":
                         string
                         /* A block identifier (Base58Check-encoded) */,
                       "chain_id":
                         string
                         /* Network identifier (Base58Check-encoded) */,
                       "peer"?:
                         string
                         /* A Cryptobox public key ID (Base58Check-encoded) */ },
                   "status":
                     { "pushed":
                         /* timestamp */
                         $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
                       "treated":
                         /* timestamp */
                         $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
                       "completed":
                         /* timestamp */
                         $timestamp || integer ∈ [-2^31-2, 2^31+2] || string } }
              || { "failed_validation":
                     { "block":
                         string
                         /* A block identifier (Base58Check-encoded) */,
                       "chain_id":
                         string
                         /* Network identifier (Base58Check-encoded) */,
                       "peer"?:
                         string
                         /* A Cryptobox public key ID (Base58Check-encoded) */ },
                   "status":
                     { "pushed":
                         /* timestamp */
                         $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
                       "treated":
                         /* timestamp */
                         $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
                       "completed":
                         /* timestamp */
                         $timestamp || integer ∈ [-2^31-2, 2^31+2] || string },
                   "errors"?:
                     any
                     /* The full list of error is available with the global RPC
                        `GET errors` */ } ... ] } ... ],
      "current_request"?:
        { "pushed":
            /* timestamp */
            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
          "treated":
            /* timestamp */
            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
          "request":
            { "block": string /* A block identifier (Base58Check-encoded) */,
              "chain_id": string /* Network identifier (Base58Check-encoded) */,
              "peer"?:
                string
                /* A Cryptobox public key ID (Base58Check-encoded) */ } } }
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _GET_--workers--chain_validators : **GET /workers/chain_validators** .. raw:: html

Lists the chain validator workers and their status.

    [ { "chain_id": string /* Network identifier (Base58Check-encoded) */,
        "status":
          { "phase": "launching",
            "since":
              /* timestamp */
              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
          || { "phase": "running",
               "since":
                 /* timestamp */
                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
          || { "phase": "closing",
               "birth":
                 /* timestamp */
                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
               "since":
                 /* timestamp */
                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
          || { "phase": "closed",
               "birth":
                 /* timestamp */
                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
               "since":
                 /* timestamp */
                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
          || { "phase": "crashed",
               "birth":
                 /* timestamp */
                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
               "since":
                 /* timestamp */
                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
               "errors":
                 any
                 /* The full list of error is available with the global RPC
                    `GET errors` */ } } ... ]
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _GET_--workers--chain_validators--chain_id : **GET /workers/chain_validators/** .. raw:: html

Introspect the state of a chain validator worker.

    { "status":
        { "phase": "launching",
          "since":
            /* timestamp */
            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
        || { "phase": "running",
             "since":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
        || { "phase": "closing",
             "birth":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
             "since":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
        || { "phase": "closed",
             "birth":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
             "since":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
        || { "phase": "crashed",
             "birth":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
             "since":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
             "errors":
               any
               /* The full list of error is available with the global RPC `GET
                  errors` */ },
      "pending_requests":
        [ { "pushed":
              /* timestamp */
              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
            "request": string /* A block identifier (Base58Check-encoded) */ } ... ],
      "backlog":
        [ { "level": string,
            "events":
              [ { "request":
                    string
                    /* A block identifier (Base58Check-encoded) */,
                  "status":
                    { "pushed":
                        /* timestamp */
                        $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
                      "treated":
                        /* timestamp */
                        $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
                      "completed":
                        /* timestamp */
                        $timestamp || integer ∈ [-2^31-2, 2^31+2] || string },
                  "outcome": "branch" | "ignored" | "increment",
                  "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */ }
                || any
                /* The full list of error is available with the global RPC `GET
                   errors` */ ... ] } ... ],
      "current_request"?:
        { "pushed":
            /* timestamp */
            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
          "treated":
            /* timestamp */
            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
          "request": string /* A block identifier (Base58Check-encoded) */ } }
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _GET_--workers--chain_validators--chain_id--peers_validators : **GET /workers/chain_validators//peers_validators** .. raw:: html

Lists the peer validator workers and their status.

    [ { "peer_id": string /* A Cryptobox public key ID (Base58Check-encoded) */,
        "status":
          { "phase": "launching",
            "since":
              /* timestamp */
              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
          || { "phase": "running",
               "since":
                 /* timestamp */
                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
          || { "phase": "closing",
               "birth":
                 /* timestamp */
                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
               "since":
                 /* timestamp */
                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
          || { "phase": "closed",
               "birth":
                 /* timestamp */
                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
               "since":
                 /* timestamp */
                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
          || { "phase": "crashed",
               "birth":
                 /* timestamp */
                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
               "since":
                 /* timestamp */
                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
               "errors":
                 any
                 /* The full list of error is available with the global RPC
                    `GET errors` */ } } ... ]
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _GET_--workers--chain_validators--chain_id--peers_validators--peer_id : **GET /workers/chain_validators//peers_validators/** .. raw:: html

Introspect the state of a peer validator worker.

    { "status":
        { "phase": "launching",
          "since":
            /* timestamp */
            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
        || { "phase": "running",
             "since":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
        || { "phase": "closing",
             "birth":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
             "since":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
        || { "phase": "closed",
             "birth":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
             "since":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
        || { "phase": "crashed",
             "birth":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
             "since":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
             "errors":
               any
               /* The full list of error is available with the global RPC `GET
                  errors` */ },
      "pending_requests":
        [ { "pushed":
              /* timestamp */
              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
            "request":
              { "request": "new_head",
                "block": string /* A block identifier (Base58Check-encoded) */ }
              || { "request": "new_branch",
                   "block":
                     string
                     /* A block identifier (Base58Check-encoded) */,
                   "locator_length": integer ∈ [0, 2^16-1] } } ... ],
      "backlog":
        [ { "level": string,
            "events":
              [ { "message": string }
                || { "request":
                       { "request": "new_head",
                         "block":
                           string
                           /* A block identifier (Base58Check-encoded) */ }
                       || { "request": "new_branch",
                            "block":
                              string
                              /* A block identifier (Base58Check-encoded) */,
                            "locator_length": integer ∈ [0, 2^16-1] },
                     "status":
                       { "pushed":
                           /* timestamp */
                           $timestamp
                           || integer ∈ [-2^31-2, 2^31+2] || string,
                         "treated":
                           /* timestamp */
                           $timestamp
                           || integer ∈ [-2^31-2, 2^31+2] || string,
                         "completed":
                           /* timestamp */
                           $timestamp
                           || integer ∈ [-2^31-2, 2^31+2] || string } }
                || { "error":
                       any
                       /* The full list of error is available with the global
                          RPC `GET errors` */,
                     "failed_request":
                       { "request": "new_head",
                         "block":
                           string
                           /* A block identifier (Base58Check-encoded) */ }
                       || { "request": "new_branch",
                            "block":
                              string
                              /* A block identifier (Base58Check-encoded) */,
                            "locator_length": integer ∈ [0, 2^16-1] },
                     "status":
                       { "pushed":
                           /* timestamp */
                           $timestamp
                           || integer ∈ [-2^31-2, 2^31+2] || string,
                         "treated":
                           /* timestamp */
                           $timestamp
                           || integer ∈ [-2^31-2, 2^31+2] || string,
                         "completed":
                           /* timestamp */
                           $timestamp
                           || integer ∈ [-2^31-2, 2^31+2] || string } } ... ] } ... ],
      "current_request"?:
        { "pushed":
            /* timestamp */
            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
          "treated":
            /* timestamp */
            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
          "request":
            { "request": "new_head",
              "block": string /* A block identifier (Base58Check-encoded) */ }
            || { "request": "new_branch",
                 "block": string /* A block identifier (Base58Check-encoded) */,
                 "locator_length": integer ∈ [0, 2^16-1] } } }
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _GET_--workers--prevalidators : **GET /workers/prevalidators** .. raw:: html

Lists the Prevalidator workers and their status.

    [ { "chain_id": string /* Network identifier (Base58Check-encoded) */,
        "status":
          { "phase": "launching",
            "since":
              /* timestamp */
              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
          || { "phase": "running",
               "since":
                 /* timestamp */
                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
          || { "phase": "closing",
               "birth":
                 /* timestamp */
                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
               "since":
                 /* timestamp */
                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
          || { "phase": "closed",
               "birth":
                 /* timestamp */
                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
               "since":
                 /* timestamp */
                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
          || { "phase": "crashed",
               "birth":
                 /* timestamp */
                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
               "since":
                 /* timestamp */
                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
               "errors":
                 any
                 /* The full list of error is available with the global RPC
                    `GET errors` */ } } ... ]
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _GET_--workers--prevalidators--chain_id : **GET /workers/prevalidators/** .. raw:: html

Introspect the state of a prevalidator worker.

    { "status":
        { "phase": "launching",
          "since":
            /* timestamp */
            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
        || { "phase": "running",
             "since":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
        || { "phase": "closing",
             "birth":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
             "since":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
        || { "phase": "closed",
             "birth":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
             "since":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
        || { "phase": "crashed",
             "birth":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
             "since":
               /* timestamp */
               $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
             "errors":
               any
               /* The full list of error is available with the global RPC `GET
                  errors` */ },
      "pending_requests":
        [ { "pushed":
              /* timestamp */
              $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
            "request":
              { "request": "flush",
                "block": string /* A block identifier (Base58Check-encoded) */ }
              || { "request": "notify",
                   "peer":
                     string
                     /* A Cryptobox public key ID (Base58Check-encoded) */,
                   "mempool":
                     { "known_valid":
                         [ string
                         /* A Tezos operation ID (Base58Check-encoded) */ ... ],
                       "pending":
                         [ string
                         /* A Tezos operation ID (Base58Check-encoded) */ ... ] } }
              || { "request": "inject",
                   "operation":
                     { "branch":
                         string
                         /* A block identifier (Base58Check-encoded) */,
                       "data": /^[a-zA-Z0-9]+$/ } }
              || { "request": "arrived",
                   "operation_hash":
                     string
                     /* A Tezos operation ID (Base58Check-encoded) */,
                   "operation":
                     { "branch":
                         string
                         /* A block identifier (Base58Check-encoded) */,
                       "data": /^[a-zA-Z0-9]+$/ } }
              || { "request": "advertise" } } ... ],
      "backlog":
        [ { "level": string,
            "events":
              [ { "message": string }
                || { "request":
                       { "request": "flush",
                         "block":
                           string
                           /* A block identifier (Base58Check-encoded) */ }
                       || { "request": "notify",
                            "peer":
                              string
                              /* A Cryptobox public key ID
                                 (Base58Check-encoded) */,
                            "mempool":
                              { "known_valid":
                                  [ string
                                  /* A Tezos operation ID (Base58Check-encoded) */ ... ],
                                "pending":
                                  [ string
                                  /* A Tezos operation ID (Base58Check-encoded) */ ... ] } }
                       || { "request": "inject",
                            "operation":
                              { "branch":
                                  string
                                  /* A block identifier (Base58Check-encoded) */,
                                "data": /^[a-zA-Z0-9]+$/ } }
                       || { "request": "arrived",
                            "operation_hash":
                              string
                              /* A Tezos operation ID (Base58Check-encoded) */,
                            "operation":
                              { "branch":
                                  string
                                  /* A block identifier (Base58Check-encoded) */,
                                "data": /^[a-zA-Z0-9]+$/ } }
                       || { "request": "advertise" },
                     "status":
                       { "pushed":
                           /* timestamp */
                           $timestamp
                           || integer ∈ [-2^31-2, 2^31+2] || string,
                         "treated":
                           /* timestamp */
                           $timestamp
                           || integer ∈ [-2^31-2, 2^31+2] || string,
                         "completed":
                           /* timestamp */
                           $timestamp
                           || integer ∈ [-2^31-2, 2^31+2] || string } }
                || { "error":
                       any
                       /* The full list of error is available with the global
                          RPC `GET errors` */,
                     "failed_request":
                       { "request": "flush",
                         "block":
                           string
                           /* A block identifier (Base58Check-encoded) */ }
                       || { "request": "notify",
                            "peer":
                              string
                              /* A Cryptobox public key ID
                                 (Base58Check-encoded) */,
                            "mempool":
                              { "known_valid":
                                  [ string
                                  /* A Tezos operation ID (Base58Check-encoded) */ ... ],
                                "pending":
                                  [ string
                                  /* A Tezos operation ID (Base58Check-encoded) */ ... ] } }
                       || { "request": "inject",
                            "operation":
                              { "branch":
                                  string
                                  /* A block identifier (Base58Check-encoded) */,
                                "data": /^[a-zA-Z0-9]+$/ } }
                       || { "request": "arrived",
                            "operation_hash":
                              string
                              /* A Tezos operation ID (Base58Check-encoded) */,
                            "operation":
                              { "branch":
                                  string
                                  /* A block identifier (Base58Check-encoded) */,
                                "data": /^[a-zA-Z0-9]+$/ } }
                       || { "request": "advertise" },
                     "status":
                       { "pushed":
                           /* timestamp */
                           $timestamp
                           || integer ∈ [-2^31-2, 2^31+2] || string,
                         "treated":
                           /* timestamp */
                           $timestamp
                           || integer ∈ [-2^31-2, 2^31+2] || string,
                         "completed":
                           /* timestamp */
                           $timestamp
                           || integer ∈ [-2^31-2, 2^31+2] || string } } ... ] } ... ],
      "current_request"?:
        { "pushed":
            /* timestamp */
            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
          "treated":
            /* timestamp */
            $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
          "request":
            { "request": "flush",
              "block": string /* A block identifier (Base58Check-encoded) */ }
            || { "request": "notify",
                 "peer":
                   string
                   /* A Cryptobox public key ID (Base58Check-encoded) */,
                 "mempool":
                   { "known_valid":
                       [ string
                       /* A Tezos operation ID (Base58Check-encoded) */ ... ],
                     "pending":
                       [ string
                       /* A Tezos operation ID (Base58Check-encoded) */ ... ] } }
            || { "request": "inject",
                 "operation":
                   { "branch":
                       string
                       /* A block identifier (Base58Check-encoded) */,
                     "data": /^[a-zA-Z0-9]+$/ } }
            || { "request": "arrived",
                 "operation_hash":
                   string
                   /* A Tezos operation ID (Base58Check-encoded) */,
                 "operation":
                   { "branch":
                       string
                       /* A block identifier (Base58Check-encoded) */,
                     "data": /^[a-zA-Z0-9]+$/ } }
            || { "request": "advertise" } } }
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
Protocol Alpha ============== .. _GET_..--block_id : **GET ../** .. raw:: html

All the information about a block.

    { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
      "chain_id": string /* Network identifier (Base58Check-encoded) */,
      "hash": string /* A block identifier (Base58Check-encoded) */,
      "header": $raw_block_header,
      "metadata": $block_header_metadata,
      "operations": [ [ $operation ... ] ... ] }
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $block_header.alpha.full_header:
      { "level": integer ∈ [-2^31-2, 2^31+2],
        "proto": integer ∈ [0, 255],
        "predecessor": string /* A block identifier (Base58Check-encoded) */,
        "timestamp":
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
        "validation_pass": integer ∈ [0, 255],
        "operations_hash":
          string
          /* A list of list of operations (Base58Check-encoded) */,
        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
        "context": string /* A hash of context (Base58Check-encoded) */,
        "priority": integer ∈ [0, 2^16-1],
        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
        "signature":
          string
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
    $block_header_metadata:
      { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
        "next_protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
        "test_chain_status":
          /* Test chain status */
          { "status": "not_running" }
          || { "status": "forking",
               "protocol":
                 string
                 /* A Tezos protocol ID (Base58Check-encoded) */,
               "expiration":
                 /* timestamp */
                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string }
          || { "status": "running",
               "chain_id":
                 string
                 /* Network identifier (Base58Check-encoded) */,
               "genesis": string /* A block identifier (Base58Check-encoded) */,
               "protocol":
                 string
                 /* A Tezos protocol ID (Base58Check-encoded) */,
               "expiration":
                 /* timestamp */
                 $timestamp || integer ∈ [-2^31-2, 2^31+2] || string },
        "max_operations_ttl": integer ∈ [-2^30-2, 2^30+2],
        "max_operation_data_length": integer ∈ [-2^30-2, 2^30+2],
        "max_block_header_length": integer ∈ [-2^30-2, 2^30+2],
        "max_operation_list_length":
          [ { "max_size": integer ∈ [-2^30-2, 2^30+2],
              "max_op"?: integer ∈ [-2^30-2, 2^30+2] } ... ],
        "baker":
          string
          /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
        "level":
          { "level": integer ∈ [-2^31-2, 2^31+2],
            "level_position": integer ∈ [-2^31-2, 2^31+2],
            "cycle": integer ∈ [-2^31-2, 2^31+2],
            "cycle_position": integer ∈ [-2^31-2, 2^31+2],
            "voting_period": integer ∈ [-2^31-2, 2^31+2],
            "voting_period_position": integer ∈ [-2^31-2, 2^31+2],
            "expected_commitment": boolean },
        "voting_period_kind":
          "proposal" || "testing_vote" || "testing" || "promotion_vote" }
    $contract_id:
      /* A contract handle
         A contract notation as given to an RPC or inside scripts. Can be a
         base58 implicit contract hash or a base58 originated contract hash. */
      string
    $error:
      /* ... FIXME ... */
      any
    $micheline.michelson_v1.expression:
      /* Micheline expression (michelson_v1 variant) */
      { "int": $bignum }
      || { "string": string }
      || [ $micheline.michelson_v1.expression ... ]
      || { "prim":
             "CAR"
             | "LSR"
             | "ADDRESS"
             | "CREATE_CONTRACT"
             | "LSL"
             | "MANAGER"
             | "Elt"
             | "EDIV"
             | "OR"
             | "address"
             | "operation"
             | "ADD"
             | "AMOUNT"
             | "ISNAT"
             | "list"
             | "NEG"
             | "LOOP_LEFT"
             | "EMPTY_MAP"
             | "H"
             | "unit"
             | "SELF"
             | "Right"
             | "set"
             | "LAMBDA"
             | "MEM"
             | "ITER"
             | "storage"
             | "CONTRACT"
             | "CONS"
             | "XOR"
             | "STEPS_TO_QUOTA"
             | "False"
             | "AND"
             | "CREATE_ACCOUNT"
             | "COMPARE"
             | "or"
             | "GE"
             | "UPDATE"
             | "NEQ"
             | "SOURCE"
             | "int"
             | "timestamp"
             | "IMPLICIT_ACCOUNT"
             | "string"
             | "Unit"
             | "Some"
             | "ABS"
             | "PAIR"
             | "LT"
             | "CDR"
             | "EMPTY_SET"
             | "BALANCE"
             | "map"
             | "IF"
             | "SOME"
             | "MUL"
             | "NOT"
             | "NONE"
             | "None"
             | "DIP"
             | "GT"
             | "NOW"
             | "key_hash"
             | "NIL"
             | "contract"
             | "EXEC"
             | "SET_DELEGATE"
             | "UNIT"
             | "LOOP"
             | "SUB"
             | "CONCAT"
             | "DROP"
             | "MAP"
             | "RIGHT"
             | "LEFT"
             | "TRANSFER_TOKENS"
             | "INT"
             | "Left"
             | "big_map"
             | "signature"
             | "SWAP"
             | "mutez"
             | "EQ"
             | "GET"
             | "PUSH"
             | "option"
             | "IF_CONS"
             | "pair"
             | "nat"
             | "True"
             | "IF_LEFT"
             | "parameter"
             | "LE"
             | "HASH_KEY"
             | "SIZE"
             | "bool"
             | "Pair"
             | "lambda"
             | "FAIL"
             | "DUP"
             | "IF_NONE"
             | "key"
             | "code"
             | "CHECK_SIGNATURE",
           "args": [ $micheline.michelson_v1.expression ... ],
           "annot"?: string }
    $operation:
      { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
        "chain_id": string /* Network identifier (Base58Check-encoded) */,
        "hash": string /* A Tezos operation ID (Base58Check-encoded) */,
        "branch": string /* A block identifier (Base58Check-encoded) */,
        "contents": [ $operation.alpha.operation_contents_and_result ... ],
        "signature"?:
          string
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
    $operation.alpha.internal_operation_result:
      { "kind": "reveal",
        "source": $contract_id,
        "nonce": integer ∈ [0, 2^16-1],
        "public_key":
          string
          /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */,
        "result": $operation.alpha.operation_result.reveal }
      || { "kind": "transaction",
           "source": $contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "amount":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "destination": $contract_id,
           "parameters"?: $micheline.michelson_v1.expression,
           "result": $operation.alpha.operation_result.transaction }
      || { "kind": "origination",
           "source": $contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "manager_pubkey":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "balance":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "spendable"?: boolean,
           "delegatable"?: boolean,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "script"?:
             { "code": $micheline.michelson_v1.expression,
               "storage": $micheline.michelson_v1.expression },
           "result": $operation.alpha.operation_result.origination }
      || { "kind": "delegation",
           "source": $contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "result": $operation.alpha.operation_result.delegation }
    $operation.alpha.operation_contents_and_result:
      { "kind": "endorsement",
        "block": string /* A block identifier (Base58Check-encoded) */,
        "level": integer ∈ [-2^31-2, 2^31+2],
        "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ],
        "metadata":
          { "delegate":
              string
              /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
            "slots": [ integer ∈ [0, 255] ... ] } }
      || { "kind": "seed_nonce_revelation",
           "level": integer ∈ [-2^31-2, 2^31+2],
           "nonce": /^[a-zA-Z0-9]+$/,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates } }
      || { "kind": "double_endorsement_evidence",
           "op1":
             { "branch": string /* A block identifier (Base58Check-encoded) */,
               "operations":
                 { "kind": "endorsement",
                   "block":
                     string
                     /* A block identifier (Base58Check-encoded) */,
                   "level": integer ∈ [-2^31-2, 2^31+2],
                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
               "signature"?:
                 string
                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
           "op2":
             { "branch": string /* A block identifier (Base58Check-encoded) */,
               "operations":
                 { "kind": "endorsement",
                   "block":
                     string
                     /* A block identifier (Base58Check-encoded) */,
                   "level": integer ∈ [-2^31-2, 2^31+2],
                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
               "signature"?:
                 string
                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates } }
      || { "kind": "double_baking_evidence",
           "bh1": $block_header.alpha.full_header,
           "bh2": $block_header.alpha.full_header,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates } }
      || { "kind": "activate_account",
           "pkh": string /* An Ed25519 public key hash (Base58Check-encoded) */,
           "secret": /^[a-zA-Z0-9]+$/,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates } }
      || { "kind": "proposals",
           "source":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "period": integer ∈ [-2^31-2, 2^31+2],
           "proposals":
             [ string
             /* A Tezos protocol ID (Base58Check-encoded) */ ... ],
           "metadata": {  } }
      || { "kind": "ballot",
           "source":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "period": integer ∈ [-2^31-2, 2^31+2],
           "proposal": string /* A Tezos protocol ID (Base58Check-encoded) */,
           "ballot": "nay" | "yay" | "pass",
           "metadata": {  } }
      || { "kind": "reveal",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "public_key":
             string
             /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates,
               "operation_result": $operation.alpha.operation_result.reveal,
               "internal_operation_results"?:
                 [ $operation.alpha.internal_operation_result ... ] } }
      || { "kind": "transaction",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "amount":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "destination": $contract_id,
           "parameters"?: $micheline.michelson_v1.expression,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates,
               "operation_result":
                 $operation.alpha.operation_result.transaction,
               "internal_operation_results"?:
                 [ $operation.alpha.internal_operation_result ... ] } }
      || { "kind": "origination",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "manager_pubkey":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "balance":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "spendable"?: boolean,
           "delegatable"?: boolean,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "script"?:
             { "code": $micheline.michelson_v1.expression,
               "storage": $micheline.michelson_v1.expression },
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates,
               "operation_result":
                 $operation.alpha.operation_result.origination,
               "internal_operation_results"?:
                 [ $operation.alpha.internal_operation_result ... ] } }
      || { "kind": "delegation",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates,
               "operation_result": $operation.alpha.operation_result.delegation,
               "internal_operation_results"?:
                 [ $operation.alpha.internal_operation_result ... ] } }
      || { "kind": "activate_protocol",
           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */,
           "metadata": {  } }
      || { "kind": "activate_test_protocol",
           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */,
           "metadata": {  } }
    $operation.alpha.operation_result.delegation:
      { "status": "applied" }
      || { "status": "failed",
           "errors": [ $error ... ] }
      || { "status": "skipped" }
    $operation.alpha.operation_result.origination:
      { "status": "applied",
        "balance_updates"?: $operation_metadata.alpha.balance_updates,
        "originated_contracts"?: [ $contract_id ... ],
        "consumed_gas"?: $bignum,
        "storage_size_diff"?: integer ∈ [-2^31-2, 2^31+2] || string }
      || { "status": "failed",
           "errors": [ $error ... ] }
      || { "status": "skipped" }
    $operation.alpha.operation_result.reveal:
      { "status": "applied" }
      || { "status": "failed",
           "errors": [ $error ... ] }
      || { "status": "skipped" }
    $operation.alpha.operation_result.transaction:
      { "status": "applied",
        "storage"?: $micheline.michelson_v1.expression,
        "balance_updates"?: $operation_metadata.alpha.balance_updates,
        "originated_contracts"?: [ $contract_id ... ],
        "consumed_gas"?: $bignum,
        "storage_size_diff"?: integer ∈ [-2^31-2, 2^31+2] || string }
      || { "status": "failed",
           "errors": [ $error ... ] }
      || { "status": "skipped" }
    $operation_metadata.alpha.balance_updates:
      [ { "kind": "contract",
          "contract": $contract_id,
          "credited":
            /* Amount in mutez */
            integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "contract",
             "contract": $contract_id,
             "debited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "rewards",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "credited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "rewards",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "debited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "fees",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "credited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "fees",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "debited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "deposits",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "credited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "deposits",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "debited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string } ... ]
    $raw_block_header:
      { "level": integer ∈ [-2^31-2, 2^31+2],
        "proto": integer ∈ [0, 255],
        "predecessor": string /* A block identifier (Base58Check-encoded) */,
        "timestamp":
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
        "validation_pass": integer ∈ [0, 255],
        "operations_hash":
          string
          /* A list of list of operations (Base58Check-encoded) */,
        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
        "context": string /* A hash of context (Base58Check-encoded) */,
        "priority": integer ∈ [0, 2^16-1],
        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
        "signature":
          string
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _GET_..--block_id--context--constants : **GET ..//context/constants** .. raw:: html

All constants

    { "proof_of_work_nonce_size": integer ∈ [0, 255],
      "nonce_length": integer ∈ [0, 255],
      "max_revelations_per_block": integer ∈ [0, 255],
      "preserved_cycles": integer ∈ [0, 255],
      "blocks_per_cycle": integer ∈ [-2^31-2, 2^31+2],
      "blocks_per_commitment": integer ∈ [-2^31-2, 2^31+2],
      "blocks_per_roll_snapshot": integer ∈ [-2^31-2, 2^31+2],
      "blocks_per_voting_period": integer ∈ [-2^31-2, 2^31+2],
      "time_between_blocks": [ integer ∈ [-2^31-2, 2^31+2] || string ... ],
      "first_free_baking_slot": integer ∈ [0, 2^16-1],
      "endorsers_per_block": integer ∈ [0, 2^16-1],
      "hard_gas_limit_per_operation": $bignum,
      "hard_gas_limit_per_block": $bignum,
      "proof_of_work_threshold": integer ∈ [-2^31-2, 2^31+2] || string,
      "max_operation_data_length": integer ∈ [-2^30-2, 2^30+2],
      "tokens_per_roll":
        /* Amount in mutez */
        integer ∈ [-2^31-2, 2^31+2] || string,
      "michelson_maximum_type_size": integer ∈ [0, 2^16-1],
      "seed_nonce_revelation_tip":
        /* Amount in mutez */
        integer ∈ [-2^31-2, 2^31+2] || string,
      "origination_burn":
        /* Amount in mutez */
        integer ∈ [-2^31-2, 2^31+2] || string,
      "block_security_deposit":
        /* Amount in mutez */
        integer ∈ [-2^31-2, 2^31+2] || string,
      "endorsement_security_deposit":
        /* Amount in mutez */
        integer ∈ [-2^31-2, 2^31+2] || string,
      "block_reward":
        /* Amount in mutez */
        integer ∈ [-2^31-2, 2^31+2] || string,
      "endorsement_reward":
        /* Amount in mutez */
        integer ∈ [-2^31-2, 2^31+2] || string,
      "cost_per_byte":
        /* Amount in mutez */
        integer ∈ [-2^31-2, 2^31+2] || string,
      "hard_storage_limit_per_operation":
        integer ∈ [-2^31-2, 2^31+2] || string,
      "hard_storage_limit_per_block": integer ∈ [-2^31-2, 2^31+2] || string }
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
.. _GET_..--block_id--context--constants--block_reward : **GET ..//context/constants/block_reward** .. raw:: html

block_reward

    /* Amount in mutez */
    integer ∈ [-2^31-2, 2^31+2] || string
.. _GET_..--block_id--context--constants--block_security_deposit : **GET ..//context/constants/block_security_deposit** .. raw:: html

block_security_deposit

    /* Amount in mutez */
    integer ∈ [-2^31-2, 2^31+2] || string
.. _GET_..--block_id--context--constants--blocks_per_commitment : **GET ..//context/constants/blocks_per_commitment** .. raw:: html

How many blocks between random seed's nonce commitment

    integer ∈ [-2^31-2, 2^31+2]
.. _GET_..--block_id--context--constants--blocks_per_cycle : **GET ..//context/constants/blocks_per_cycle** .. raw:: html

Cycle length

    integer ∈ [-2^31-2, 2^31+2]
.. _GET_..--block_id--context--constants--blocks_per_roll_snapshot : **GET ..//context/constants/blocks_per_roll_snapshot** .. raw:: html

How many blocks between roll snapshots

    integer ∈ [-2^31-2, 2^31+2]
.. _GET_..--block_id--context--constants--blocks_per_voting_period : **GET ..//context/constants/blocks_per_voting_period** .. raw:: html

Length of the voting period

    integer ∈ [-2^31-2, 2^31+2]
.. _GET_..--block_id--context--constants--cost_per_byte : **GET ..//context/constants/cost_per_byte** .. raw:: html

The cost per bytes added to the storage

    { "cost_per_byte":
        /* Amount in mutez */
        integer ∈ [-2^31-2, 2^31+2] || string }
.. _GET_..--block_id--context--constants--endorsement_reward : **GET ..//context/constants/endorsement_reward** .. raw:: html

endorsement_reward

    /* Amount in mutez */
    integer ∈ [-2^31-2, 2^31+2] || string
.. _GET_..--block_id--context--constants--endorsement_security_deposit : **GET ..//context/constants/endorsement_security_deposit** .. raw:: html

endorsement_security_deposit

    /* Amount in mutez */
    integer ∈ [-2^31-2, 2^31+2] || string
.. _GET_..--block_id--context--constants--endorsers_per_block : **GET ..//context/constants/endorsers_per_block** .. raw:: html

Max signing slot

    integer ∈ [0, 2^16-1]
.. _GET_..--block_id--context--constants--errors : **GET ..//context/constants/errors** .. raw:: html

Schema for all the RPC errors from this protocol version

    any
.. _GET_..--block_id--context--constants--first_free_baking_slot : **GET ..//context/constants/first_free_baking_slot** .. raw:: html

First free baking slot

    integer ∈ [0, 2^16-1]
.. _GET_..--block_id--context--constants--hard_gas_limits : **GET ..//context/constants/hard_gas_limits** .. raw:: html

Hard maximum amount of gas per operation and per block

    { "per_block": $bignum,
      "per_operation": $bignum }
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
.. _GET_..--block_id--context--constants--hard_storage_limits : **GET ..//context/constants/hard_storage_limits** .. raw:: html

Hard maximum amount of bytes stored per operation and per block

    { "per_block": integer ∈ [-2^31-2, 2^31+2] || string,
      "per_operation": integer ∈ [-2^31-2, 2^31+2] || string }
.. _GET_..--block_id--context--constants--origination_burn : **GET ..//context/constants/origination_burn** .. raw:: html

origination_burn

    /* Amount in mutez */
    integer ∈ [-2^31-2, 2^31+2] || string
.. _GET_..--block_id--context--constants--preserved_cycles : **GET ..//context/constants/preserved_cycles** .. raw:: html

How many cycle before the 'no-automatic-fork point'

    integer ∈ [-2^30-2, 2^30+2]
.. _GET_..--block_id--context--constants--proof_of_work_threshold : **GET ..//context/constants/proof_of_work_threshold** .. raw:: html

Stamp threshold

    integer ∈ [-2^31-2, 2^31+2] || string
.. _GET_..--block_id--context--constants--seed_nonce_revelation_tip : **GET ..//context/constants/seed_nonce_revelation_tip** .. raw:: html

seed_nonce_revelation_tip

    /* Amount in mutez */
    integer ∈ [-2^31-2, 2^31+2] || string
.. _GET_..--block_id--context--constants--time_between_slots : **GET ..//context/constants/time_between_slots** .. raw:: html

Slot durations

    [ integer ∈ [-2^31-2, 2^31+2] || string ... ]
.. _GET_..--block_id--context--contracts : **GET ..//context/contracts** .. raw:: html

All existing contracts (including non-empty default contracts).

    [ $contract_id ... ]
    $contract_id:
      /* A contract handle
         A contract notation as given to an RPC or inside scripts. Can be a
         base58 implicit contract hash or a base58 originated contract hash. */
      string
.. _GET_..--block_id--context--contracts--contract_id : **GET ..//context/contracts/** .. raw:: html

Access the complete status of a contract.

    { "manager":
        string
        /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
      "balance": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
      "spendable": boolean,
      "delegate":
        { "setable": boolean,
          "value"?:
            string
            /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ },
      "script"?:
        { "code": $micheline.michelson_v1.expression,
          "storage": $micheline.michelson_v1.expression },
      "counter": integer ∈ [-2^31-2, 2^31+2] }
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $micheline.michelson_v1.expression:
      /* Micheline expression (michelson_v1 variant) */
      { "int": $bignum }
      || { "string": string }
      || [ $micheline.michelson_v1.expression ... ]
      || { "prim":
             "CAR"
             | "LSR"
             | "ADDRESS"
             | "CREATE_CONTRACT"
             | "LSL"
             | "MANAGER"
             | "Elt"
             | "EDIV"
             | "OR"
             | "address"
             | "operation"
             | "ADD"
             | "AMOUNT"
             | "ISNAT"
             | "list"
             | "NEG"
             | "LOOP_LEFT"
             | "EMPTY_MAP"
             | "H"
             | "unit"
             | "SELF"
             | "Right"
             | "set"
             | "LAMBDA"
             | "MEM"
             | "ITER"
             | "storage"
             | "CONTRACT"
             | "CONS"
             | "XOR"
             | "STEPS_TO_QUOTA"
             | "False"
             | "AND"
             | "CREATE_ACCOUNT"
             | "COMPARE"
             | "or"
             | "GE"
             | "UPDATE"
             | "NEQ"
             | "SOURCE"
             | "int"
             | "timestamp"
             | "IMPLICIT_ACCOUNT"
             | "string"
             | "Unit"
             | "Some"
             | "ABS"
             | "PAIR"
             | "LT"
             | "CDR"
             | "EMPTY_SET"
             | "BALANCE"
             | "map"
             | "IF"
             | "SOME"
             | "MUL"
             | "NOT"
             | "NONE"
             | "None"
             | "DIP"
             | "GT"
             | "NOW"
             | "key_hash"
             | "NIL"
             | "contract"
             | "EXEC"
             | "SET_DELEGATE"
             | "UNIT"
             | "LOOP"
             | "SUB"
             | "CONCAT"
             | "DROP"
             | "MAP"
             | "RIGHT"
             | "LEFT"
             | "TRANSFER_TOKENS"
             | "INT"
             | "Left"
             | "big_map"
             | "signature"
             | "SWAP"
             | "mutez"
             | "EQ"
             | "GET"
             | "PUSH"
             | "option"
             | "IF_CONS"
             | "pair"
             | "nat"
             | "True"
             | "IF_LEFT"
             | "parameter"
             | "LE"
             | "HASH_KEY"
             | "SIZE"
             | "bool"
             | "Pair"
             | "lambda"
             | "FAIL"
             | "DUP"
             | "IF_NONE"
             | "key"
             | "code"
             | "CHECK_SIGNATURE",
           "args": [ $micheline.michelson_v1.expression ... ],
           "annot"?: string }
.. _GET_..--block_id--context--contracts--contract_id--balance : **GET ..//context/contracts//balance** .. raw:: html

Access the balance of a contract.

    /* Amount in mutez */
    integer ∈ [-2^31-2, 2^31+2] || string
.. _GET_..--block_id--context--contracts--contract_id--counter : **GET ..//context/contracts//counter** .. raw:: html

Access the counter of a contract, if any.

    integer ∈ [-2^31-2, 2^31+2]
.. _GET_..--block_id--context--contracts--contract_id--delegatable : **GET ..//context/contracts//delegatable** .. raw:: html

Tells if the contract delegate can be changed.

    boolean
.. _GET_..--block_id--context--contracts--contract_id--delegate : **GET ..//context/contracts//delegate** .. raw:: html

Access the delegate of a contract, if any.

    string
    /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */
.. _GET_..--block_id--context--contracts--contract_id--manager : **GET ..//context/contracts//manager** .. raw:: html

Access the manager of a contract.

    string
    /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */
.. _GET_..--block_id--context--contracts--contract_id--manager_key : **GET ..//context/contracts//manager_key** .. raw:: html

Access the manager of a contract.

    { "manager":
        string
        /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
      "key"?:
        string
        /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */ }
.. _GET_..--block_id--context--contracts--contract_id--script : **GET ..//context/contracts//script** .. raw:: html

Access the code and data of the contract.

    { "code": $micheline.michelson_v1.expression,
      "storage": $micheline.michelson_v1.expression }
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $micheline.michelson_v1.expression:
      /* Micheline expression (michelson_v1 variant) */
      { "int": $bignum }
      || { "string": string }
      || [ $micheline.michelson_v1.expression ... ]
      || { "prim":
             "CAR"
             | "LSR"
             | "ADDRESS"
             | "CREATE_CONTRACT"
             | "LSL"
             | "MANAGER"
             | "Elt"
             | "EDIV"
             | "OR"
             | "address"
             | "operation"
             | "ADD"
             | "AMOUNT"
             | "ISNAT"
             | "list"
             | "NEG"
             | "LOOP_LEFT"
             | "EMPTY_MAP"
             | "H"
             | "unit"
             | "SELF"
             | "Right"
             | "set"
             | "LAMBDA"
             | "MEM"
             | "ITER"
             | "storage"
             | "CONTRACT"
             | "CONS"
             | "XOR"
             | "STEPS_TO_QUOTA"
             | "False"
             | "AND"
             | "CREATE_ACCOUNT"
             | "COMPARE"
             | "or"
             | "GE"
             | "UPDATE"
             | "NEQ"
             | "SOURCE"
             | "int"
             | "timestamp"
             | "IMPLICIT_ACCOUNT"
             | "string"
             | "Unit"
             | "Some"
             | "ABS"
             | "PAIR"
             | "LT"
             | "CDR"
             | "EMPTY_SET"
             | "BALANCE"
             | "map"
             | "IF"
             | "SOME"
             | "MUL"
             | "NOT"
             | "NONE"
             | "None"
             | "DIP"
             | "GT"
             | "NOW"
             | "key_hash"
             | "NIL"
             | "contract"
             | "EXEC"
             | "SET_DELEGATE"
             | "UNIT"
             | "LOOP"
             | "SUB"
             | "CONCAT"
             | "DROP"
             | "MAP"
             | "RIGHT"
             | "LEFT"
             | "TRANSFER_TOKENS"
             | "INT"
             | "Left"
             | "big_map"
             | "signature"
             | "SWAP"
             | "mutez"
             | "EQ"
             | "GET"
             | "PUSH"
             | "option"
             | "IF_CONS"
             | "pair"
             | "nat"
             | "True"
             | "IF_LEFT"
             | "parameter"
             | "LE"
             | "HASH_KEY"
             | "SIZE"
             | "bool"
             | "Pair"
             | "lambda"
             | "FAIL"
             | "DUP"
             | "IF_NONE"
             | "key"
             | "code"
             | "CHECK_SIGNATURE",
           "args": [ $micheline.michelson_v1.expression ... ],
           "annot"?: string }
.. _GET_..--block_id--context--contracts--contract_id--spendable : **GET ..//context/contracts//spendable** .. raw:: html

Tells if the contract tokens can be spent by the manager.

    boolean
.. _GET_..--block_id--context--contracts--contract_id--storage : **GET ..//context/contracts//storage** .. raw:: html

Access the data of the contract.

    $micheline.michelson_v1.expression
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $micheline.michelson_v1.expression:
      /* Micheline expression (michelson_v1 variant) */
      { "int": $bignum }
      || { "string": string }
      || [ $micheline.michelson_v1.expression ... ]
      || { "prim":
             "CAR"
             | "LSR"
             | "ADDRESS"
             | "CREATE_CONTRACT"
             | "LSL"
             | "MANAGER"
             | "Elt"
             | "EDIV"
             | "OR"
             | "address"
             | "operation"
             | "ADD"
             | "AMOUNT"
             | "ISNAT"
             | "list"
             | "NEG"
             | "LOOP_LEFT"
             | "EMPTY_MAP"
             | "H"
             | "unit"
             | "SELF"
             | "Right"
             | "set"
             | "LAMBDA"
             | "MEM"
             | "ITER"
             | "storage"
             | "CONTRACT"
             | "CONS"
             | "XOR"
             | "STEPS_TO_QUOTA"
             | "False"
             | "AND"
             | "CREATE_ACCOUNT"
             | "COMPARE"
             | "or"
             | "GE"
             | "UPDATE"
             | "NEQ"
             | "SOURCE"
             | "int"
             | "timestamp"
             | "IMPLICIT_ACCOUNT"
             | "string"
             | "Unit"
             | "Some"
             | "ABS"
             | "PAIR"
             | "LT"
             | "CDR"
             | "EMPTY_SET"
             | "BALANCE"
             | "map"
             | "IF"
             | "SOME"
             | "MUL"
             | "NOT"
             | "NONE"
             | "None"
             | "DIP"
             | "GT"
             | "NOW"
             | "key_hash"
             | "NIL"
             | "contract"
             | "EXEC"
             | "SET_DELEGATE"
             | "UNIT"
             | "LOOP"
             | "SUB"
             | "CONCAT"
             | "DROP"
             | "MAP"
             | "RIGHT"
             | "LEFT"
             | "TRANSFER_TOKENS"
             | "INT"
             | "Left"
             | "big_map"
             | "signature"
             | "SWAP"
             | "mutez"
             | "EQ"
             | "GET"
             | "PUSH"
             | "option"
             | "IF_CONS"
             | "pair"
             | "nat"
             | "True"
             | "IF_LEFT"
             | "parameter"
             | "LE"
             | "HASH_KEY"
             | "SIZE"
             | "bool"
             | "Pair"
             | "lambda"
             | "FAIL"
             | "DUP"
             | "IF_NONE"
             | "key"
             | "code"
             | "CHECK_SIGNATURE",
           "args": [ $micheline.michelson_v1.expression ... ],
           "annot"?: string }
.. _GET_..--block_id--context--delegates : **GET ..//context/delegates?[active]&[inactive]** .. raw:: html

List all registred delegates.

Optional query arguments :

  • active
  • inactive

    [ string
    /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ ... ]
.. _GET_..--block_id--context--delegates--pkh : **GET ..//context/delegates/** .. raw:: html

Everything about a delegate.

    { "balance": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
      "frozen_balance":
        /* Amount in mutez */
        integer ∈ [-2^31-2, 2^31+2] || string,
      "frozen_balance_by_cycle":
        [ { "cycle": integer ∈ [-2^31-2, 2^31+2],
            "deposit":
              /* Amount in mutez */
              integer ∈ [-2^31-2, 2^31+2] || string,
            "fees":
              /* Amount in mutez */
              integer ∈ [-2^31-2, 2^31+2] || string,
            "rewards":
              /* Amount in mutez */
              integer ∈ [-2^31-2, 2^31+2] || string } ... ],
      "staking_balance":
        /* Amount in mutez */
        integer ∈ [-2^31-2, 2^31+2] || string,
      "delegated_contracts":
        [ string
        /* A contract ID (Base58Check-encoded) */ ... ],
      "delegated_balance":
        /* Amount in mutez */
        integer ∈ [-2^31-2, 2^31+2] || string,
      "deactivated": boolean,
      "grace_period": integer ∈ [-2^31-2, 2^31+2] }
.. _GET_..--block_id--context--delegates--pkh--balance : **GET ..//context/delegates//balance** .. raw:: html

Returns the full balance of a given delegate, including the frozen balances.

    /* Amount in mutez */
    integer ∈ [-2^31-2, 2^31+2] || string
.. _GET_..--block_id--context--delegates--pkh--deactivated : **GET ..//context/delegates//deactivated** .. raw:: html

Returns whether the delegate is currently tagged as deactivated or not.

    boolean
.. _GET_..--block_id--context--delegates--pkh--delegated_balance : **GET ..//context/delegates//delegated_balance** .. raw:: html

The includes the balance of all the contracts that delegates to it. This excludes the delegate own balance and its frozen balances.

    /* Amount in mutez */
    integer ∈ [-2^31-2, 2^31+2] || string
.. _GET_..--block_id--context--delegates--pkh--delegated_contracts : **GET ..//context/delegates//delegated_contracts** .. raw:: html

Returns the list of contract that delegates to a given delegate.

    [ string
    /* A contract ID (Base58Check-encoded) */ ... ]
.. _GET_..--block_id--context--delegates--pkh--frozen_balance : **GET ..//context/delegates//frozen_balance** .. raw:: html

Returns the total frozen balances of a given delegate, this includes the frozen deposits, rewards and fees.

    /* Amount in mutez */
    integer ∈ [-2^31-2, 2^31+2] || string
.. _GET_..--block_id--context--delegates--pkh--frozen_balance_by_cycle : **GET ..//context/delegates//frozen_balance_by_cycle** .. raw:: html

Returns the frozen balances of a given delegate, indexed by the cycle by which it will be unfrozen

    [ { "cycle": integer ∈ [-2^31-2, 2^31+2],
        "deposit": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
        "fees": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
        "rewards": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string } ... ]
.. _GET_..--block_id--context--delegates--pkh--grace_period : **GET ..//context/delegates//grace_period** .. raw:: html

Returns the cycle by the end of which the delegate might be deactivated, whether should she failed to execute any delegate action until then. A deactivated delegate might be reactivated (without loosing any rolls) by simply re-register as a delegate. For deactivated delegate this value contains the cycle by which they were deactivated.

    integer ∈ [-2^31-2, 2^31+2]
.. _GET_..--block_id--context--delegates--pkh--staking_balance : **GET ..//context/delegates//staking_balance** .. raw:: html

Returns the total amount of token delegated to a given delegate. This includes the balance of all the contracts that delegates to it, but also the balance of the delegate itself and its frozen fees and deposits. The rewards do not count in the delegated balance until they are unfrozen.

    /* Amount in mutez */
    integer ∈ [-2^31-2, 2^31+2] || string
.. _GET_..--block_id--context--nonces--block_level : **GET ..//context/nonces/** .. raw:: html

Info about the nonce of a previous block.

    { "nonce": /^[a-zA-Z0-9]+$/ }
    || { "hash": string /* A nonce hash (Base58Check-encoded) */ }
    || {  }
.. _GET_..--block_id--context--raw--bytes : **GET ..//context/raw/bytes?[depth=]** .. raw:: html

Returns the raw context.

Optional query arguments :

  • depth = <int>

    $raw_context
    $raw_context: /^[a-zA-Z0-9]+$/ || { *: $raw_context } || null
.. _GET_..--block_id--hash : **GET ..//hash** .. raw:: html

The block's hash, its unique identifier.

    string
    /* A block identifier (Base58Check-encoded) */
.. _GET_..--block_id--header : **GET ..//header** .. raw:: html

The whole block header.

    $block_header
    $block_header:
      { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
        "chain_id": string /* Network identifier (Base58Check-encoded) */,
        "hash": string /* A block identifier (Base58Check-encoded) */,
        "level": integer ∈ [-2^31-2, 2^31+2],
        "proto": integer ∈ [0, 255],
        "predecessor": string /* A block identifier (Base58Check-encoded) */,
        "timestamp":
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
        "validation_pass": integer ∈ [0, 255],
        "operations_hash":
          string
          /* A list of list of operations (Base58Check-encoded) */,
        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
        "context": string /* A hash of context (Base58Check-encoded) */,
        "priority": integer ∈ [0, 2^16-1],
        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
        "signature":
          string
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _GET_..--block_id--header--protocol_data : **GET ..//header/protocol_data** .. raw:: html

The version-specific fragment of the block header.

    { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
      "priority": integer ∈ [0, 2^16-1],
      "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
      "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
      "signature":
        string
        /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
.. _GET_..--block_id--header--shell : **GET ..//header/shell** .. raw:: html

The shell-specific fragment of the block header.

    $block_header.shell
    $block_header.shell:
      { "level": integer ∈ [-2^31-2, 2^31+2],
        "proto": integer ∈ [0, 255],
        "predecessor": string /* A block identifier (Base58Check-encoded) */,
        "timestamp":
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
        "validation_pass": integer ∈ [0, 255],
        "operations_hash":
          string
          /* A list of list of operations (Base58Check-encoded) */,
        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
        "context": string /* A hash of context (Base58Check-encoded) */ }
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _GET_..--block_id--header--shell--context_hash : **GET ..//header/shell/context_hash** .. raw:: html

The hash of the resulting validation context.

    string
    /* A hash of context (Base58Check-encoded) */
.. _GET_..--block_id--header--shell--fitness : **GET ..//header/shell/fitness** .. raw:: html

The block's fitness.

    [ /^[a-zA-Z0-9]+$/ ... ]
    /* Tezos block fitness */
.. _GET_..--block_id--header--shell--level : **GET ..//header/shell/level** .. raw:: html

The block's level.

    integer ∈ [-2^31-2, 2^31+2]
.. _GET_..--block_id--header--shell--operations_hash : **GET ..//header/shell/operations_hash** .. raw:: html

The hash of merkle tree of the operations included in the block.

    string
    /* A list of list of operations (Base58Check-encoded) */
.. _GET_..--block_id--header--shell--predecessor : **GET ..//header/shell/predecessor** .. raw:: html

The previous block's id.

    string
    /* A block identifier (Base58Check-encoded) */
.. _GET_..--block_id--header--shell--proto_level : **GET ..//header/shell/proto_level** .. raw:: html

The block's protocol level (modulo 256).

    integer ∈ [0, 255]
.. _GET_..--block_id--header--shell--timestamp : **GET ..//header/shell/timestamp** .. raw:: html

The block's timestamp.

    /* timestamp */
    $timestamp || integer ∈ [-2^31-2, 2^31+2] || string
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _GET_..--block_id--header--shell--validation_passes : **GET ..//header/shell/validation_passes** .. raw:: html

The number of validation passes for the block.

    integer ∈ [0, 255]
.. _GET_..--block_id--helpers--baking_rights : **GET ..//helpers/baking_rights?(level=)\*&(cycle=)\*&(delegate=)\*&[max_priority=]&[all]** .. raw:: html

...FIXME...

Optional query arguments :

  • level = <block_level>
  • cycle = <block_cycle>
  • delegate = <pkh>
  • max_priority = <int>
  • all

    [ { "level": integer ∈ [-2^31-2, 2^31+2],
        "delegate":
          string
          /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
        "priority": integer ∈ [0, 2^16-1],
        "timestamp"?:
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string } ... ]
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _GET_..--block_id--helpers--complete--prefix : **GET ..//helpers/complete/** .. raw:: html

Try to complete a prefix of a Base58Check-encoded data. This RPC is actually able to complete hashes of block, operations, public_keys and contracts.

    [ string ... ]
.. _GET_..--block_id--helpers--current_level : **GET ..//helpers/current_level?[offset=]** .. raw:: html

...

Optional query arguments :

  • offset = <int32>

    { "level": integer ∈ [-2^31-2, 2^31+2],
      "level_position": integer ∈ [-2^31-2, 2^31+2],
      "cycle": integer ∈ [-2^31-2, 2^31+2],
      "cycle_position": integer ∈ [-2^31-2, 2^31+2],
      "voting_period": integer ∈ [-2^31-2, 2^31+2],
      "voting_period_position": integer ∈ [-2^31-2, 2^31+2],
      "expected_commitment": boolean }
.. _GET_..--block_id--helpers--endorsing_rights : **GET ..//helpers/endorsing_rights?(level=)\*&(cycle=)\*&(delegate=)\*** .. raw:: html

...FIXME...

Optional query arguments :

  • level = <block_level>
  • cycle = <block_cycle>
  • delegate = <pkh>

    [ { "level": integer ∈ [-2^31-2, 2^31+2],
        "delegate":
          string
          /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
        "slots": [ integer ∈ [0, 2^16-1] ... ],
        "estimated_time"?:
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string } ... ]
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _POST_..--block_id--helpers--forge--operations : **POST ..//helpers/forge/operations** .. raw:: html

Forge an operation

    $operation.alpha.unsigned_operation
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $block_header.alpha.full_header:
      { "level": integer ∈ [-2^31-2, 2^31+2],
        "proto": integer ∈ [0, 255],
        "predecessor": string /* A block identifier (Base58Check-encoded) */,
        "timestamp":
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
        "validation_pass": integer ∈ [0, 255],
        "operations_hash":
          string
          /* A list of list of operations (Base58Check-encoded) */,
        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
        "context": string /* A hash of context (Base58Check-encoded) */,
        "priority": integer ∈ [0, 2^16-1],
        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
        "signature":
          string
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
    $contract_id:
      /* A contract handle
         A contract notation as given to an RPC or inside scripts. Can be a
         base58 implicit contract hash or a base58 originated contract hash. */
      string
    $micheline.michelson_v1.expression:
      /* Micheline expression (michelson_v1 variant) */
      { "int": $bignum }
      || { "string": string }
      || [ $micheline.michelson_v1.expression ... ]
      || { "prim":
             "CAR"
             | "LSR"
             | "ADDRESS"
             | "CREATE_CONTRACT"
             | "LSL"
             | "MANAGER"
             | "Elt"
             | "EDIV"
             | "OR"
             | "address"
             | "operation"
             | "ADD"
             | "AMOUNT"
             | "ISNAT"
             | "list"
             | "NEG"
             | "LOOP_LEFT"
             | "EMPTY_MAP"
             | "H"
             | "unit"
             | "SELF"
             | "Right"
             | "set"
             | "LAMBDA"
             | "MEM"
             | "ITER"
             | "storage"
             | "CONTRACT"
             | "CONS"
             | "XOR"
             | "STEPS_TO_QUOTA"
             | "False"
             | "AND"
             | "CREATE_ACCOUNT"
             | "COMPARE"
             | "or"
             | "GE"
             | "UPDATE"
             | "NEQ"
             | "SOURCE"
             | "int"
             | "timestamp"
             | "IMPLICIT_ACCOUNT"
             | "string"
             | "Unit"
             | "Some"
             | "ABS"
             | "PAIR"
             | "LT"
             | "CDR"
             | "EMPTY_SET"
             | "BALANCE"
             | "map"
             | "IF"
             | "SOME"
             | "MUL"
             | "NOT"
             | "NONE"
             | "None"
             | "DIP"
             | "GT"
             | "NOW"
             | "key_hash"
             | "NIL"
             | "contract"
             | "EXEC"
             | "SET_DELEGATE"
             | "UNIT"
             | "LOOP"
             | "SUB"
             | "CONCAT"
             | "DROP"
             | "MAP"
             | "RIGHT"
             | "LEFT"
             | "TRANSFER_TOKENS"
             | "INT"
             | "Left"
             | "big_map"
             | "signature"
             | "SWAP"
             | "mutez"
             | "EQ"
             | "GET"
             | "PUSH"
             | "option"
             | "IF_CONS"
             | "pair"
             | "nat"
             | "True"
             | "IF_LEFT"
             | "parameter"
             | "LE"
             | "HASH_KEY"
             | "SIZE"
             | "bool"
             | "Pair"
             | "lambda"
             | "FAIL"
             | "DUP"
             | "IF_NONE"
             | "key"
             | "code"
             | "CHECK_SIGNATURE",
           "args": [ $micheline.michelson_v1.expression ... ],
           "annot"?: string }
    $operation.alpha.contents:
      { "kind": "endorsement",
        "block": string /* A block identifier (Base58Check-encoded) */,
        "level": integer ∈ [-2^31-2, 2^31+2],
        "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] }
      || { "kind": "seed_nonce_revelation",
           "level": integer ∈ [-2^31-2, 2^31+2],
           "nonce": /^[a-zA-Z0-9]+$/ }
      || { "kind": "double_endorsement_evidence",
           "op1":
             { "branch": string /* A block identifier (Base58Check-encoded) */,
               "operations":
                 { "kind": "endorsement",
                   "block":
                     string
                     /* A block identifier (Base58Check-encoded) */,
                   "level": integer ∈ [-2^31-2, 2^31+2],
                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
               "signature"?:
                 string
                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
           "op2":
             { "branch": string /* A block identifier (Base58Check-encoded) */,
               "operations":
                 { "kind": "endorsement",
                   "block":
                     string
                     /* A block identifier (Base58Check-encoded) */,
                   "level": integer ∈ [-2^31-2, 2^31+2],
                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
               "signature"?:
                 string
                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ } }
      || { "kind": "double_baking_evidence",
           "bh1": $block_header.alpha.full_header,
           "bh2": $block_header.alpha.full_header }
      || { "kind": "activate_account",
           "pkh": string /* An Ed25519 public key hash (Base58Check-encoded) */,
           "secret": /^[a-zA-Z0-9]+$/ }
      || { "kind": "proposals",
           "source":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "period": integer ∈ [-2^31-2, 2^31+2],
           "proposals":
             [ string
             /* A Tezos protocol ID (Base58Check-encoded) */ ... ] }
      || { "kind": "ballot",
           "source":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "period": integer ∈ [-2^31-2, 2^31+2],
           "proposal": string /* A Tezos protocol ID (Base58Check-encoded) */,
           "ballot": "nay" | "yay" | "pass" }
      || { "kind": "reveal",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "public_key":
             string
             /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */ }
      || { "kind": "transaction",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "amount":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "destination": $contract_id,
           "parameters"?: $micheline.michelson_v1.expression }
      || { "kind": "origination",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "manager_pubkey":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "balance":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "spendable"?: boolean,
           "delegatable"?: boolean,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "script"?:
             { "code": $micheline.michelson_v1.expression,
               "storage": $micheline.michelson_v1.expression } }
      || { "kind": "delegation",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ }
      || { "kind": "activate_protocol",
           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */ }
      || { "kind": "activate_test_protocol",
           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */ }
    $operation.alpha.unsigned_operation:
      /* Unsigned Alpha operation */
      { "branch": string /* A block identifier (Base58Check-encoded) */,
        "contents": [ $operation.alpha.contents ... ] }
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
    /^[a-zA-Z0-9]+$/
.. _POST_..--block_id--helpers--forge--protocol_data : **POST ..//helpers/forge/protocol_data** .. raw:: html

Forge the protocol-specific part of a block header

    { "priority": integer ∈ [0, 2^16-1],
      "nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
      "proof_of_work_nonce"?: /^[a-zA-Z0-9]+$/ }
    { "protocol_data": /^[a-zA-Z0-9]+$/ }
.. _POST_..--block_id--helpers--forge_block_header : **POST ..//helpers/forge_block_header** .. raw:: html

Forge a block header

    { "level": integer ∈ [-2^31-2, 2^31+2],
      "proto": integer ∈ [0, 255],
      "predecessor": string /* A block identifier (Base58Check-encoded) */,
      "timestamp":
        /* timestamp */
        $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
      "validation_pass": integer ∈ [0, 255],
      "operations_hash":
        string
        /* A list of list of operations (Base58Check-encoded) */,
      "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
      "context": string /* A hash of context (Base58Check-encoded) */,
      "protocol_data": /^[a-zA-Z0-9]+$/ }
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
    { "block": /^[a-zA-Z0-9]+$/ }
.. _GET_..--block_id--helpers--levels_in_current_cycle : **GET ..//helpers/levels_in_current_cycle?[offset=]** .. raw:: html

Levels of a cycle

Optional query arguments :

  • offset = <int32>

    { /* levels of a cycle */
      "first": integer ∈ [-2^31-2, 2^31+2],
      "last": integer ∈ [-2^31-2, 2^31+2] }
.. _POST_..--block_id--helpers--parse--block : **POST ..//helpers/parse/block** .. raw:: html

Parse a block

    { "level": integer ∈ [-2^31-2, 2^31+2],
      "proto": integer ∈ [0, 255],
      "predecessor": string /* A block identifier (Base58Check-encoded) */,
      "timestamp":
        /* timestamp */
        $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
      "validation_pass": integer ∈ [0, 255],
      "operations_hash":
        string
        /* A list of list of operations (Base58Check-encoded) */,
      "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
      "context": string /* A hash of context (Base58Check-encoded) */,
      "protocol_data": /^[a-zA-Z0-9]+$/ }
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
    $block_header.alpha.signed_contents
    $block_header.alpha.signed_contents:
      { "priority": integer ∈ [0, 2^16-1],
        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
        "signature":
          string
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
.. _POST_..--block_id--helpers--parse--operations : **POST ..//helpers/parse/operations** .. raw:: html

Parse operations

    { "operations":
        [ { "branch": string /* A block identifier (Base58Check-encoded) */,
            "data": /^[a-zA-Z0-9]+$/ } ... ],
      "check_signature"?: boolean }
    [ { "branch": string /* A block identifier (Base58Check-encoded) */,
        "contents": [ $operation.alpha.contents ... ],
        "signature"?:
          string
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ } ... ]
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $block_header.alpha.full_header:
      { "level": integer ∈ [-2^31-2, 2^31+2],
        "proto": integer ∈ [0, 255],
        "predecessor": string /* A block identifier (Base58Check-encoded) */,
        "timestamp":
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
        "validation_pass": integer ∈ [0, 255],
        "operations_hash":
          string
          /* A list of list of operations (Base58Check-encoded) */,
        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
        "context": string /* A hash of context (Base58Check-encoded) */,
        "priority": integer ∈ [0, 2^16-1],
        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
        "signature":
          string
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
    $contract_id:
      /* A contract handle
         A contract notation as given to an RPC or inside scripts. Can be a
         base58 implicit contract hash or a base58 originated contract hash. */
      string
    $micheline.michelson_v1.expression:
      /* Micheline expression (michelson_v1 variant) */
      { "int": $bignum }
      || { "string": string }
      || [ $micheline.michelson_v1.expression ... ]
      || { "prim":
             "CAR"
             | "LSR"
             | "ADDRESS"
             | "CREATE_CONTRACT"
             | "LSL"
             | "MANAGER"
             | "Elt"
             | "EDIV"
             | "OR"
             | "address"
             | "operation"
             | "ADD"
             | "AMOUNT"
             | "ISNAT"
             | "list"
             | "NEG"
             | "LOOP_LEFT"
             | "EMPTY_MAP"
             | "H"
             | "unit"
             | "SELF"
             | "Right"
             | "set"
             | "LAMBDA"
             | "MEM"
             | "ITER"
             | "storage"
             | "CONTRACT"
             | "CONS"
             | "XOR"
             | "STEPS_TO_QUOTA"
             | "False"
             | "AND"
             | "CREATE_ACCOUNT"
             | "COMPARE"
             | "or"
             | "GE"
             | "UPDATE"
             | "NEQ"
             | "SOURCE"
             | "int"
             | "timestamp"
             | "IMPLICIT_ACCOUNT"
             | "string"
             | "Unit"
             | "Some"
             | "ABS"
             | "PAIR"
             | "LT"
             | "CDR"
             | "EMPTY_SET"
             | "BALANCE"
             | "map"
             | "IF"
             | "SOME"
             | "MUL"
             | "NOT"
             | "NONE"
             | "None"
             | "DIP"
             | "GT"
             | "NOW"
             | "key_hash"
             | "NIL"
             | "contract"
             | "EXEC"
             | "SET_DELEGATE"
             | "UNIT"
             | "LOOP"
             | "SUB"
             | "CONCAT"
             | "DROP"
             | "MAP"
             | "RIGHT"
             | "LEFT"
             | "TRANSFER_TOKENS"
             | "INT"
             | "Left"
             | "big_map"
             | "signature"
             | "SWAP"
             | "mutez"
             | "EQ"
             | "GET"
             | "PUSH"
             | "option"
             | "IF_CONS"
             | "pair"
             | "nat"
             | "True"
             | "IF_LEFT"
             | "parameter"
             | "LE"
             | "HASH_KEY"
             | "SIZE"
             | "bool"
             | "Pair"
             | "lambda"
             | "FAIL"
             | "DUP"
             | "IF_NONE"
             | "key"
             | "code"
             | "CHECK_SIGNATURE",
           "args": [ $micheline.michelson_v1.expression ... ],
           "annot"?: string }
    $operation.alpha.contents:
      { "kind": "endorsement",
        "block": string /* A block identifier (Base58Check-encoded) */,
        "level": integer ∈ [-2^31-2, 2^31+2],
        "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] }
      || { "kind": "seed_nonce_revelation",
           "level": integer ∈ [-2^31-2, 2^31+2],
           "nonce": /^[a-zA-Z0-9]+$/ }
      || { "kind": "double_endorsement_evidence",
           "op1":
             { "branch": string /* A block identifier (Base58Check-encoded) */,
               "operations":
                 { "kind": "endorsement",
                   "block":
                     string
                     /* A block identifier (Base58Check-encoded) */,
                   "level": integer ∈ [-2^31-2, 2^31+2],
                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
               "signature"?:
                 string
                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
           "op2":
             { "branch": string /* A block identifier (Base58Check-encoded) */,
               "operations":
                 { "kind": "endorsement",
                   "block":
                     string
                     /* A block identifier (Base58Check-encoded) */,
                   "level": integer ∈ [-2^31-2, 2^31+2],
                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
               "signature"?:
                 string
                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ } }
      || { "kind": "double_baking_evidence",
           "bh1": $block_header.alpha.full_header,
           "bh2": $block_header.alpha.full_header }
      || { "kind": "activate_account",
           "pkh": string /* An Ed25519 public key hash (Base58Check-encoded) */,
           "secret": /^[a-zA-Z0-9]+$/ }
      || { "kind": "proposals",
           "source":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "period": integer ∈ [-2^31-2, 2^31+2],
           "proposals":
             [ string
             /* A Tezos protocol ID (Base58Check-encoded) */ ... ] }
      || { "kind": "ballot",
           "source":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "period": integer ∈ [-2^31-2, 2^31+2],
           "proposal": string /* A Tezos protocol ID (Base58Check-encoded) */,
           "ballot": "nay" | "yay" | "pass" }
      || { "kind": "reveal",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "public_key":
             string
             /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */ }
      || { "kind": "transaction",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "amount":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "destination": $contract_id,
           "parameters"?: $micheline.michelson_v1.expression }
      || { "kind": "origination",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "manager_pubkey":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "balance":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "spendable"?: boolean,
           "delegatable"?: boolean,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "script"?:
             { "code": $micheline.michelson_v1.expression,
               "storage": $micheline.michelson_v1.expression } }
      || { "kind": "delegation",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ }
      || { "kind": "activate_protocol",
           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */ }
      || { "kind": "activate_test_protocol",
           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */ }
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _POST_..--block_id--helpers--preapply--block : **POST ..//helpers/preapply/block?[sort]&[timestamp=]** .. raw:: html

Simulate the validation of a block that would contain the given operations and return the resulting fitness and context hash.

Optional query arguments :

  • sort
  • timestamp = <date>

    { "protocol_data":
        { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
          "priority": integer ∈ [0, 2^16-1],
          "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
          "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
          "signature":
            string
            /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
      "operations": [ [ $next_operation ... ] ... ] }
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $block_header.alpha.full_header:
      { "level": integer ∈ [-2^31-2, 2^31+2],
        "proto": integer ∈ [0, 255],
        "predecessor": string /* A block identifier (Base58Check-encoded) */,
        "timestamp":
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
        "validation_pass": integer ∈ [0, 255],
        "operations_hash":
          string
          /* A list of list of operations (Base58Check-encoded) */,
        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
        "context": string /* A hash of context (Base58Check-encoded) */,
        "priority": integer ∈ [0, 2^16-1],
        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
        "signature":
          string
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
    $contract_id:
      /* A contract handle
         A contract notation as given to an RPC or inside scripts. Can be a
         base58 implicit contract hash or a base58 originated contract hash. */
      string
    $micheline.michelson_v1.expression:
      /* Micheline expression (michelson_v1 variant) */
      { "int": $bignum }
      || { "string": string }
      || [ $micheline.michelson_v1.expression ... ]
      || { "prim":
             "CAR"
             | "LSR"
             | "ADDRESS"
             | "CREATE_CONTRACT"
             | "LSL"
             | "MANAGER"
             | "Elt"
             | "EDIV"
             | "OR"
             | "address"
             | "operation"
             | "ADD"
             | "AMOUNT"
             | "ISNAT"
             | "list"
             | "NEG"
             | "LOOP_LEFT"
             | "EMPTY_MAP"
             | "H"
             | "unit"
             | "SELF"
             | "Right"
             | "set"
             | "LAMBDA"
             | "MEM"
             | "ITER"
             | "storage"
             | "CONTRACT"
             | "CONS"
             | "XOR"
             | "STEPS_TO_QUOTA"
             | "False"
             | "AND"
             | "CREATE_ACCOUNT"
             | "COMPARE"
             | "or"
             | "GE"
             | "UPDATE"
             | "NEQ"
             | "SOURCE"
             | "int"
             | "timestamp"
             | "IMPLICIT_ACCOUNT"
             | "string"
             | "Unit"
             | "Some"
             | "ABS"
             | "PAIR"
             | "LT"
             | "CDR"
             | "EMPTY_SET"
             | "BALANCE"
             | "map"
             | "IF"
             | "SOME"
             | "MUL"
             | "NOT"
             | "NONE"
             | "None"
             | "DIP"
             | "GT"
             | "NOW"
             | "key_hash"
             | "NIL"
             | "contract"
             | "EXEC"
             | "SET_DELEGATE"
             | "UNIT"
             | "LOOP"
             | "SUB"
             | "CONCAT"
             | "DROP"
             | "MAP"
             | "RIGHT"
             | "LEFT"
             | "TRANSFER_TOKENS"
             | "INT"
             | "Left"
             | "big_map"
             | "signature"
             | "SWAP"
             | "mutez"
             | "EQ"
             | "GET"
             | "PUSH"
             | "option"
             | "IF_CONS"
             | "pair"
             | "nat"
             | "True"
             | "IF_LEFT"
             | "parameter"
             | "LE"
             | "HASH_KEY"
             | "SIZE"
             | "bool"
             | "Pair"
             | "lambda"
             | "FAIL"
             | "DUP"
             | "IF_NONE"
             | "key"
             | "code"
             | "CHECK_SIGNATURE",
           "args": [ $micheline.michelson_v1.expression ... ],
           "annot"?: string }
    $next_operation:
      /* Operations param */
      { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
        "branch": string /* A block identifier (Base58Check-encoded) */,
        "contents": [ $operation.alpha.contents ... ],
        "signature"?:
          string
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
    $operation.alpha.contents:
      { "kind": "endorsement",
        "block": string /* A block identifier (Base58Check-encoded) */,
        "level": integer ∈ [-2^31-2, 2^31+2],
        "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] }
      || { "kind": "seed_nonce_revelation",
           "level": integer ∈ [-2^31-2, 2^31+2],
           "nonce": /^[a-zA-Z0-9]+$/ }
      || { "kind": "double_endorsement_evidence",
           "op1":
             { "branch": string /* A block identifier (Base58Check-encoded) */,
               "operations":
                 { "kind": "endorsement",
                   "block":
                     string
                     /* A block identifier (Base58Check-encoded) */,
                   "level": integer ∈ [-2^31-2, 2^31+2],
                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
               "signature"?:
                 string
                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
           "op2":
             { "branch": string /* A block identifier (Base58Check-encoded) */,
               "operations":
                 { "kind": "endorsement",
                   "block":
                     string
                     /* A block identifier (Base58Check-encoded) */,
                   "level": integer ∈ [-2^31-2, 2^31+2],
                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
               "signature"?:
                 string
                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ } }
      || { "kind": "double_baking_evidence",
           "bh1": $block_header.alpha.full_header,
           "bh2": $block_header.alpha.full_header }
      || { "kind": "activate_account",
           "pkh": string /* An Ed25519 public key hash (Base58Check-encoded) */,
           "secret": /^[a-zA-Z0-9]+$/ }
      || { "kind": "proposals",
           "source":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "period": integer ∈ [-2^31-2, 2^31+2],
           "proposals":
             [ string
             /* A Tezos protocol ID (Base58Check-encoded) */ ... ] }
      || { "kind": "ballot",
           "source":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "period": integer ∈ [-2^31-2, 2^31+2],
           "proposal": string /* A Tezos protocol ID (Base58Check-encoded) */,
           "ballot": "nay" | "yay" | "pass" }
      || { "kind": "reveal",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "public_key":
             string
             /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */ }
      || { "kind": "transaction",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "amount":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "destination": $contract_id,
           "parameters"?: $micheline.michelson_v1.expression }
      || { "kind": "origination",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "manager_pubkey":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "balance":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "spendable"?: boolean,
           "delegatable"?: boolean,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "script"?:
             { "code": $micheline.michelson_v1.expression,
               "storage": $micheline.michelson_v1.expression } }
      || { "kind": "delegation",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ }
      || { "kind": "activate_protocol",
           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */ }
      || { "kind": "activate_test_protocol",
           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */ }
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
    { "shell_header": $block_header.shell,
      "operations":
        [ { "applied":
              [ { "hash":
                    string
                    /* A Tezos operation ID (Base58Check-encoded) */,
                  "branch":
                    string
                    /* A block identifier (Base58Check-encoded) */,
                  "data": /^[a-zA-Z0-9]+$/ } ... ],
            "refused":
              [ { "hash":
                    string
                    /* A Tezos operation ID (Base58Check-encoded) */,
                  "branch":
                    string
                    /* A block identifier (Base58Check-encoded) */,
                  "data": /^[a-zA-Z0-9]+$/,
                  "error":
                    any
                    /* The full list of error is available with the global RPC
                       `GET errors` */ } ... ],
            "branch_refused":
              [ { "hash":
                    string
                    /* A Tezos operation ID (Base58Check-encoded) */,
                  "branch":
                    string
                    /* A block identifier (Base58Check-encoded) */,
                  "data": /^[a-zA-Z0-9]+$/,
                  "error":
                    any
                    /* The full list of error is available with the global RPC
                       `GET errors` */ } ... ],
            "branch_delayed":
              [ { "hash":
                    string
                    /* A Tezos operation ID (Base58Check-encoded) */,
                  "branch":
                    string
                    /* A block identifier (Base58Check-encoded) */,
                  "data": /^[a-zA-Z0-9]+$/,
                  "error":
                    any
                    /* The full list of error is available with the global RPC
                       `GET errors` */ } ... ] } ... ] }
    $block_header.shell:
      { "level": integer ∈ [-2^31-2, 2^31+2],
        "proto": integer ∈ [0, 255],
        "predecessor": string /* A block identifier (Base58Check-encoded) */,
        "timestamp":
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
        "validation_pass": integer ∈ [0, 255],
        "operations_hash":
          string
          /* A list of list of operations (Base58Check-encoded) */,
        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
        "context": string /* A hash of context (Base58Check-encoded) */ }
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _POST_..--block_id--helpers--preapply--operations : **POST ..//helpers/preapply/operations** .. raw:: html

Simulate the validation of an operation.

    [ $next_operation ... ]
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $block_header.alpha.full_header:
      { "level": integer ∈ [-2^31-2, 2^31+2],
        "proto": integer ∈ [0, 255],
        "predecessor": string /* A block identifier (Base58Check-encoded) */,
        "timestamp":
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
        "validation_pass": integer ∈ [0, 255],
        "operations_hash":
          string
          /* A list of list of operations (Base58Check-encoded) */,
        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
        "context": string /* A hash of context (Base58Check-encoded) */,
        "priority": integer ∈ [0, 2^16-1],
        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
        "signature":
          string
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
    $contract_id:
      /* A contract handle
         A contract notation as given to an RPC or inside scripts. Can be a
         base58 implicit contract hash or a base58 originated contract hash. */
      string
    $micheline.michelson_v1.expression:
      /* Micheline expression (michelson_v1 variant) */
      { "int": $bignum }
      || { "string": string }
      || [ $micheline.michelson_v1.expression ... ]
      || { "prim":
             "CAR"
             | "LSR"
             | "ADDRESS"
             | "CREATE_CONTRACT"
             | "LSL"
             | "MANAGER"
             | "Elt"
             | "EDIV"
             | "OR"
             | "address"
             | "operation"
             | "ADD"
             | "AMOUNT"
             | "ISNAT"
             | "list"
             | "NEG"
             | "LOOP_LEFT"
             | "EMPTY_MAP"
             | "H"
             | "unit"
             | "SELF"
             | "Right"
             | "set"
             | "LAMBDA"
             | "MEM"
             | "ITER"
             | "storage"
             | "CONTRACT"
             | "CONS"
             | "XOR"
             | "STEPS_TO_QUOTA"
             | "False"
             | "AND"
             | "CREATE_ACCOUNT"
             | "COMPARE"
             | "or"
             | "GE"
             | "UPDATE"
             | "NEQ"
             | "SOURCE"
             | "int"
             | "timestamp"
             | "IMPLICIT_ACCOUNT"
             | "string"
             | "Unit"
             | "Some"
             | "ABS"
             | "PAIR"
             | "LT"
             | "CDR"
             | "EMPTY_SET"
             | "BALANCE"
             | "map"
             | "IF"
             | "SOME"
             | "MUL"
             | "NOT"
             | "NONE"
             | "None"
             | "DIP"
             | "GT"
             | "NOW"
             | "key_hash"
             | "NIL"
             | "contract"
             | "EXEC"
             | "SET_DELEGATE"
             | "UNIT"
             | "LOOP"
             | "SUB"
             | "CONCAT"
             | "DROP"
             | "MAP"
             | "RIGHT"
             | "LEFT"
             | "TRANSFER_TOKENS"
             | "INT"
             | "Left"
             | "big_map"
             | "signature"
             | "SWAP"
             | "mutez"
             | "EQ"
             | "GET"
             | "PUSH"
             | "option"
             | "IF_CONS"
             | "pair"
             | "nat"
             | "True"
             | "IF_LEFT"
             | "parameter"
             | "LE"
             | "HASH_KEY"
             | "SIZE"
             | "bool"
             | "Pair"
             | "lambda"
             | "FAIL"
             | "DUP"
             | "IF_NONE"
             | "key"
             | "code"
             | "CHECK_SIGNATURE",
           "args": [ $micheline.michelson_v1.expression ... ],
           "annot"?: string }
    $next_operation:
      /* Operations param */
      { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
        "branch": string /* A block identifier (Base58Check-encoded) */,
        "contents": [ $operation.alpha.contents ... ],
        "signature"?:
          string
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
    $operation.alpha.contents:
      { "kind": "endorsement",
        "block": string /* A block identifier (Base58Check-encoded) */,
        "level": integer ∈ [-2^31-2, 2^31+2],
        "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] }
      || { "kind": "seed_nonce_revelation",
           "level": integer ∈ [-2^31-2, 2^31+2],
           "nonce": /^[a-zA-Z0-9]+$/ }
      || { "kind": "double_endorsement_evidence",
           "op1":
             { "branch": string /* A block identifier (Base58Check-encoded) */,
               "operations":
                 { "kind": "endorsement",
                   "block":
                     string
                     /* A block identifier (Base58Check-encoded) */,
                   "level": integer ∈ [-2^31-2, 2^31+2],
                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
               "signature"?:
                 string
                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
           "op2":
             { "branch": string /* A block identifier (Base58Check-encoded) */,
               "operations":
                 { "kind": "endorsement",
                   "block":
                     string
                     /* A block identifier (Base58Check-encoded) */,
                   "level": integer ∈ [-2^31-2, 2^31+2],
                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
               "signature"?:
                 string
                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ } }
      || { "kind": "double_baking_evidence",
           "bh1": $block_header.alpha.full_header,
           "bh2": $block_header.alpha.full_header }
      || { "kind": "activate_account",
           "pkh": string /* An Ed25519 public key hash (Base58Check-encoded) */,
           "secret": /^[a-zA-Z0-9]+$/ }
      || { "kind": "proposals",
           "source":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "period": integer ∈ [-2^31-2, 2^31+2],
           "proposals":
             [ string
             /* A Tezos protocol ID (Base58Check-encoded) */ ... ] }
      || { "kind": "ballot",
           "source":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "period": integer ∈ [-2^31-2, 2^31+2],
           "proposal": string /* A Tezos protocol ID (Base58Check-encoded) */,
           "ballot": "nay" | "yay" | "pass" }
      || { "kind": "reveal",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "public_key":
             string
             /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */ }
      || { "kind": "transaction",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "amount":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "destination": $contract_id,
           "parameters"?: $micheline.michelson_v1.expression }
      || { "kind": "origination",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "manager_pubkey":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "balance":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "spendable"?: boolean,
           "delegatable"?: boolean,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "script"?:
             { "code": $micheline.michelson_v1.expression,
               "storage": $micheline.michelson_v1.expression } }
      || { "kind": "delegation",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ }
      || { "kind": "activate_protocol",
           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */ }
      || { "kind": "activate_test_protocol",
           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */ }
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
    [ $operation.alpha.operation_with_metadata ... ]
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $block_header.alpha.full_header:
      { "level": integer ∈ [-2^31-2, 2^31+2],
        "proto": integer ∈ [0, 255],
        "predecessor": string /* A block identifier (Base58Check-encoded) */,
        "timestamp":
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
        "validation_pass": integer ∈ [0, 255],
        "operations_hash":
          string
          /* A list of list of operations (Base58Check-encoded) */,
        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
        "context": string /* A hash of context (Base58Check-encoded) */,
        "priority": integer ∈ [0, 2^16-1],
        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
        "signature":
          string
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
    $contract_id:
      /* A contract handle
         A contract notation as given to an RPC or inside scripts. Can be a
         base58 implicit contract hash or a base58 originated contract hash. */
      string
    $error:
      /* ... FIXME ... */
      any
    $micheline.michelson_v1.expression:
      /* Micheline expression (michelson_v1 variant) */
      { "int": $bignum }
      || { "string": string }
      || [ $micheline.michelson_v1.expression ... ]
      || { "prim":
             "CAR"
             | "LSR"
             | "ADDRESS"
             | "CREATE_CONTRACT"
             | "LSL"
             | "MANAGER"
             | "Elt"
             | "EDIV"
             | "OR"
             | "address"
             | "operation"
             | "ADD"
             | "AMOUNT"
             | "ISNAT"
             | "list"
             | "NEG"
             | "LOOP_LEFT"
             | "EMPTY_MAP"
             | "H"
             | "unit"
             | "SELF"
             | "Right"
             | "set"
             | "LAMBDA"
             | "MEM"
             | "ITER"
             | "storage"
             | "CONTRACT"
             | "CONS"
             | "XOR"
             | "STEPS_TO_QUOTA"
             | "False"
             | "AND"
             | "CREATE_ACCOUNT"
             | "COMPARE"
             | "or"
             | "GE"
             | "UPDATE"
             | "NEQ"
             | "SOURCE"
             | "int"
             | "timestamp"
             | "IMPLICIT_ACCOUNT"
             | "string"
             | "Unit"
             | "Some"
             | "ABS"
             | "PAIR"
             | "LT"
             | "CDR"
             | "EMPTY_SET"
             | "BALANCE"
             | "map"
             | "IF"
             | "SOME"
             | "MUL"
             | "NOT"
             | "NONE"
             | "None"
             | "DIP"
             | "GT"
             | "NOW"
             | "key_hash"
             | "NIL"
             | "contract"
             | "EXEC"
             | "SET_DELEGATE"
             | "UNIT"
             | "LOOP"
             | "SUB"
             | "CONCAT"
             | "DROP"
             | "MAP"
             | "RIGHT"
             | "LEFT"
             | "TRANSFER_TOKENS"
             | "INT"
             | "Left"
             | "big_map"
             | "signature"
             | "SWAP"
             | "mutez"
             | "EQ"
             | "GET"
             | "PUSH"
             | "option"
             | "IF_CONS"
             | "pair"
             | "nat"
             | "True"
             | "IF_LEFT"
             | "parameter"
             | "LE"
             | "HASH_KEY"
             | "SIZE"
             | "bool"
             | "Pair"
             | "lambda"
             | "FAIL"
             | "DUP"
             | "IF_NONE"
             | "key"
             | "code"
             | "CHECK_SIGNATURE",
           "args": [ $micheline.michelson_v1.expression ... ],
           "annot"?: string }
    $operation.alpha.internal_operation_result:
      { "kind": "reveal",
        "source": $contract_id,
        "nonce": integer ∈ [0, 2^16-1],
        "public_key":
          string
          /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */,
        "result": $operation.alpha.operation_result.reveal }
      || { "kind": "transaction",
           "source": $contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "amount":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "destination": $contract_id,
           "parameters"?: $micheline.michelson_v1.expression,
           "result": $operation.alpha.operation_result.transaction }
      || { "kind": "origination",
           "source": $contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "manager_pubkey":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "balance":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "spendable"?: boolean,
           "delegatable"?: boolean,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "script"?:
             { "code": $micheline.michelson_v1.expression,
               "storage": $micheline.michelson_v1.expression },
           "result": $operation.alpha.operation_result.origination }
      || { "kind": "delegation",
           "source": $contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "result": $operation.alpha.operation_result.delegation }
    $operation.alpha.operation_contents_and_result:
      { "kind": "endorsement",
        "block": string /* A block identifier (Base58Check-encoded) */,
        "level": integer ∈ [-2^31-2, 2^31+2],
        "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ],
        "metadata":
          { "delegate":
              string
              /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
            "slots": [ integer ∈ [0, 255] ... ] } }
      || { "kind": "seed_nonce_revelation",
           "level": integer ∈ [-2^31-2, 2^31+2],
           "nonce": /^[a-zA-Z0-9]+$/,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates } }
      || { "kind": "double_endorsement_evidence",
           "op1":
             { "branch": string /* A block identifier (Base58Check-encoded) */,
               "operations":
                 { "kind": "endorsement",
                   "block":
                     string
                     /* A block identifier (Base58Check-encoded) */,
                   "level": integer ∈ [-2^31-2, 2^31+2],
                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
               "signature"?:
                 string
                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
           "op2":
             { "branch": string /* A block identifier (Base58Check-encoded) */,
               "operations":
                 { "kind": "endorsement",
                   "block":
                     string
                     /* A block identifier (Base58Check-encoded) */,
                   "level": integer ∈ [-2^31-2, 2^31+2],
                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
               "signature"?:
                 string
                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates } }
      || { "kind": "double_baking_evidence",
           "bh1": $block_header.alpha.full_header,
           "bh2": $block_header.alpha.full_header,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates } }
      || { "kind": "activate_account",
           "pkh": string /* An Ed25519 public key hash (Base58Check-encoded) */,
           "secret": /^[a-zA-Z0-9]+$/,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates } }
      || { "kind": "proposals",
           "source":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "period": integer ∈ [-2^31-2, 2^31+2],
           "proposals":
             [ string
             /* A Tezos protocol ID (Base58Check-encoded) */ ... ],
           "metadata": {  } }
      || { "kind": "ballot",
           "source":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "period": integer ∈ [-2^31-2, 2^31+2],
           "proposal": string /* A Tezos protocol ID (Base58Check-encoded) */,
           "ballot": "nay" | "yay" | "pass",
           "metadata": {  } }
      || { "kind": "reveal",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "public_key":
             string
             /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates,
               "operation_result": $operation.alpha.operation_result.reveal,
               "internal_operation_results"?:
                 [ $operation.alpha.internal_operation_result ... ] } }
      || { "kind": "transaction",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "amount":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "destination": $contract_id,
           "parameters"?: $micheline.michelson_v1.expression,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates,
               "operation_result":
                 $operation.alpha.operation_result.transaction,
               "internal_operation_results"?:
                 [ $operation.alpha.internal_operation_result ... ] } }
      || { "kind": "origination",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "manager_pubkey":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "balance":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "spendable"?: boolean,
           "delegatable"?: boolean,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "script"?:
             { "code": $micheline.michelson_v1.expression,
               "storage": $micheline.michelson_v1.expression },
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates,
               "operation_result":
                 $operation.alpha.operation_result.origination,
               "internal_operation_results"?:
                 [ $operation.alpha.internal_operation_result ... ] } }
      || { "kind": "delegation",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates,
               "operation_result": $operation.alpha.operation_result.delegation,
               "internal_operation_results"?:
                 [ $operation.alpha.internal_operation_result ... ] } }
      || { "kind": "activate_protocol",
           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */,
           "metadata": {  } }
      || { "kind": "activate_test_protocol",
           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */,
           "metadata": {  } }
    $operation.alpha.operation_result.delegation:
      { "status": "applied" }
      || { "status": "failed",
           "errors": [ $error ... ] }
      || { "status": "skipped" }
    $operation.alpha.operation_result.origination:
      { "status": "applied",
        "balance_updates"?: $operation_metadata.alpha.balance_updates,
        "originated_contracts"?: [ $contract_id ... ],
        "consumed_gas"?: $bignum,
        "storage_size_diff"?: integer ∈ [-2^31-2, 2^31+2] || string }
      || { "status": "failed",
           "errors": [ $error ... ] }
      || { "status": "skipped" }
    $operation.alpha.operation_result.reveal:
      { "status": "applied" }
      || { "status": "failed",
           "errors": [ $error ... ] }
      || { "status": "skipped" }
    $operation.alpha.operation_result.transaction:
      { "status": "applied",
        "storage"?: $micheline.michelson_v1.expression,
        "balance_updates"?: $operation_metadata.alpha.balance_updates,
        "originated_contracts"?: [ $contract_id ... ],
        "consumed_gas"?: $bignum,
        "storage_size_diff"?: integer ∈ [-2^31-2, 2^31+2] || string }
      || { "status": "failed",
           "errors": [ $error ... ] }
      || { "status": "skipped" }
    $operation.alpha.operation_with_metadata:
      { "contents": [ $operation.alpha.operation_contents_and_result ... ],
        "signature"?:
          string
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
    $operation_metadata.alpha.balance_updates:
      [ { "kind": "contract",
          "contract": $contract_id,
          "credited":
            /* Amount in mutez */
            integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "contract",
             "contract": $contract_id,
             "debited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "rewards",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "credited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "rewards",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "debited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "fees",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "credited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "fees",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "debited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "deposits",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "credited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "deposits",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "debited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string } ... ]
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _POST_..--block_id--helpers--scripts--hash_data : **POST ..//helpers/scripts/hash_data** .. raw:: html

Computes the hash of some data expression using the same algorithm as script instruction H

    { "data": $micheline.michelson_v1.expression,
      "type": $micheline.michelson_v1.expression,
      "gas"?: $bignum }
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $micheline.michelson_v1.expression:
      /* Micheline expression (michelson_v1 variant) */
      { "int": $bignum }
      || { "string": string }
      || [ $micheline.michelson_v1.expression ... ]
      || { "prim":
             "CAR"
             | "LSR"
             | "ADDRESS"
             | "CREATE_CONTRACT"
             | "LSL"
             | "MANAGER"
             | "Elt"
             | "EDIV"
             | "OR"
             | "address"
             | "operation"
             | "ADD"
             | "AMOUNT"
             | "ISNAT"
             | "list"
             | "NEG"
             | "LOOP_LEFT"
             | "EMPTY_MAP"
             | "H"
             | "unit"
             | "SELF"
             | "Right"
             | "set"
             | "LAMBDA"
             | "MEM"
             | "ITER"
             | "storage"
             | "CONTRACT"
             | "CONS"
             | "XOR"
             | "STEPS_TO_QUOTA"
             | "False"
             | "AND"
             | "CREATE_ACCOUNT"
             | "COMPARE"
             | "or"
             | "GE"
             | "UPDATE"
             | "NEQ"
             | "SOURCE"
             | "int"
             | "timestamp"
             | "IMPLICIT_ACCOUNT"
             | "string"
             | "Unit"
             | "Some"
             | "ABS"
             | "PAIR"
             | "LT"
             | "CDR"
             | "EMPTY_SET"
             | "BALANCE"
             | "map"
             | "IF"
             | "SOME"
             | "MUL"
             | "NOT"
             | "NONE"
             | "None"
             | "DIP"
             | "GT"
             | "NOW"
             | "key_hash"
             | "NIL"
             | "contract"
             | "EXEC"
             | "SET_DELEGATE"
             | "UNIT"
             | "LOOP"
             | "SUB"
             | "CONCAT"
             | "DROP"
             | "MAP"
             | "RIGHT"
             | "LEFT"
             | "TRANSFER_TOKENS"
             | "INT"
             | "Left"
             | "big_map"
             | "signature"
             | "SWAP"
             | "mutez"
             | "EQ"
             | "GET"
             | "PUSH"
             | "option"
             | "IF_CONS"
             | "pair"
             | "nat"
             | "True"
             | "IF_LEFT"
             | "parameter"
             | "LE"
             | "HASH_KEY"
             | "SIZE"
             | "bool"
             | "Pair"
             | "lambda"
             | "FAIL"
             | "DUP"
             | "IF_NONE"
             | "key"
             | "code"
             | "CHECK_SIGNATURE",
           "args": [ $micheline.michelson_v1.expression ... ],
           "annot"?: string }
    { "hash": string,
      "gas": $bignum || "unaccounted" }
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
.. _POST_..--block_id--helpers--scripts--run_code : **POST ..//helpers/scripts/run_code** .. raw:: html

Run a piece of code in the current context

    { "script": $micheline.michelson_v1.expression,
      "storage": $micheline.michelson_v1.expression,
      "input": $micheline.michelson_v1.expression,
      "amount": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
      "contract": $contract_id }
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $contract_id:
      /* A contract handle
         A contract notation as given to an RPC or inside scripts. Can be a
         base58 implicit contract hash or a base58 originated contract hash. */
      string
    $micheline.michelson_v1.expression:
      /* Micheline expression (michelson_v1 variant) */
      { "int": $bignum }
      || { "string": string }
      || [ $micheline.michelson_v1.expression ... ]
      || { "prim":
             "CAR"
             | "LSR"
             | "ADDRESS"
             | "CREATE_CONTRACT"
             | "LSL"
             | "MANAGER"
             | "Elt"
             | "EDIV"
             | "OR"
             | "address"
             | "operation"
             | "ADD"
             | "AMOUNT"
             | "ISNAT"
             | "list"
             | "NEG"
             | "LOOP_LEFT"
             | "EMPTY_MAP"
             | "H"
             | "unit"
             | "SELF"
             | "Right"
             | "set"
             | "LAMBDA"
             | "MEM"
             | "ITER"
             | "storage"
             | "CONTRACT"
             | "CONS"
             | "XOR"
             | "STEPS_TO_QUOTA"
             | "False"
             | "AND"
             | "CREATE_ACCOUNT"
             | "COMPARE"
             | "or"
             | "GE"
             | "UPDATE"
             | "NEQ"
             | "SOURCE"
             | "int"
             | "timestamp"
             | "IMPLICIT_ACCOUNT"
             | "string"
             | "Unit"
             | "Some"
             | "ABS"
             | "PAIR"
             | "LT"
             | "CDR"
             | "EMPTY_SET"
             | "BALANCE"
             | "map"
             | "IF"
             | "SOME"
             | "MUL"
             | "NOT"
             | "NONE"
             | "None"
             | "DIP"
             | "GT"
             | "NOW"
             | "key_hash"
             | "NIL"
             | "contract"
             | "EXEC"
             | "SET_DELEGATE"
             | "UNIT"
             | "LOOP"
             | "SUB"
             | "CONCAT"
             | "DROP"
             | "MAP"
             | "RIGHT"
             | "LEFT"
             | "TRANSFER_TOKENS"
             | "INT"
             | "Left"
             | "big_map"
             | "signature"
             | "SWAP"
             | "mutez"
             | "EQ"
             | "GET"
             | "PUSH"
             | "option"
             | "IF_CONS"
             | "pair"
             | "nat"
             | "True"
             | "IF_LEFT"
             | "parameter"
             | "LE"
             | "HASH_KEY"
             | "SIZE"
             | "bool"
             | "Pair"
             | "lambda"
             | "FAIL"
             | "DUP"
             | "IF_NONE"
             | "key"
             | "code"
             | "CHECK_SIGNATURE",
           "args": [ $micheline.michelson_v1.expression ... ],
           "annot"?: string }
    { "storage": $micheline.michelson_v1.expression,
      "operations": [ $operation.alpha.internal_operation ... ],
      "big_map_diff"?:
        [ [ string, $micheline.michelson_v1.expression || null ] ... ] }
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $contract_id:
      /* A contract handle
         A contract notation as given to an RPC or inside scripts. Can be a
         base58 implicit contract hash or a base58 originated contract hash. */
      string
    $micheline.michelson_v1.expression:
      /* Micheline expression (michelson_v1 variant) */
      { "int": $bignum }
      || { "string": string }
      || [ $micheline.michelson_v1.expression ... ]
      || { "prim":
             "CAR"
             | "LSR"
             | "ADDRESS"
             | "CREATE_CONTRACT"
             | "LSL"
             | "MANAGER"
             | "Elt"
             | "EDIV"
             | "OR"
             | "address"
             | "operation"
             | "ADD"
             | "AMOUNT"
             | "ISNAT"
             | "list"
             | "NEG"
             | "LOOP_LEFT"
             | "EMPTY_MAP"
             | "H"
             | "unit"
             | "SELF"
             | "Right"
             | "set"
             | "LAMBDA"
             | "MEM"
             | "ITER"
             | "storage"
             | "CONTRACT"
             | "CONS"
             | "XOR"
             | "STEPS_TO_QUOTA"
             | "False"
             | "AND"
             | "CREATE_ACCOUNT"
             | "COMPARE"
             | "or"
             | "GE"
             | "UPDATE"
             | "NEQ"
             | "SOURCE"
             | "int"
             | "timestamp"
             | "IMPLICIT_ACCOUNT"
             | "string"
             | "Unit"
             | "Some"
             | "ABS"
             | "PAIR"
             | "LT"
             | "CDR"
             | "EMPTY_SET"
             | "BALANCE"
             | "map"
             | "IF"
             | "SOME"
             | "MUL"
             | "NOT"
             | "NONE"
             | "None"
             | "DIP"
             | "GT"
             | "NOW"
             | "key_hash"
             | "NIL"
             | "contract"
             | "EXEC"
             | "SET_DELEGATE"
             | "UNIT"
             | "LOOP"
             | "SUB"
             | "CONCAT"
             | "DROP"
             | "MAP"
             | "RIGHT"
             | "LEFT"
             | "TRANSFER_TOKENS"
             | "INT"
             | "Left"
             | "big_map"
             | "signature"
             | "SWAP"
             | "mutez"
             | "EQ"
             | "GET"
             | "PUSH"
             | "option"
             | "IF_CONS"
             | "pair"
             | "nat"
             | "True"
             | "IF_LEFT"
             | "parameter"
             | "LE"
             | "HASH_KEY"
             | "SIZE"
             | "bool"
             | "Pair"
             | "lambda"
             | "FAIL"
             | "DUP"
             | "IF_NONE"
             | "key"
             | "code"
             | "CHECK_SIGNATURE",
           "args": [ $micheline.michelson_v1.expression ... ],
           "annot"?: string }
    $operation.alpha.internal_operation:
      { "source": $contract_id,
        "nonce": integer ∈ [0, 2^16-1],
        "kind": "reveal",
        "public_key":
          string
          /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */ }
      || { "source": $contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "kind": "transaction",
           "amount":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "destination": $contract_id,
           "parameters"?: $micheline.michelson_v1.expression }
      || { "source": $contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "kind": "origination",
           "manager_pubkey":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "balance":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "spendable"?: boolean,
           "delegatable"?: boolean,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "script"?:
             { "code": $micheline.michelson_v1.expression,
               "storage": $micheline.michelson_v1.expression } }
      || { "source": $contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "kind": "delegation",
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ }
.. _POST_..--block_id--helpers--scripts--trace_code : **POST ..//helpers/scripts/trace_code** .. raw:: html

Run a piece of code in the current context, keeping a trace

    { "script": $micheline.michelson_v1.expression,
      "storage": $micheline.michelson_v1.expression,
      "input": $micheline.michelson_v1.expression,
      "amount": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
      "contract": $contract_id }
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $contract_id:
      /* A contract handle
         A contract notation as given to an RPC or inside scripts. Can be a
         base58 implicit contract hash or a base58 originated contract hash. */
      string
    $micheline.michelson_v1.expression:
      /* Micheline expression (michelson_v1 variant) */
      { "int": $bignum }
      || { "string": string }
      || [ $micheline.michelson_v1.expression ... ]
      || { "prim":
             "CAR"
             | "LSR"
             | "ADDRESS"
             | "CREATE_CONTRACT"
             | "LSL"
             | "MANAGER"
             | "Elt"
             | "EDIV"
             | "OR"
             | "address"
             | "operation"
             | "ADD"
             | "AMOUNT"
             | "ISNAT"
             | "list"
             | "NEG"
             | "LOOP_LEFT"
             | "EMPTY_MAP"
             | "H"
             | "unit"
             | "SELF"
             | "Right"
             | "set"
             | "LAMBDA"
             | "MEM"
             | "ITER"
             | "storage"
             | "CONTRACT"
             | "CONS"
             | "XOR"
             | "STEPS_TO_QUOTA"
             | "False"
             | "AND"
             | "CREATE_ACCOUNT"
             | "COMPARE"
             | "or"
             | "GE"
             | "UPDATE"
             | "NEQ"
             | "SOURCE"
             | "int"
             | "timestamp"
             | "IMPLICIT_ACCOUNT"
             | "string"
             | "Unit"
             | "Some"
             | "ABS"
             | "PAIR"
             | "LT"
             | "CDR"
             | "EMPTY_SET"
             | "BALANCE"
             | "map"
             | "IF"
             | "SOME"
             | "MUL"
             | "NOT"
             | "NONE"
             | "None"
             | "DIP"
             | "GT"
             | "NOW"
             | "key_hash"
             | "NIL"
             | "contract"
             | "EXEC"
             | "SET_DELEGATE"
             | "UNIT"
             | "LOOP"
             | "SUB"
             | "CONCAT"
             | "DROP"
             | "MAP"
             | "RIGHT"
             | "LEFT"
             | "TRANSFER_TOKENS"
             | "INT"
             | "Left"
             | "big_map"
             | "signature"
             | "SWAP"
             | "mutez"
             | "EQ"
             | "GET"
             | "PUSH"
             | "option"
             | "IF_CONS"
             | "pair"
             | "nat"
             | "True"
             | "IF_LEFT"
             | "parameter"
             | "LE"
             | "HASH_KEY"
             | "SIZE"
             | "bool"
             | "Pair"
             | "lambda"
             | "FAIL"
             | "DUP"
             | "IF_NONE"
             | "key"
             | "code"
             | "CHECK_SIGNATURE",
           "args": [ $micheline.michelson_v1.expression ... ],
           "annot"?: string }
    { "storage": $micheline.michelson_v1.expression,
      "operations": [ $operation.alpha.internal_operation ... ],
      "trace":
        [ { "location": $micheline.location,
            "gas": $bignum || "unaccounted",
            "stack": [ $micheline.michelson_v1.expression ... ] } ... ],
      "big_map_diff"?:
        [ [ string, $micheline.michelson_v1.expression || null ] ... ] }
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $contract_id:
      /* A contract handle
         A contract notation as given to an RPC or inside scripts. Can be a
         base58 implicit contract hash or a base58 originated contract hash. */
      string
    $micheline.location:
      /* Canonical location in a Micheline expression
         The location of a node in a Micheline expression tree in prefix order,
         with zero being the root and adding one for every basic node, sequence
         and primitive application. */
      integer ∈ [-2^30-2, 2^30+2]
    $micheline.michelson_v1.expression:
      /* Micheline expression (michelson_v1 variant) */
      { "int": $bignum }
      || { "string": string }
      || [ $micheline.michelson_v1.expression ... ]
      || { "prim":
             "CAR"
             | "LSR"
             | "ADDRESS"
             | "CREATE_CONTRACT"
             | "LSL"
             | "MANAGER"
             | "Elt"
             | "EDIV"
             | "OR"
             | "address"
             | "operation"
             | "ADD"
             | "AMOUNT"
             | "ISNAT"
             | "list"
             | "NEG"
             | "LOOP_LEFT"
             | "EMPTY_MAP"
             | "H"
             | "unit"
             | "SELF"
             | "Right"
             | "set"
             | "LAMBDA"
             | "MEM"
             | "ITER"
             | "storage"
             | "CONTRACT"
             | "CONS"
             | "XOR"
             | "STEPS_TO_QUOTA"
             | "False"
             | "AND"
             | "CREATE_ACCOUNT"
             | "COMPARE"
             | "or"
             | "GE"
             | "UPDATE"
             | "NEQ"
             | "SOURCE"
             | "int"
             | "timestamp"
             | "IMPLICIT_ACCOUNT"
             | "string"
             | "Unit"
             | "Some"
             | "ABS"
             | "PAIR"
             | "LT"
             | "CDR"
             | "EMPTY_SET"
             | "BALANCE"
             | "map"
             | "IF"
             | "SOME"
             | "MUL"
             | "NOT"
             | "NONE"
             | "None"
             | "DIP"
             | "GT"
             | "NOW"
             | "key_hash"
             | "NIL"
             | "contract"
             | "EXEC"
             | "SET_DELEGATE"
             | "UNIT"
             | "LOOP"
             | "SUB"
             | "CONCAT"
             | "DROP"
             | "MAP"
             | "RIGHT"
             | "LEFT"
             | "TRANSFER_TOKENS"
             | "INT"
             | "Left"
             | "big_map"
             | "signature"
             | "SWAP"
             | "mutez"
             | "EQ"
             | "GET"
             | "PUSH"
             | "option"
             | "IF_CONS"
             | "pair"
             | "nat"
             | "True"
             | "IF_LEFT"
             | "parameter"
             | "LE"
             | "HASH_KEY"
             | "SIZE"
             | "bool"
             | "Pair"
             | "lambda"
             | "FAIL"
             | "DUP"
             | "IF_NONE"
             | "key"
             | "code"
             | "CHECK_SIGNATURE",
           "args": [ $micheline.michelson_v1.expression ... ],
           "annot"?: string }
    $operation.alpha.internal_operation:
      { "source": $contract_id,
        "nonce": integer ∈ [0, 2^16-1],
        "kind": "reveal",
        "public_key":
          string
          /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */ }
      || { "source": $contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "kind": "transaction",
           "amount":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "destination": $contract_id,
           "parameters"?: $micheline.michelson_v1.expression }
      || { "source": $contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "kind": "origination",
           "manager_pubkey":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "balance":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "spendable"?: boolean,
           "delegatable"?: boolean,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "script"?:
             { "code": $micheline.michelson_v1.expression,
               "storage": $micheline.michelson_v1.expression } }
      || { "source": $contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "kind": "delegation",
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */ }
.. _POST_..--block_id--helpers--scripts--typecheck_code : **POST ..//helpers/scripts/typecheck_code** .. raw:: html

Typecheck a piece of code in the current context

    { "program": $micheline.michelson_v1.expression,
      "gas"?: $bignum }
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $micheline.michelson_v1.expression:
      /* Micheline expression (michelson_v1 variant) */
      { "int": $bignum }
      || { "string": string }
      || [ $micheline.michelson_v1.expression ... ]
      || { "prim":
             "CAR"
             | "LSR"
             | "ADDRESS"
             | "CREATE_CONTRACT"
             | "LSL"
             | "MANAGER"
             | "Elt"
             | "EDIV"
             | "OR"
             | "address"
             | "operation"
             | "ADD"
             | "AMOUNT"
             | "ISNAT"
             | "list"
             | "NEG"
             | "LOOP_LEFT"
             | "EMPTY_MAP"
             | "H"
             | "unit"
             | "SELF"
             | "Right"
             | "set"
             | "LAMBDA"
             | "MEM"
             | "ITER"
             | "storage"
             | "CONTRACT"
             | "CONS"
             | "XOR"
             | "STEPS_TO_QUOTA"
             | "False"
             | "AND"
             | "CREATE_ACCOUNT"
             | "COMPARE"
             | "or"
             | "GE"
             | "UPDATE"
             | "NEQ"
             | "SOURCE"
             | "int"
             | "timestamp"
             | "IMPLICIT_ACCOUNT"
             | "string"
             | "Unit"
             | "Some"
             | "ABS"
             | "PAIR"
             | "LT"
             | "CDR"
             | "EMPTY_SET"
             | "BALANCE"
             | "map"
             | "IF"
             | "SOME"
             | "MUL"
             | "NOT"
             | "NONE"
             | "None"
             | "DIP"
             | "GT"
             | "NOW"
             | "key_hash"
             | "NIL"
             | "contract"
             | "EXEC"
             | "SET_DELEGATE"
             | "UNIT"
             | "LOOP"
             | "SUB"
             | "CONCAT"
             | "DROP"
             | "MAP"
             | "RIGHT"
             | "LEFT"
             | "TRANSFER_TOKENS"
             | "INT"
             | "Left"
             | "big_map"
             | "signature"
             | "SWAP"
             | "mutez"
             | "EQ"
             | "GET"
             | "PUSH"
             | "option"
             | "IF_CONS"
             | "pair"
             | "nat"
             | "True"
             | "IF_LEFT"
             | "parameter"
             | "LE"
             | "HASH_KEY"
             | "SIZE"
             | "bool"
             | "Pair"
             | "lambda"
             | "FAIL"
             | "DUP"
             | "IF_NONE"
             | "key"
             | "code"
             | "CHECK_SIGNATURE",
           "args": [ $micheline.michelson_v1.expression ... ],
           "annot"?: string }
    { "type_map":
        [ { "location": $micheline.location,
            "stackBefore": [ $micheline.michelson_v1.expression ... ],
            "stackAfter": [ $micheline.michelson_v1.expression ... ] } ... ],
      "gas": $bignum || "unaccounted" }
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $micheline.location:
      /* Canonical location in a Micheline expression
         The location of a node in a Micheline expression tree in prefix order,
         with zero being the root and adding one for every basic node, sequence
         and primitive application. */
      integer ∈ [-2^30-2, 2^30+2]
    $micheline.michelson_v1.expression:
      /* Micheline expression (michelson_v1 variant) */
      { "int": $bignum }
      || { "string": string }
      || [ $micheline.michelson_v1.expression ... ]
      || { "prim":
             "CAR"
             | "LSR"
             | "ADDRESS"
             | "CREATE_CONTRACT"
             | "LSL"
             | "MANAGER"
             | "Elt"
             | "EDIV"
             | "OR"
             | "address"
             | "operation"
             | "ADD"
             | "AMOUNT"
             | "ISNAT"
             | "list"
             | "NEG"
             | "LOOP_LEFT"
             | "EMPTY_MAP"
             | "H"
             | "unit"
             | "SELF"
             | "Right"
             | "set"
             | "LAMBDA"
             | "MEM"
             | "ITER"
             | "storage"
             | "CONTRACT"
             | "CONS"
             | "XOR"
             | "STEPS_TO_QUOTA"
             | "False"
             | "AND"
             | "CREATE_ACCOUNT"
             | "COMPARE"
             | "or"
             | "GE"
             | "UPDATE"
             | "NEQ"
             | "SOURCE"
             | "int"
             | "timestamp"
             | "IMPLICIT_ACCOUNT"
             | "string"
             | "Unit"
             | "Some"
             | "ABS"
             | "PAIR"
             | "LT"
             | "CDR"
             | "EMPTY_SET"
             | "BALANCE"
             | "map"
             | "IF"
             | "SOME"
             | "MUL"
             | "NOT"
             | "NONE"
             | "None"
             | "DIP"
             | "GT"
             | "NOW"
             | "key_hash"
             | "NIL"
             | "contract"
             | "EXEC"
             | "SET_DELEGATE"
             | "UNIT"
             | "LOOP"
             | "SUB"
             | "CONCAT"
             | "DROP"
             | "MAP"
             | "RIGHT"
             | "LEFT"
             | "TRANSFER_TOKENS"
             | "INT"
             | "Left"
             | "big_map"
             | "signature"
             | "SWAP"
             | "mutez"
             | "EQ"
             | "GET"
             | "PUSH"
             | "option"
             | "IF_CONS"
             | "pair"
             | "nat"
             | "True"
             | "IF_LEFT"
             | "parameter"
             | "LE"
             | "HASH_KEY"
             | "SIZE"
             | "bool"
             | "Pair"
             | "lambda"
             | "FAIL"
             | "DUP"
             | "IF_NONE"
             | "key"
             | "code"
             | "CHECK_SIGNATURE",
           "args": [ $micheline.michelson_v1.expression ... ],
           "annot"?: string }
.. _POST_..--block_id--helpers--scripts--typecheck_data : **POST ..//helpers/scripts/typecheck_data** .. raw:: html

Check that some data expression is well formed and of a given type in the current context

    { "data": $micheline.michelson_v1.expression,
      "type": $micheline.michelson_v1.expression,
      "gas"?: $bignum }
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $micheline.michelson_v1.expression:
      /* Micheline expression (michelson_v1 variant) */
      { "int": $bignum }
      || { "string": string }
      || [ $micheline.michelson_v1.expression ... ]
      || { "prim":
             "CAR"
             | "LSR"
             | "ADDRESS"
             | "CREATE_CONTRACT"
             | "LSL"
             | "MANAGER"
             | "Elt"
             | "EDIV"
             | "OR"
             | "address"
             | "operation"
             | "ADD"
             | "AMOUNT"
             | "ISNAT"
             | "list"
             | "NEG"
             | "LOOP_LEFT"
             | "EMPTY_MAP"
             | "H"
             | "unit"
             | "SELF"
             | "Right"
             | "set"
             | "LAMBDA"
             | "MEM"
             | "ITER"
             | "storage"
             | "CONTRACT"
             | "CONS"
             | "XOR"
             | "STEPS_TO_QUOTA"
             | "False"
             | "AND"
             | "CREATE_ACCOUNT"
             | "COMPARE"
             | "or"
             | "GE"
             | "UPDATE"
             | "NEQ"
             | "SOURCE"
             | "int"
             | "timestamp"
             | "IMPLICIT_ACCOUNT"
             | "string"
             | "Unit"
             | "Some"
             | "ABS"
             | "PAIR"
             | "LT"
             | "CDR"
             | "EMPTY_SET"
             | "BALANCE"
             | "map"
             | "IF"
             | "SOME"
             | "MUL"
             | "NOT"
             | "NONE"
             | "None"
             | "DIP"
             | "GT"
             | "NOW"
             | "key_hash"
             | "NIL"
             | "contract"
             | "EXEC"
             | "SET_DELEGATE"
             | "UNIT"
             | "LOOP"
             | "SUB"
             | "CONCAT"
             | "DROP"
             | "MAP"
             | "RIGHT"
             | "LEFT"
             | "TRANSFER_TOKENS"
             | "INT"
             | "Left"
             | "big_map"
             | "signature"
             | "SWAP"
             | "mutez"
             | "EQ"
             | "GET"
             | "PUSH"
             | "option"
             | "IF_CONS"
             | "pair"
             | "nat"
             | "True"
             | "IF_LEFT"
             | "parameter"
             | "LE"
             | "HASH_KEY"
             | "SIZE"
             | "bool"
             | "Pair"
             | "lambda"
             | "FAIL"
             | "DUP"
             | "IF_NONE"
             | "key"
             | "code"
             | "CHECK_SIGNATURE",
           "args": [ $micheline.michelson_v1.expression ... ],
           "annot"?: string }
    { "gas": $bignum || "unaccounted" }
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
.. _GET_..--block_id--metadata : **GET ..//metadata** .. raw:: html
.. _GET_..--block_id--metadata--max_block_header_length : **GET ..//metadata/max_block_header_length** .. raw:: html
.. _GET_..--block_id--metadata--max_operation_data_length : **GET ..//metadata/max_operation_data_length** .. raw:: html
.. _GET_..--block_id--metadata--max_operations_ttl : **GET ..//metadata/max_operations_ttl** .. raw:: html
.. _GET_..--block_id--metadata--next_protocol_hash : **GET ..//metadata/next_protocol_hash** .. raw:: html
.. _GET_..--block_id--metadata--operation_list_quota : **GET ..//metadata/operation_list_quota** .. raw:: html
.. _GET_..--block_id--metadata--protocol_data : **GET ..//metadata/protocol_data** .. raw:: html
.. _GET_..--block_id--metadata--protocol_hash : **GET ..//metadata/protocol_hash** .. raw:: html
.. _GET_..--block_id--metadata--test_chain_status : **GET ..//metadata/test_chain_status** .. raw:: html
.. _GET_..--block_id--operation_hashes : **GET ..//operation_hashes** .. raw:: html

The hashes of all the operations included in the block.

    [ [ string
    /* A Tezos operation ID (Base58Check-encoded) */ ... ] ... ]
.. _GET_..--block_id--operation_hashes--list_offset : **GET ..//operation_hashes/** .. raw:: html

All the operations included in `n-th` validation pass of the block.

    [ string
    /* A Tezos operation ID (Base58Check-encoded) */ ... ]
.. _GET_..--block_id--operation_hashes--list_offset--operation_offset : **GET ..//operation_hashes//** .. raw:: html

The hash of then `m-th` operation in the `n-th` validation pass of the block.

    string
    /* A Tezos operation ID (Base58Check-encoded) */
.. _GET_..--block_id--operations : **GET ..//operations** .. raw:: html

All the operations included in the block.

    [ [ $operation ... ] ... ]
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $block_header.alpha.full_header:
      { "level": integer ∈ [-2^31-2, 2^31+2],
        "proto": integer ∈ [0, 255],
        "predecessor": string /* A block identifier (Base58Check-encoded) */,
        "timestamp":
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
        "validation_pass": integer ∈ [0, 255],
        "operations_hash":
          string
          /* A list of list of operations (Base58Check-encoded) */,
        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
        "context": string /* A hash of context (Base58Check-encoded) */,
        "priority": integer ∈ [0, 2^16-1],
        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
        "signature":
          string
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
    $contract_id:
      /* A contract handle
         A contract notation as given to an RPC or inside scripts. Can be a
         base58 implicit contract hash or a base58 originated contract hash. */
      string
    $error:
      /* ... FIXME ... */
      any
    $micheline.michelson_v1.expression:
      /* Micheline expression (michelson_v1 variant) */
      { "int": $bignum }
      || { "string": string }
      || [ $micheline.michelson_v1.expression ... ]
      || { "prim":
             "CAR"
             | "LSR"
             | "ADDRESS"
             | "CREATE_CONTRACT"
             | "LSL"
             | "MANAGER"
             | "Elt"
             | "EDIV"
             | "OR"
             | "address"
             | "operation"
             | "ADD"
             | "AMOUNT"
             | "ISNAT"
             | "list"
             | "NEG"
             | "LOOP_LEFT"
             | "EMPTY_MAP"
             | "H"
             | "unit"
             | "SELF"
             | "Right"
             | "set"
             | "LAMBDA"
             | "MEM"
             | "ITER"
             | "storage"
             | "CONTRACT"
             | "CONS"
             | "XOR"
             | "STEPS_TO_QUOTA"
             | "False"
             | "AND"
             | "CREATE_ACCOUNT"
             | "COMPARE"
             | "or"
             | "GE"
             | "UPDATE"
             | "NEQ"
             | "SOURCE"
             | "int"
             | "timestamp"
             | "IMPLICIT_ACCOUNT"
             | "string"
             | "Unit"
             | "Some"
             | "ABS"
             | "PAIR"
             | "LT"
             | "CDR"
             | "EMPTY_SET"
             | "BALANCE"
             | "map"
             | "IF"
             | "SOME"
             | "MUL"
             | "NOT"
             | "NONE"
             | "None"
             | "DIP"
             | "GT"
             | "NOW"
             | "key_hash"
             | "NIL"
             | "contract"
             | "EXEC"
             | "SET_DELEGATE"
             | "UNIT"
             | "LOOP"
             | "SUB"
             | "CONCAT"
             | "DROP"
             | "MAP"
             | "RIGHT"
             | "LEFT"
             | "TRANSFER_TOKENS"
             | "INT"
             | "Left"
             | "big_map"
             | "signature"
             | "SWAP"
             | "mutez"
             | "EQ"
             | "GET"
             | "PUSH"
             | "option"
             | "IF_CONS"
             | "pair"
             | "nat"
             | "True"
             | "IF_LEFT"
             | "parameter"
             | "LE"
             | "HASH_KEY"
             | "SIZE"
             | "bool"
             | "Pair"
             | "lambda"
             | "FAIL"
             | "DUP"
             | "IF_NONE"
             | "key"
             | "code"
             | "CHECK_SIGNATURE",
           "args": [ $micheline.michelson_v1.expression ... ],
           "annot"?: string }
    $operation:
      { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
        "chain_id": string /* Network identifier (Base58Check-encoded) */,
        "hash": string /* A Tezos operation ID (Base58Check-encoded) */,
        "branch": string /* A block identifier (Base58Check-encoded) */,
        "contents": [ $operation.alpha.operation_contents_and_result ... ],
        "signature"?:
          string
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
    $operation.alpha.internal_operation_result:
      { "kind": "reveal",
        "source": $contract_id,
        "nonce": integer ∈ [0, 2^16-1],
        "public_key":
          string
          /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */,
        "result": $operation.alpha.operation_result.reveal }
      || { "kind": "transaction",
           "source": $contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "amount":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "destination": $contract_id,
           "parameters"?: $micheline.michelson_v1.expression,
           "result": $operation.alpha.operation_result.transaction }
      || { "kind": "origination",
           "source": $contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "manager_pubkey":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "balance":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "spendable"?: boolean,
           "delegatable"?: boolean,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "script"?:
             { "code": $micheline.michelson_v1.expression,
               "storage": $micheline.michelson_v1.expression },
           "result": $operation.alpha.operation_result.origination }
      || { "kind": "delegation",
           "source": $contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "result": $operation.alpha.operation_result.delegation }
    $operation.alpha.operation_contents_and_result:
      { "kind": "endorsement",
        "block": string /* A block identifier (Base58Check-encoded) */,
        "level": integer ∈ [-2^31-2, 2^31+2],
        "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ],
        "metadata":
          { "delegate":
              string
              /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
            "slots": [ integer ∈ [0, 255] ... ] } }
      || { "kind": "seed_nonce_revelation",
           "level": integer ∈ [-2^31-2, 2^31+2],
           "nonce": /^[a-zA-Z0-9]+$/,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates } }
      || { "kind": "double_endorsement_evidence",
           "op1":
             { "branch": string /* A block identifier (Base58Check-encoded) */,
               "operations":
                 { "kind": "endorsement",
                   "block":
                     string
                     /* A block identifier (Base58Check-encoded) */,
                   "level": integer ∈ [-2^31-2, 2^31+2],
                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
               "signature"?:
                 string
                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
           "op2":
             { "branch": string /* A block identifier (Base58Check-encoded) */,
               "operations":
                 { "kind": "endorsement",
                   "block":
                     string
                     /* A block identifier (Base58Check-encoded) */,
                   "level": integer ∈ [-2^31-2, 2^31+2],
                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
               "signature"?:
                 string
                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates } }
      || { "kind": "double_baking_evidence",
           "bh1": $block_header.alpha.full_header,
           "bh2": $block_header.alpha.full_header,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates } }
      || { "kind": "activate_account",
           "pkh": string /* An Ed25519 public key hash (Base58Check-encoded) */,
           "secret": /^[a-zA-Z0-9]+$/,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates } }
      || { "kind": "proposals",
           "source":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "period": integer ∈ [-2^31-2, 2^31+2],
           "proposals":
             [ string
             /* A Tezos protocol ID (Base58Check-encoded) */ ... ],
           "metadata": {  } }
      || { "kind": "ballot",
           "source":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "period": integer ∈ [-2^31-2, 2^31+2],
           "proposal": string /* A Tezos protocol ID (Base58Check-encoded) */,
           "ballot": "nay" | "yay" | "pass",
           "metadata": {  } }
      || { "kind": "reveal",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "public_key":
             string
             /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates,
               "operation_result": $operation.alpha.operation_result.reveal,
               "internal_operation_results"?:
                 [ $operation.alpha.internal_operation_result ... ] } }
      || { "kind": "transaction",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "amount":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "destination": $contract_id,
           "parameters"?: $micheline.michelson_v1.expression,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates,
               "operation_result":
                 $operation.alpha.operation_result.transaction,
               "internal_operation_results"?:
                 [ $operation.alpha.internal_operation_result ... ] } }
      || { "kind": "origination",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "manager_pubkey":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "balance":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "spendable"?: boolean,
           "delegatable"?: boolean,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "script"?:
             { "code": $micheline.michelson_v1.expression,
               "storage": $micheline.michelson_v1.expression },
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates,
               "operation_result":
                 $operation.alpha.operation_result.origination,
               "internal_operation_results"?:
                 [ $operation.alpha.internal_operation_result ... ] } }
      || { "kind": "delegation",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates,
               "operation_result": $operation.alpha.operation_result.delegation,
               "internal_operation_results"?:
                 [ $operation.alpha.internal_operation_result ... ] } }
      || { "kind": "activate_protocol",
           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */,
           "metadata": {  } }
      || { "kind": "activate_test_protocol",
           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */,
           "metadata": {  } }
    $operation.alpha.operation_result.delegation:
      { "status": "applied" }
      || { "status": "failed",
           "errors": [ $error ... ] }
      || { "status": "skipped" }
    $operation.alpha.operation_result.origination:
      { "status": "applied",
        "balance_updates"?: $operation_metadata.alpha.balance_updates,
        "originated_contracts"?: [ $contract_id ... ],
        "consumed_gas"?: $bignum,
        "storage_size_diff"?: integer ∈ [-2^31-2, 2^31+2] || string }
      || { "status": "failed",
           "errors": [ $error ... ] }
      || { "status": "skipped" }
    $operation.alpha.operation_result.reveal:
      { "status": "applied" }
      || { "status": "failed",
           "errors": [ $error ... ] }
      || { "status": "skipped" }
    $operation.alpha.operation_result.transaction:
      { "status": "applied",
        "storage"?: $micheline.michelson_v1.expression,
        "balance_updates"?: $operation_metadata.alpha.balance_updates,
        "originated_contracts"?: [ $contract_id ... ],
        "consumed_gas"?: $bignum,
        "storage_size_diff"?: integer ∈ [-2^31-2, 2^31+2] || string }
      || { "status": "failed",
           "errors": [ $error ... ] }
      || { "status": "skipped" }
    $operation_metadata.alpha.balance_updates:
      [ { "kind": "contract",
          "contract": $contract_id,
          "credited":
            /* Amount in mutez */
            integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "contract",
             "contract": $contract_id,
             "debited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "rewards",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "credited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "rewards",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "debited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "fees",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "credited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "fees",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "debited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "deposits",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "credited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "deposits",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "debited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string } ... ]
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _GET_..--block_id--operations--list_offset : **GET ..//operations/** .. raw:: html

All the operations included in `n-th` validation pass of the block.

    [ $operation ... ]
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $block_header.alpha.full_header:
      { "level": integer ∈ [-2^31-2, 2^31+2],
        "proto": integer ∈ [0, 255],
        "predecessor": string /* A block identifier (Base58Check-encoded) */,
        "timestamp":
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
        "validation_pass": integer ∈ [0, 255],
        "operations_hash":
          string
          /* A list of list of operations (Base58Check-encoded) */,
        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
        "context": string /* A hash of context (Base58Check-encoded) */,
        "priority": integer ∈ [0, 2^16-1],
        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
        "signature":
          string
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
    $contract_id:
      /* A contract handle
         A contract notation as given to an RPC or inside scripts. Can be a
         base58 implicit contract hash or a base58 originated contract hash. */
      string
    $error:
      /* ... FIXME ... */
      any
    $micheline.michelson_v1.expression:
      /* Micheline expression (michelson_v1 variant) */
      { "int": $bignum }
      || { "string": string }
      || [ $micheline.michelson_v1.expression ... ]
      || { "prim":
             "CAR"
             | "LSR"
             | "ADDRESS"
             | "CREATE_CONTRACT"
             | "LSL"
             | "MANAGER"
             | "Elt"
             | "EDIV"
             | "OR"
             | "address"
             | "operation"
             | "ADD"
             | "AMOUNT"
             | "ISNAT"
             | "list"
             | "NEG"
             | "LOOP_LEFT"
             | "EMPTY_MAP"
             | "H"
             | "unit"
             | "SELF"
             | "Right"
             | "set"
             | "LAMBDA"
             | "MEM"
             | "ITER"
             | "storage"
             | "CONTRACT"
             | "CONS"
             | "XOR"
             | "STEPS_TO_QUOTA"
             | "False"
             | "AND"
             | "CREATE_ACCOUNT"
             | "COMPARE"
             | "or"
             | "GE"
             | "UPDATE"
             | "NEQ"
             | "SOURCE"
             | "int"
             | "timestamp"
             | "IMPLICIT_ACCOUNT"
             | "string"
             | "Unit"
             | "Some"
             | "ABS"
             | "PAIR"
             | "LT"
             | "CDR"
             | "EMPTY_SET"
             | "BALANCE"
             | "map"
             | "IF"
             | "SOME"
             | "MUL"
             | "NOT"
             | "NONE"
             | "None"
             | "DIP"
             | "GT"
             | "NOW"
             | "key_hash"
             | "NIL"
             | "contract"
             | "EXEC"
             | "SET_DELEGATE"
             | "UNIT"
             | "LOOP"
             | "SUB"
             | "CONCAT"
             | "DROP"
             | "MAP"
             | "RIGHT"
             | "LEFT"
             | "TRANSFER_TOKENS"
             | "INT"
             | "Left"
             | "big_map"
             | "signature"
             | "SWAP"
             | "mutez"
             | "EQ"
             | "GET"
             | "PUSH"
             | "option"
             | "IF_CONS"
             | "pair"
             | "nat"
             | "True"
             | "IF_LEFT"
             | "parameter"
             | "LE"
             | "HASH_KEY"
             | "SIZE"
             | "bool"
             | "Pair"
             | "lambda"
             | "FAIL"
             | "DUP"
             | "IF_NONE"
             | "key"
             | "code"
             | "CHECK_SIGNATURE",
           "args": [ $micheline.michelson_v1.expression ... ],
           "annot"?: string }
    $operation:
      { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
        "chain_id": string /* Network identifier (Base58Check-encoded) */,
        "hash": string /* A Tezos operation ID (Base58Check-encoded) */,
        "branch": string /* A block identifier (Base58Check-encoded) */,
        "contents": [ $operation.alpha.operation_contents_and_result ... ],
        "signature"?:
          string
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
    $operation.alpha.internal_operation_result:
      { "kind": "reveal",
        "source": $contract_id,
        "nonce": integer ∈ [0, 2^16-1],
        "public_key":
          string
          /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */,
        "result": $operation.alpha.operation_result.reveal }
      || { "kind": "transaction",
           "source": $contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "amount":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "destination": $contract_id,
           "parameters"?: $micheline.michelson_v1.expression,
           "result": $operation.alpha.operation_result.transaction }
      || { "kind": "origination",
           "source": $contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "manager_pubkey":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "balance":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "spendable"?: boolean,
           "delegatable"?: boolean,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "script"?:
             { "code": $micheline.michelson_v1.expression,
               "storage": $micheline.michelson_v1.expression },
           "result": $operation.alpha.operation_result.origination }
      || { "kind": "delegation",
           "source": $contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "result": $operation.alpha.operation_result.delegation }
    $operation.alpha.operation_contents_and_result:
      { "kind": "endorsement",
        "block": string /* A block identifier (Base58Check-encoded) */,
        "level": integer ∈ [-2^31-2, 2^31+2],
        "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ],
        "metadata":
          { "delegate":
              string
              /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
            "slots": [ integer ∈ [0, 255] ... ] } }
      || { "kind": "seed_nonce_revelation",
           "level": integer ∈ [-2^31-2, 2^31+2],
           "nonce": /^[a-zA-Z0-9]+$/,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates } }
      || { "kind": "double_endorsement_evidence",
           "op1":
             { "branch": string /* A block identifier (Base58Check-encoded) */,
               "operations":
                 { "kind": "endorsement",
                   "block":
                     string
                     /* A block identifier (Base58Check-encoded) */,
                   "level": integer ∈ [-2^31-2, 2^31+2],
                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
               "signature"?:
                 string
                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
           "op2":
             { "branch": string /* A block identifier (Base58Check-encoded) */,
               "operations":
                 { "kind": "endorsement",
                   "block":
                     string
                     /* A block identifier (Base58Check-encoded) */,
                   "level": integer ∈ [-2^31-2, 2^31+2],
                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
               "signature"?:
                 string
                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates } }
      || { "kind": "double_baking_evidence",
           "bh1": $block_header.alpha.full_header,
           "bh2": $block_header.alpha.full_header,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates } }
      || { "kind": "activate_account",
           "pkh": string /* An Ed25519 public key hash (Base58Check-encoded) */,
           "secret": /^[a-zA-Z0-9]+$/,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates } }
      || { "kind": "proposals",
           "source":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "period": integer ∈ [-2^31-2, 2^31+2],
           "proposals":
             [ string
             /* A Tezos protocol ID (Base58Check-encoded) */ ... ],
           "metadata": {  } }
      || { "kind": "ballot",
           "source":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "period": integer ∈ [-2^31-2, 2^31+2],
           "proposal": string /* A Tezos protocol ID (Base58Check-encoded) */,
           "ballot": "nay" | "yay" | "pass",
           "metadata": {  } }
      || { "kind": "reveal",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "public_key":
             string
             /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates,
               "operation_result": $operation.alpha.operation_result.reveal,
               "internal_operation_results"?:
                 [ $operation.alpha.internal_operation_result ... ] } }
      || { "kind": "transaction",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "amount":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "destination": $contract_id,
           "parameters"?: $micheline.michelson_v1.expression,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates,
               "operation_result":
                 $operation.alpha.operation_result.transaction,
               "internal_operation_results"?:
                 [ $operation.alpha.internal_operation_result ... ] } }
      || { "kind": "origination",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "manager_pubkey":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "balance":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "spendable"?: boolean,
           "delegatable"?: boolean,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "script"?:
             { "code": $micheline.michelson_v1.expression,
               "storage": $micheline.michelson_v1.expression },
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates,
               "operation_result":
                 $operation.alpha.operation_result.origination,
               "internal_operation_results"?:
                 [ $operation.alpha.internal_operation_result ... ] } }
      || { "kind": "delegation",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates,
               "operation_result": $operation.alpha.operation_result.delegation,
               "internal_operation_results"?:
                 [ $operation.alpha.internal_operation_result ... ] } }
      || { "kind": "activate_protocol",
           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */,
           "metadata": {  } }
      || { "kind": "activate_test_protocol",
           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */,
           "metadata": {  } }
    $operation.alpha.operation_result.delegation:
      { "status": "applied" }
      || { "status": "failed",
           "errors": [ $error ... ] }
      || { "status": "skipped" }
    $operation.alpha.operation_result.origination:
      { "status": "applied",
        "balance_updates"?: $operation_metadata.alpha.balance_updates,
        "originated_contracts"?: [ $contract_id ... ],
        "consumed_gas"?: $bignum,
        "storage_size_diff"?: integer ∈ [-2^31-2, 2^31+2] || string }
      || { "status": "failed",
           "errors": [ $error ... ] }
      || { "status": "skipped" }
    $operation.alpha.operation_result.reveal:
      { "status": "applied" }
      || { "status": "failed",
           "errors": [ $error ... ] }
      || { "status": "skipped" }
    $operation.alpha.operation_result.transaction:
      { "status": "applied",
        "storage"?: $micheline.michelson_v1.expression,
        "balance_updates"?: $operation_metadata.alpha.balance_updates,
        "originated_contracts"?: [ $contract_id ... ],
        "consumed_gas"?: $bignum,
        "storage_size_diff"?: integer ∈ [-2^31-2, 2^31+2] || string }
      || { "status": "failed",
           "errors": [ $error ... ] }
      || { "status": "skipped" }
    $operation_metadata.alpha.balance_updates:
      [ { "kind": "contract",
          "contract": $contract_id,
          "credited":
            /* Amount in mutez */
            integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "contract",
             "contract": $contract_id,
             "debited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "rewards",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "credited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "rewards",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "debited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "fees",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "credited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "fees",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "debited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "deposits",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "credited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "deposits",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "debited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string } ... ]
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string
.. _GET_..--block_id--operations--list_offset--operation_offset : **GET ..//operations//** .. raw:: html

The `m-th` operation in the `n-th` validation pass of the block.

    $operation
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $block_header.alpha.full_header:
      { "level": integer ∈ [-2^31-2, 2^31+2],
        "proto": integer ∈ [0, 255],
        "predecessor": string /* A block identifier (Base58Check-encoded) */,
        "timestamp":
          /* timestamp */
          $timestamp || integer ∈ [-2^31-2, 2^31+2] || string,
        "validation_pass": integer ∈ [0, 255],
        "operations_hash":
          string
          /* A list of list of operations (Base58Check-encoded) */,
        "fitness": [ /^[a-zA-Z0-9]+$/ ... ] /* Tezos block fitness */,
        "context": string /* A hash of context (Base58Check-encoded) */,
        "priority": integer ∈ [0, 2^16-1],
        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
        "seed_nonce_hash"?: string /* A nonce hash (Base58Check-encoded) */,
        "signature":
          string
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
    $contract_id:
      /* A contract handle
         A contract notation as given to an RPC or inside scripts. Can be a
         base58 implicit contract hash or a base58 originated contract hash. */
      string
    $error:
      /* ... FIXME ... */
      any
    $micheline.michelson_v1.expression:
      /* Micheline expression (michelson_v1 variant) */
      { "int": $bignum }
      || { "string": string }
      || [ $micheline.michelson_v1.expression ... ]
      || { "prim":
             "CAR"
             | "LSR"
             | "ADDRESS"
             | "CREATE_CONTRACT"
             | "LSL"
             | "MANAGER"
             | "Elt"
             | "EDIV"
             | "OR"
             | "address"
             | "operation"
             | "ADD"
             | "AMOUNT"
             | "ISNAT"
             | "list"
             | "NEG"
             | "LOOP_LEFT"
             | "EMPTY_MAP"
             | "H"
             | "unit"
             | "SELF"
             | "Right"
             | "set"
             | "LAMBDA"
             | "MEM"
             | "ITER"
             | "storage"
             | "CONTRACT"
             | "CONS"
             | "XOR"
             | "STEPS_TO_QUOTA"
             | "False"
             | "AND"
             | "CREATE_ACCOUNT"
             | "COMPARE"
             | "or"
             | "GE"
             | "UPDATE"
             | "NEQ"
             | "SOURCE"
             | "int"
             | "timestamp"
             | "IMPLICIT_ACCOUNT"
             | "string"
             | "Unit"
             | "Some"
             | "ABS"
             | "PAIR"
             | "LT"
             | "CDR"
             | "EMPTY_SET"
             | "BALANCE"
             | "map"
             | "IF"
             | "SOME"
             | "MUL"
             | "NOT"
             | "NONE"
             | "None"
             | "DIP"
             | "GT"
             | "NOW"
             | "key_hash"
             | "NIL"
             | "contract"
             | "EXEC"
             | "SET_DELEGATE"
             | "UNIT"
             | "LOOP"
             | "SUB"
             | "CONCAT"
             | "DROP"
             | "MAP"
             | "RIGHT"
             | "LEFT"
             | "TRANSFER_TOKENS"
             | "INT"
             | "Left"
             | "big_map"
             | "signature"
             | "SWAP"
             | "mutez"
             | "EQ"
             | "GET"
             | "PUSH"
             | "option"
             | "IF_CONS"
             | "pair"
             | "nat"
             | "True"
             | "IF_LEFT"
             | "parameter"
             | "LE"
             | "HASH_KEY"
             | "SIZE"
             | "bool"
             | "Pair"
             | "lambda"
             | "FAIL"
             | "DUP"
             | "IF_NONE"
             | "key"
             | "code"
             | "CHECK_SIGNATURE",
           "args": [ $micheline.michelson_v1.expression ... ],
           "annot"?: string }
    $operation:
      { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
        "chain_id": string /* Network identifier (Base58Check-encoded) */,
        "hash": string /* A Tezos operation ID (Base58Check-encoded) */,
        "branch": string /* A block identifier (Base58Check-encoded) */,
        "contents": [ $operation.alpha.operation_contents_and_result ... ],
        "signature"?:
          string
          /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ }
    $operation.alpha.internal_operation_result:
      { "kind": "reveal",
        "source": $contract_id,
        "nonce": integer ∈ [0, 2^16-1],
        "public_key":
          string
          /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */,
        "result": $operation.alpha.operation_result.reveal }
      || { "kind": "transaction",
           "source": $contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "amount":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "destination": $contract_id,
           "parameters"?: $micheline.michelson_v1.expression,
           "result": $operation.alpha.operation_result.transaction }
      || { "kind": "origination",
           "source": $contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "manager_pubkey":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "balance":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "spendable"?: boolean,
           "delegatable"?: boolean,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "script"?:
             { "code": $micheline.michelson_v1.expression,
               "storage": $micheline.michelson_v1.expression },
           "result": $operation.alpha.operation_result.origination }
      || { "kind": "delegation",
           "source": $contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "result": $operation.alpha.operation_result.delegation }
    $operation.alpha.operation_contents_and_result:
      { "kind": "endorsement",
        "block": string /* A block identifier (Base58Check-encoded) */,
        "level": integer ∈ [-2^31-2, 2^31+2],
        "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ],
        "metadata":
          { "delegate":
              string
              /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
            "slots": [ integer ∈ [0, 255] ... ] } }
      || { "kind": "seed_nonce_revelation",
           "level": integer ∈ [-2^31-2, 2^31+2],
           "nonce": /^[a-zA-Z0-9]+$/,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates } }
      || { "kind": "double_endorsement_evidence",
           "op1":
             { "branch": string /* A block identifier (Base58Check-encoded) */,
               "operations":
                 { "kind": "endorsement",
                   "block":
                     string
                     /* A block identifier (Base58Check-encoded) */,
                   "level": integer ∈ [-2^31-2, 2^31+2],
                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
               "signature"?:
                 string
                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
           "op2":
             { "branch": string /* A block identifier (Base58Check-encoded) */,
               "operations":
                 { "kind": "endorsement",
                   "block":
                     string
                     /* A block identifier (Base58Check-encoded) */,
                   "level": integer ∈ [-2^31-2, 2^31+2],
                   "slots": [ integer ∈ [-2^30-2, 2^30+2] ... ] },
               "signature"?:
                 string
                 /* A Secp256k1 or Ed25519 signature (Base58Check-encoded) */ },
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates } }
      || { "kind": "double_baking_evidence",
           "bh1": $block_header.alpha.full_header,
           "bh2": $block_header.alpha.full_header,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates } }
      || { "kind": "activate_account",
           "pkh": string /* An Ed25519 public key hash (Base58Check-encoded) */,
           "secret": /^[a-zA-Z0-9]+$/,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates } }
      || { "kind": "proposals",
           "source":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "period": integer ∈ [-2^31-2, 2^31+2],
           "proposals":
             [ string
             /* A Tezos protocol ID (Base58Check-encoded) */ ... ],
           "metadata": {  } }
      || { "kind": "ballot",
           "source":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "period": integer ∈ [-2^31-2, 2^31+2],
           "proposal": string /* A Tezos protocol ID (Base58Check-encoded) */,
           "ballot": "nay" | "yay" | "pass",
           "metadata": {  } }
      || { "kind": "reveal",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "public_key":
             string
             /* A Secp256k1 or Ed25519 public key (Base58Check-encoded) */,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates,
               "operation_result": $operation.alpha.operation_result.reveal,
               "internal_operation_results"?:
                 [ $operation.alpha.internal_operation_result ... ] } }
      || { "kind": "transaction",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "amount":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "destination": $contract_id,
           "parameters"?: $micheline.michelson_v1.expression,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates,
               "operation_result":
                 $operation.alpha.operation_result.transaction,
               "internal_operation_results"?:
                 [ $operation.alpha.internal_operation_result ... ] } }
      || { "kind": "origination",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "manager_pubkey":
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "balance":
             /* Amount in mutez */
             integer ∈ [-2^31-2, 2^31+2] || string,
           "spendable"?: boolean,
           "delegatable"?: boolean,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "script"?:
             { "code": $micheline.michelson_v1.expression,
               "storage": $micheline.michelson_v1.expression },
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates,
               "operation_result":
                 $operation.alpha.operation_result.origination,
               "internal_operation_results"?:
                 [ $operation.alpha.internal_operation_result ... ] } }
      || { "kind": "delegation",
           "source": $contract_id,
           "fee": /* Amount in mutez */integer ∈ [-2^31-2, 2^31+2] || string,
           "counter": integer ∈ [-2^31-2, 2^31+2],
           "gas_limit": $bignum,
           "storage_limit": integer ∈ [-2^31-2, 2^31+2] || string,
           "delegate"?:
             string
             /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
           "metadata":
             { "balance_updates": $operation_metadata.alpha.balance_updates,
               "operation_result": $operation.alpha.operation_result.delegation,
               "internal_operation_results"?:
                 [ $operation.alpha.internal_operation_result ... ] } }
      || { "kind": "activate_protocol",
           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */,
           "metadata": {  } }
      || { "kind": "activate_test_protocol",
           "hash": string /* A Tezos protocol ID (Base58Check-encoded) */,
           "metadata": {  } }
    $operation.alpha.operation_result.delegation:
      { "status": "applied" }
      || { "status": "failed",
           "errors": [ $error ... ] }
      || { "status": "skipped" }
    $operation.alpha.operation_result.origination:
      { "status": "applied",
        "balance_updates"?: $operation_metadata.alpha.balance_updates,
        "originated_contracts"?: [ $contract_id ... ],
        "consumed_gas"?: $bignum,
        "storage_size_diff"?: integer ∈ [-2^31-2, 2^31+2] || string }
      || { "status": "failed",
           "errors": [ $error ... ] }
      || { "status": "skipped" }
    $operation.alpha.operation_result.reveal:
      { "status": "applied" }
      || { "status": "failed",
           "errors": [ $error ... ] }
      || { "status": "skipped" }
    $operation.alpha.operation_result.transaction:
      { "status": "applied",
        "storage"?: $micheline.michelson_v1.expression,
        "balance_updates"?: $operation_metadata.alpha.balance_updates,
        "originated_contracts"?: [ $contract_id ... ],
        "consumed_gas"?: $bignum,
        "storage_size_diff"?: integer ∈ [-2^31-2, 2^31+2] || string }
      || { "status": "failed",
           "errors": [ $error ... ] }
      || { "status": "skipped" }
    $operation_metadata.alpha.balance_updates:
      [ { "kind": "contract",
          "contract": $contract_id,
          "credited":
            /* Amount in mutez */
            integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "contract",
             "contract": $contract_id,
             "debited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "rewards",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "credited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "rewards",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "debited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "fees",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "credited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "fees",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "debited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "deposits",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "credited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string }
        || { "kind": "freezer",
             "category": "deposits",
             "delegate":
               string
               /* A Secp256k1 or Ed25519 public key hash (Base58Check-encoded) */,
             "level": integer ∈ [-2^31-2, 2^31+2],
             "debited":
               /* Amount in mutez */
               integer ∈ [-2^31-2, 2^31+2] || string } ... ]
    $timestamp:
      /* RFC 3339 formatted timestamp
         A date in human readble form as specified in RFC 3339. */
      string