---
title: "POST /EXPERIMENTAL_protocol_config"
method: POST
path: "/EXPERIMENTAL_protocol_config"
---

# POST /EXPERIMENTAL_protocol_config

`POST /EXPERIMENTAL_protocol_config`

A configuration that defines the protocol-level parameters such as gas/storage costs, limits, feature flags, other settings

## Request body

- JsonRpcRequestForEXPERIMENTALProtocolConfig
  - `id` string — JSON-RPC request id. Auto-populated; can be any string.
  - `jsonrpc` '2.0' — JSON-RPC protocol version. Always `2.0`.
  - `method` 'EXPERIMENTAL_protocol_config', required
  - `params` union, required
    - object
      - `block_id` union, required
        - integer
        - string
    - object
      - `finality` 'optimistic' | 'near-final' | 'final', required — Different types of finality.
    - object
      - `sync_checkpoint` 'genesis' | 'earliest_available', required

## Response `200`

- union
  - object
    - `result` RpcProtocolConfigResponse, required
      - `block_producer_kickout_threshold` integer — Threshold for kicking out block producers, between 0 and 100.
      - `chain_id` string — ID of the blockchain. This must be unique for every blockchain. If your testnet blockchains do not have unique chain IDs, you will have a bad time.
      - `chunk_producer_kickout_threshold` integer — Threshold for kicking out chunk producers, between 0 and 100.
      - `chunk_validator_only_kickout_threshold` integer — Threshold for kicking out nodes which are only chunk validators, between 0 and 100.
      - `dynamic_resharding` boolean — Enable dynamic re-sharding.
      - `epoch_length` integer — Epoch length counted in block heights.
      - `fishermen_threshold` string
      - `gas_limit` integer
      - `gas_price_adjustment_rate` integer[] — Gas price adjustment rate
      - `genesis_height` integer — Height of genesis block.
      - `genesis_time` string, date-time — Official time of blockchain start.
      - `max_gas_price` string
      - `max_inflation_rate` integer[] — Maximum inflation on the total supply every epoch.
      - `max_kickout_stake_perc` integer — Max stake percentage of the validators we will kick out.
      - `min_gas_price` string
      - `minimum_stake_divisor` integer — The minimum stake required for staking is last seat price divided by this number.
      - `minimum_stake_ratio` integer[] — The lowest ratio s/s_total any block producer can have. See <https://github.com/near/NEPs/pull/167> for details
      - `minimum_validators_per_shard` integer — The minimum number of validators each shard must have
      - `num_block_producer_seats` integer — Number of block producer seats at genesis.
      - `num_blocks_per_year` integer — Expected number of blocks per year
      - `online_max_threshold` integer[] — Online maximum threshold above which validator gets full reward.
      - `online_min_threshold` integer[] — Online minimum threshold below which validator doesn't receive reward.
      - `protocol_reward_rate` integer[] — Protocol treasury rate
      - `protocol_treasury_account` string — NEAR Account Identifier. This is a unique, syntactically valid, human-readable account identifier on the NEAR network. [See the crate-level docs for information about validation.](index.html#account-id-rules) Also see [Error kind precedence](AccountId#error-kind-precedence). ## Examples ``` use near_account_id::AccountId; let alice: AccountId = "alice.near".parse().unwrap(); assert!("ƒelicia.near".parse::<AccountId>().is_err()); // (ƒ is not f) ```
      - `protocol_upgrade_stake_threshold` integer[] — Threshold of stake that needs to indicate that they ready for upgrade.
      - `protocol_version` integer — Current Protocol Version
      - `runtime_config` RuntimeConfigView — View that preserves JSON format of the runtime config.
        - `account_creation_charge` string
        - `account_creation_config` AccountCreationConfigView — The structure describes configuration for creation of new accounts.
          - `min_allowed_top_level_account_length` integer — The minimum length of the top-level account ID that is allowed to be created by any account.
          - `registrar_account_id` string — NEAR Account Identifier. This is a unique, syntactically valid, human-readable account identifier on the NEAR network. [See the crate-level docs for information about validation.](index.html#account-id-rules) Also see [Error kind precedence](AccountId#error-kind-precedence). ## Examples ``` use near_account_id::AccountId; let alice: AccountId = "alice.near".parse().unwrap(); assert!("ƒelicia.near".parse::<AccountId>().is_err()); // (ƒ is not f) ```
        - `congestion_control_config` CongestionControlConfigView — The configuration for congestion control. More info about congestion [here](https://near.github.io/nearcore/architecture/how/receipt-congestion.html?highlight=congestion#receipt-congestion)
          - `allowed_shard_outgoing_gas` integer
          - `max_congestion_incoming_gas` integer
          - `max_congestion_memory_consumption` integer — How much memory space of all delayed and buffered receipts in a shard is considered 100% congested. See [`CongestionControlConfig`] for more details.
          - `max_congestion_missed_chunks` integer — How many missed chunks in a row in a shard is considered 100% congested.
          - `max_congestion_outgoing_gas` integer
          - `max_outgoing_gas` integer
          - `max_tx_gas` integer
          - `min_outgoing_gas` integer
          - `min_tx_gas` integer
          - `outgoing_receipts_big_size_limit` integer — Large size limit for outgoing receipts to a shard, used when it's safe to send a lot of receipts without making the state witness too large. It limits the total sum of outgoing receipts, not individual receipts.
          - `outgoing_receipts_usual_size_limit` integer — The standard size limit for outgoing receipts aimed at a single shard. This limit is pretty small to keep the size of source_receipt_proofs under control. It limits the total sum of outgoing receipts, not individual receipts.
          - `reject_tx_congestion_threshold` number, double — How much congestion a shard can tolerate before it stops all shards from accepting new transactions with the receiver set to the congested shard.
        - `min_gas_purchase_price` string
        - `storage_amount_per_byte` string
        - `transaction_costs` RuntimeFeesConfigView — Describes different fees for the runtime
          - `action_creation_config` ActionCreationConfigView — Describes the cost of creating a specific action, `Action`. Includes all variants.
            - `add_key_cost` AccessKeyCreationConfigView — Describes the cost of creating an access key.
              - …
            - `create_account_cost` Fee — Costs associated with an object that can only be sent over the network (and executed by the receiver). NOTE: `send_sir` or `send_not_sir` fees are usually burned when the item is being created. And `execution` fee is burned when the item is being executed.
              - …
            - `delegate_cost` Fee — Costs associated with an object that can only be sent over the network (and executed by the receiver). NOTE: `send_sir` or `send_not_sir` fees are usually burned when the item is being created. And `execution` fee is burned when the item is being executed.
              - …
            - `delete_account_cost` Fee — Costs associated with an object that can only be sent over the network (and executed by the receiver). NOTE: `send_sir` or `send_not_sir` fees are usually burned when the item is being created. And `execution` fee is burned when the item is being executed.
              - …
            - `delete_key_cost` Fee — Costs associated with an object that can only be sent over the network (and executed by the receiver). NOTE: `send_sir` or `send_not_sir` fees are usually burned when the item is being created. And `execution` fee is burned when the item is being executed.
              - …
            - `deploy_contract_cost` Fee — Costs associated with an object that can only be sent over the network (and executed by the receiver). NOTE: `send_sir` or `send_not_sir` fees are usually burned when the item is being created. And `execution` fee is burned when the item is being executed.
              - …
            - `deploy_contract_cost_per_byte` Fee — Costs associated with an object that can only be sent over the network (and executed by the receiver). NOTE: `send_sir` or `send_not_sir` fees are usually burned when the item is being created. And `execution` fee is burned when the item is being executed.
              - …
            - `function_call_cost` Fee — Costs associated with an object that can only be sent over the network (and executed by the receiver). NOTE: `send_sir` or `send_not_sir` fees are usually burned when the item is being created. And `execution` fee is burned when the item is being executed.
              - …
            - `function_call_cost_per_byte` Fee — Costs associated with an object that can only be sent over the network (and executed by the receiver). NOTE: `send_sir` or `send_not_sir` fees are usually burned when the item is being created. And `execution` fee is burned when the item is being executed.
              - …
            - `stake_cost` Fee — Costs associated with an object that can only be sent over the network (and executed by the receiver). NOTE: `send_sir` or `send_not_sir` fees are usually burned when the item is being created. And `execution` fee is burned when the item is being executed.
              - …
            - `transfer_cost` Fee — Costs associated with an object that can only be sent over the network (and executed by the receiver). NOTE: `send_sir` or `send_not_sir` fees are usually burned when the item is being created. And `execution` fee is burned when the item is being executed.
              - …
          - `action_receipt_creation_config` Fee — Costs associated with an object that can only be sent over the network (and executed by the receiver). NOTE: `send_sir` or `send_not_sir` fees are usually burned when the item is being created. And `execution` fee is burned when the item is being executed.
            - `execution` integer, required
            - `send_not_sir` integer, required
            - `send_sir` integer, required
          - `burnt_gas_reward` integer[] — Fraction of the burnt gas to reward to the contract account for execution.
          - `data_receipt_creation_config` DataReceiptCreationConfigView — The fees settings for a data receipt creation
            - `base_cost` Fee — Costs associated with an object that can only be sent over the network (and executed by the receiver). NOTE: `send_sir` or `send_not_sir` fees are usually burned when the item is being created. And `execution` fee is burned when the item is being executed.
              - …
            - `cost_per_byte` Fee — Costs associated with an object that can only be sent over the network (and executed by the receiver). NOTE: `send_sir` or `send_not_sir` fees are usually burned when the item is being created. And `execution` fee is burned when the item is being executed.
              - …
          - `ml_dsa_65_verification_cost` integer
          - `pessimistic_gas_price_inflation_ratio` integer[] — Pessimistic gas price inflation ratio.
          - `storage_usage_config` StorageUsageConfigView — Describes cost of storage per block
            - `num_bytes_account` integer — Number of bytes for an account record, including rounding up for account id.
            - `num_extra_bytes_record` integer — Additional number of bytes for a k/v record
        - `wasm_config` VMConfigView
          - `bls12381_not_in_group_fix` boolean — See [VMConfig::bls12381_not_in_group_fix](crate::vm::Config::bls12381_not_in_group_fix).
          - `chain_id_host_fn` boolean — See [VMConfig::chain_id_host_fn](crate::vm::Config::chain_id_host_fn).
          - `discard_custom_sections` boolean — See [VMConfig::discard_custom_sections](crate::vm::Config::discard_custom_sections).
          - `eth_implicit_accounts` boolean — See [VMConfig::eth_implicit_accounts](crate::vm::Config::eth_implicit_accounts).
          - `ext_costs` ExtCostsConfigView — Typed view of ExtCostsConfig to preserve JSON output field names in protocol config RPC output.
            - `alt_bn128_g1_multiexp_base` integer
            - `alt_bn128_g1_multiexp_element` integer
            - `alt_bn128_g1_sum_base` integer
            - `alt_bn128_g1_sum_element` integer
            - `alt_bn128_pairing_check_base` integer
            - `alt_bn128_pairing_check_element` integer
            - `base` integer
            - `bls12381_g1_multiexp_base` integer
            - `bls12381_g1_multiexp_element` integer
            - `bls12381_g2_multiexp_base` integer
            - `bls12381_g2_multiexp_element` integer
            - `bls12381_map_fp2_to_g2_base` integer
            - `bls12381_map_fp2_to_g2_element` integer
            - `bls12381_map_fp_to_g1_base` integer
            - `bls12381_map_fp_to_g1_element` integer
            - `bls12381_p1_decompress_base` integer
            - `bls12381_p1_decompress_element` integer
            - `bls12381_p1_sum_base` integer
            - `bls12381_p1_sum_element` integer
            - `bls12381_p2_decompress_base` integer
            - `bls12381_p2_decompress_element` integer
            - `bls12381_p2_sum_base` integer
            - `bls12381_p2_sum_element` integer
            - `bls12381_pairing_base` integer
            - `bls12381_pairing_element` integer
            - `contract_compile_base` integer
            - `contract_compile_bytes` integer
            - `contract_loading_base` integer
            - `contract_loading_bytes` integer
            - `ecrecover_base` integer
            - `ed25519_verify_base` integer
            - `ed25519_verify_byte` integer
            - `keccak256_base` integer
            - `keccak256_byte` integer
            - `keccak512_base` integer
            - `keccak512_byte` integer
            - `log_base` integer
            - `log_byte` integer
            - `p256_verify_base` integer
            - `p256_verify_byte` integer
            - `promise_and_base` integer
            - `promise_and_per_promise` integer
            - `promise_return` integer
            - `read_cached_trie_node` integer
            - `read_memory_base` integer
            - `read_memory_byte` integer
            - `read_register_base` integer
            - `read_register_byte` integer
            - `ripemd160_base` integer
            - `ripemd160_block` integer
            - `sha256_base` integer
            - `sha256_byte` integer
            - `sha3_256_base` integer
            - `sha3_256_byte` integer
            - `sha3_384_base` integer
            - `sha3_384_byte` integer
            - `sha3_512_base` integer
            - `sha3_512_byte` integer
            - `storage_has_key_base` integer
            - `storage_has_key_byte` integer
            - `storage_iter_create_from_byte` integer
            - `storage_iter_create_prefix_base` integer
            - `storage_iter_create_prefix_byte` integer
            - `storage_iter_create_range_base` integer
            - `storage_iter_create_to_byte` integer
            - `storage_iter_next_base` integer
            - `storage_iter_next_key_byte` integer
            - `storage_iter_next_value_byte` integer
            - `storage_large_read_overhead_base` integer
            - `storage_large_read_overhead_byte` integer
            - `storage_read_base` integer
            - `storage_read_key_byte` integer
            - `storage_read_value_byte` integer
            - `storage_remove_base` integer
            - `storage_remove_key_byte` integer
            - `storage_remove_ret_value_byte` integer
            - `storage_write_base` integer
            - `storage_write_evicted_byte` integer
            - `storage_write_key_byte` integer
            - `storage_write_value_byte` integer
            - `touching_trie_node` integer
            - `utf16_decoding_base` integer
            - `utf16_decoding_byte` integer
            - `utf8_decoding_base` integer
            - `utf8_decoding_byte` integer
            - `validator_stake_base` integer
            - `validator_total_stake_base` integer
            - `write_memory_base` integer
            - `write_memory_byte` integer
            - `write_register_base` integer
            - `write_register_byte` integer
            - `yield_create_base` integer
            - `yield_create_byte` integer
            - `yield_create_with_id_base` integer
            - `yield_resume_base` integer
            - `yield_resume_byte` integer
          - `fix_contract_loading_cost` boolean — See [VMConfig::fix_contract_loading_cost](crate::vm::Config::fix_contract_loading_cost).
          - `gas_key_host_fns` boolean — See [VMConfig::gas_key_host_fns](crate::vm::Config::gas_key_host_fns).
          - `global_contract_host_fns` boolean — See [VMConfig::global_contract_host_fns](crate::vm::Config::global_contract_host_fns).
          - `grow_mem_cost` integer — Gas cost of a growing memory by single page.
          - `implicit_account_creation` boolean — Deprecated
          - `limit_config` LimitConfig — Describes limits for VM and Runtime. TODO #4139: consider switching to strongly-typed wrappers instead of raw quantities
            - `account_id_validity_rules_version` integer
            - `initial_memory_pages` integer — The initial number of memory pages. NOTE: It's not a limiter itself, but it's a value we use for initial_memory_pages.
            - `max_actions_per_receipt` integer — Max number of actions per receipt.
            - `max_arguments_length` integer — Max length of arguments in a function call action.
            - `max_blocks_per_contract` integer, nullable — If present, stores max total number of basic blocks across all functions in a contract. This caps total compilation time for a contract.
            - `max_blocks_per_function` integer, nullable — If present, stores max number of basic blocks (block/loop/if) in a single function. This caps per-function compilation time in Cranelift.
            - `max_contract_size` integer — Max contract size
            - `max_deploy_actions_per_receipt` integer — Max number of `DeployContract` and `DeployGlobalContract` actions combined within a single receipt.
            - `max_elements_per_contract_table` integer, nullable — If present, stores max number of elements in a single contract's table
            - `max_function_body_size` integer, nullable — If present, stores max byte size of a single function body in a contract
            - `max_functions_number_per_contract` integer, nullable — If present, stores max number of functions in one contract
            - `max_gas_burnt` integer
            - `max_instrumented_code_size` integer, nullable — If present, stores max byte size of the wasm code after gas instrumentation. This prevents Cranelift's 24-bit SSA counter from overflowing on pathologically large contracts.
            - `max_length_method_name` integer — Max length of any method name (without terminating character).
            - `max_length_returned_data` integer — Max length of returned data
            - `max_length_storage_key` integer — Max storage key size
            - `max_length_storage_value` integer — Max storage value size
            - `max_locals_per_contract` integer, nullable — If present, stores max number of locals declared globally in one contract
            - `max_memory_pages` integer — What is the maximal memory pages amount is allowed to have for a contract.
            - `max_number_bytes_method_names` integer — Max total length of all method names (including terminating character) for a function call permission access key.
            - `max_number_input_data_dependencies` integer — Max number of input data dependencies
            - `max_number_logs` integer — Maximum number of log entries.
            - `max_number_registers` integer — Maximum number of registers that can be used simultaneously. Note that due to an implementation quirk [read: a bug] in VMLogic, if we have this number of registers, no subsequent writes to the registers will succeed even if they replace an existing register.
            - `max_operand_stack_bytes_per_function` integer, nullable — If present, stores the max operand stack size (in bytes) at any point during the execution of a single function. Per-function: not summed across recursion. Computed by `finite_wasm::max_stack`.
            - `max_params_per_contract` integer, nullable
            - `max_params_per_function` integer, nullable
            - `max_promises_per_function_call_action` integer — Max number of promises that a function call can create
            - `max_receipt_size` integer — Max receipt size
            - `max_register_size` integer — Maximum number of bytes that can be stored in a single register.
            - `max_stack_height` integer — How tall the stack is allowed to grow? See <https://wiki.parity.io/WebAssembly-StackHeight> to find out how the stack frame cost is calculated.
            - `max_tables_per_contract` integer, nullable — If present, stores max number of tables declared globally in one contract
            - `max_total_log_length` integer — Maximum total length in bytes of all log messages.
            - `max_total_prepaid_gas` integer
            - `max_transaction_size` integer — Max transaction size
            - `max_types_per_contract` integer, nullable — If present, stores max number of entries in the wasm type section that a contract may declare.
            - `max_yield_payload_size` integer — Maximum number of bytes for payload passed over a yield resume.
            - `per_receipt_storage_proof_size_limit` integer — Hard limit on the size of storage proof generated while executing a single receipt.
            - `registers_memory_limit` integer — Limit of memory used by registers.
            - `yield_timeout_length_in_blocks` integer — Number of blocks after which a yielded promise times out.
          - `linear_op_base_cost` integer — Base gas cost of a linear operation
          - `linear_op_unit_cost` integer — Unit gas cost of a linear operation
          - `one_yocto_on_promise` boolean — See [VMConfig::one_yocto_on_promise](crate::vm::Config::one_yocto_on_promise).
          - `p256_verify_host_fn` boolean — See [VMConfig::p256_verify_host_fn](crate::vm::Config::p256_verify_host_fn).
          - `reftypes_bulk_memory` boolean — See [VMConfig::reftypes_bulk_memory](crate::vm::Config::reftypes_bulk_memory).
          - `regular_op_cost` integer — Gas cost of a regular operation.
          - `sha3_host_fns` boolean — See [VMConfig::sha3_host_fns](crate::vm::Config::sha3_host_fns).
          - `storage_get_mode` 'FlatStorage' | 'Trie' — This enum represents if a storage_get call will be performed through flat storage or trie
          - `vm_kind` union
            - 'Wasmer0' — Wasmer 0.17.x VM. Gone now.
            - 'Wasmtime' — Wasmtime VM.
            - 'Wasmer2' — Wasmer 2.x VM.
            - 'NearVm' — NearVM.
          - `yield_with_id_host_fns` boolean — See [VMConfig::yield_with_id_host_fns](crate::vm::Config::yield_with_id_host_fns).
        - `witness_config` WitnessConfigView — Configuration specific to ChunkStateWitness.
          - `combined_transactions_size_limit` integer — Maximum size of transactions contained inside ChunkStateWitness. A witness contains transactions from both the previous chunk and the current one. This parameter limits the sum of sizes of transactions from both of those chunks.
          - `main_storage_proof_size_soft_limit` integer — Size limit for storage proof generated while executing receipts in a chunk. After this limit is reached we defer execution of any new receipts.
          - `new_transactions_validation_state_size_soft_limit` integer — Soft size limit of storage proof used to validate new transactions in ChunkStateWitness.
      - `shard_layout` union — A versioned struct that contains all information needed to assign accounts to shards. Because of re-sharding, the chain may use different shard layout to split shards at different times. Currently, `ShardLayout` is stored as part of `EpochConfig`, which is generated each epoch given the epoch protocol version. In mainnet/testnet, we use two shard layouts since re-sharding has only happened once. It is stored as part of genesis config, see default_simple_nightshade_shard_layout() Below is an overview for some important functionalities of ShardLayout interface.
        - object
          - `V0` ShardLayoutV0, required — A shard layout that maps accounts evenly across all shards -- by calculate the hash of account id and mod number of shards. This is added to capture the old `account_id_to_shard_id` algorithm, to keep backward compatibility for some existing tests. `parent_shards` for `ShardLayoutV1` is always `None`, meaning it can only be the first shard layout a chain uses.
            - `num_shards` integer, required — Map accounts evenly across all shards
            - `version` integer, required — Version of the shard layout, this is useful for uniquely identify the shard layout
        - object
          - `V1` ShardLayoutV1, required
            - `boundary_accounts` AccountId[], required — The boundary accounts are the accounts on boundaries between shards. Each shard contains a range of accounts from one boundary account to another - or the smallest or largest account possible. The total number of shards is equal to the number of boundary accounts plus 1.
            - `shards_split_map` array[], nullable — Maps shards from the last shard layout to shards that it splits to in this shard layout, Useful for constructing states for the shards. None for the genesis shard layout
              - …
            - `to_parent_shard_map` ShardId[], nullable — Maps shard in this shard layout to their parent shard Since shard_ids always range from 0 to num_shards - 1, we use vec instead of a hashmap
            - `version` integer, required — Version of the shard layout, this is useful for uniquely identify the shard layout
        - object
          - `V2` ShardLayoutV2, required — Counterpart to `ShardLayoutV2` composed of maps with string keys to aid serde serialization.
            - `boundary_accounts` AccountId[], required
            - `id_to_index_map` object, required
            - `index_to_id_map` object, required
            - `shard_ids` ShardId[], required
            - `shards_parent_map` object, nullable
            - `shards_split_map` object, nullable
            - `version` integer, required
        - object
          - `V3` ShardLayoutV3, required — Counterpart to `ShardLayoutV3` composed of maps with string keys to aid serde serialization.
            - `boundary_accounts` AccountId[], required
            - `id_to_index_map` object, required
            - `last_split` integer, required — The shard identifier. It may be an arbitrary number - it does not need to be a number in the range 0..NUM_SHARDS. The shard ids do not need to be sequential or contiguous. The shard id is wrapped in a new type to prevent the old pattern of using indices in range 0..NUM_SHARDS and casting to ShardId. Once the transition if fully complete it potentially may be simplified to a regular type alias.
            - `shard_ids` ShardId[], required
            - `shards_split_map` object, required
      - `shuffle_shard_assignment_for_chunk_producers` boolean — If true, shuffle the chunk producers across shards. In other words, if the shard assignments were `[S_0, S_1, S_2, S_3]` where `S_i` represents the set of chunk producers for shard `i`, if this flag were true, the shard assignments might become, for example, `[S_2, S_0, S_3, S_1]`.
      - `target_validator_mandates_per_shard` integer — Number of target chunk validator mandates for each shard.
      - `transaction_validity_period` integer — Number of blocks for which a given transaction is valid
    - `id` string, required
    - `jsonrpc` string, required
  - object
    - `error` union, required
      - object
        - `cause` union, required
          - object
            - `info` object, required
              - …
            - `name` 'METHOD_NOT_FOUND', required
          - object
            - `info` object, required
              - …
            - `name` 'PARSE_ERROR', required
        - `name` 'REQUEST_VALIDATION_ERROR', required
      - object
        - `cause` union, required
          - object
            - `info` object, required
            - `name` 'UNKNOWN_BLOCK', required
          - object
            - `info` object, required
              - …
            - `name` 'INTERNAL_ERROR', required
        - `name` 'HANDLER_ERROR', required
      - object
        - `cause` InternalError, required
          - `info` object, required
            - `error_message` string, required
          - `name` 'INTERNAL_ERROR', required
        - `name` 'INTERNAL_ERROR', required
    - `id` string, required
    - `jsonrpc` string, required

---

[API](https://skmtc.net/near/apis/near-protocol-json-rpc-api.md) · [All operations](https://skmtc.net/near/apis/near-protocol-json-rpc-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/near/near-protocol-json-rpc-api/versions/cb6bdde6167d/schema)
