Docs

archive_v1_call - Bittensor RPC Method

Execute a runtime API call against archived historical state on Bittensor using the new JSON-RPC v2 spec.

Executes a runtime API call against the state of a specific historical block via the new JSON-RPC v2 archive API. This allows you to invoke any runtime API function (such as Metadata_metadata, AccountNonceApi_account_nonce, or TransactionPaymentApi_query_info) using the state as it existed at a given block, without needing an active follow subscription.

Parameters

ParameterTypeRequiredDescription
hashstringYesHex-encoded block hash identifying which historical state to query against.
functionstringYesThe runtime API function name (e.g. "Metadata_metadata").
callParametersstringYesHex-encoded SCALE-encoded call parameters. Use "0x" when the function takes no arguments.

Response

FieldTypeDescription
result.successbooleantrue when the runtime call executed successfully
result.valuestringHex-encoded SCALE output returned by the runtime API when success is true
result.errorstringError string returned by the runtime when success is false

The value field is SCALE-encoded and must be decoded according to the runtime API's return type.

Code Examples

Use Cases

  • Historical metadata retrieval -- Fetch the runtime metadata as it was at a past block to correctly decode storage and extrinsics from that era.
  • Fee estimation on past state -- Call TransactionPaymentApi_query_info against historical state to understand fee structures at a given block.
  • Cross-version analytics -- Compare runtime API outputs across different blocks to track how Bittensor subnet parameters evolved over time.

Bittensor Context

On Bittensor, runtime APIs can expose subnet-specific data, neuron metadata, and staking information. By calling these APIs at historical blocks, you can reconstruct how subnet parameters, validator weights, and incentive mechanisms evolved over time -- essential for research and analytics on the decentralized AI network.

Notes

  • This is part of the new JSON-RPC v2 specification. Availability depends on node configuration and the archive namespace being enabled.
  • The callParameters must be SCALE-encoded. Use a library such as @polkadot/types or parity-scale-codec to encode them.
  • On public shared RPC endpoints, this method may be disabled or rate-limited.