{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/nano/refs/heads/main/json-schema/nano-rpc-request.json", "title": "Nano RPC Request", "description": "Base schema for all Nano JSON-RPC requests. Every request must include an 'action' field identifying the RPC command.", "type": "object", "required": ["action"], "properties": { "action": { "type": "string", "description": "The RPC action to perform", "enum": [ "account_balance", "account_block_count", "account_get", "account_history", "account_info", "account_key", "account_representative", "account_weight", "accounts_balances", "accounts_frontiers", "accounts_receivable", "accounts_representatives", "available_supply", "block_account", "block_confirm", "block_count", "block_create", "block_hash", "block_info", "blocks", "blocks_info", "bootstrap", "bootstrap_any", "bootstrap_lazy", "bootstrap_status", "chain", "confirmation_active", "confirmation_history", "confirmation_info", "confirmation_quorum", "delegators", "delegators_count", "deterministic_key", "election_statistics", "frontier_count", "frontiers", "keepalive", "key_create", "key_expand", "ledger", "nano_to_raw", "node_id", "peers", "populate_backlog", "process", "raw_to_nano", "receivable", "receivable_exists", "receive", "receive_minimum", "receive_minimum_set", "representatives", "representatives_online", "republish", "search_receivable", "search_receivable_all", "send", "sign", "stats", "successors", "telemetry", "uptime", "validate_account_number", "version", "wallet_add", "wallet_add_watch", "wallet_balances", "wallet_change_seed", "wallet_contains", "wallet_create", "wallet_destroy", "wallet_export", "wallet_frontiers", "wallet_history", "wallet_info", "wallet_ledger", "wallet_lock", "wallet_locked", "wallet_receivable", "wallet_representative", "wallet_representative_set", "wallet_republish", "wallet_work_get", "work_cancel", "work_generate", "work_get", "work_set", "work_validate", "account_create", "account_list", "account_move", "account_remove", "account_representative_set", "accounts_create", "password_change", "password_enter", "password_valid", "node_id", "election_statistics" ] }, "account": { "type": "string", "pattern": "^nano_[13][13456789abcdefghijkmnopqrstuwxyz]{59}$", "description": "A Nano account address (nano_ prefix followed by 60 base32 characters)" }, "accounts": { "type": "array", "items": { "type": "string", "pattern": "^nano_[13][13456789abcdefghijkmnopqrstuwxyz]{59}$" }, "description": "A list of Nano account addresses" }, "hash": { "type": "string", "pattern": "^[0-9A-F]{64}$", "description": "A 64-character uppercase hex block hash" }, "hashes": { "type": "array", "items": { "type": "string", "pattern": "^[0-9A-F]{64}$" }, "description": "A list of block hashes" }, "wallet": { "type": "string", "pattern": "^[0-9A-F]{64}$", "description": "A 64-character uppercase hex wallet identifier" }, "count": { "type": "integer", "minimum": 1, "description": "Maximum number of results to return" }, "threshold": { "type": "string", "description": "Minimum amount in raw units to include in results" }, "source": { "type": "boolean", "description": "Include source account information in results" }, "sorting": { "type": "boolean", "description": "Sort results by balance descending" }, "representative": { "type": ["string", "boolean"], "description": "Include or set representative information" }, "weight": { "type": "boolean", "description": "Include voting weight in results" }, "json_block": { "type": "string", "enum": ["true"], "description": "Return block contents as JSON object rather than string" }, "key": { "type": "string", "pattern": "^[0-9A-F]{64}$", "description": "A 64-character uppercase hex private or public key" }, "seed": { "type": "string", "pattern": "^[0-9A-F]{64}$", "description": "A 64-character uppercase hex wallet seed" }, "work": { "type": "string", "description": "Proof-of-work value (hex)" }, "difficulty": { "type": "string", "description": "Target difficulty for work generation (hex)" }, "amount": { "type": "string", "description": "Amount in raw units (integer string) or Nano units" } }, "additionalProperties": true }