openapi: 3.0.3 info: title: Nano RPC Accounts Node API description: 'The Nano RPC API is a JSON-RPC HTTP interface for interacting with the Nano network. Nano is a feeless, instant digital currency using a block-lattice architecture where each account maintains its own blockchain. The RPC API supports account queries, block operations, wallet management, node diagnostics, and unit conversions. All requests are POST with a JSON body containing an "action" field identifying the RPC command. ' version: 1.0.0 contact: name: Nano Foundation url: https://nano.org/en/developers email: integrations@nano.org license: name: BSD-2-Clause url: https://opensource.org/licenses/BSD-2-Clause termsOfService: https://nano.org/terms-of-use servers: - url: http://localhost:7076 description: Local Nano node (default RPC port) tags: - name: Node description: Node diagnostics, bootstrapping, peers, and confirmation management paths: /bootstrap: post: operationId: bootstrap summary: Bootstrap from peer description: Initiates a bootstrap sync from the specified peer node. tags: - Node requestBody: required: true content: application/json: schema: type: object required: - action - address - port properties: action: type: string enum: - bootstrap address: type: string port: type: string bypass_frontier_confirmation: type: boolean id: type: string responses: '200': description: Bootstrap started content: application/json: schema: type: object properties: success: type: string /bootstrap_any: post: operationId: bootstrap_any summary: Bootstrap from any peer description: Initiates a bootstrap sync from any available peer. tags: - Node requestBody: required: true content: application/json: schema: type: object required: - action properties: action: type: string enum: - bootstrap_any force: type: boolean id: type: string account: type: string responses: '200': description: Bootstrap started content: application/json: schema: type: object properties: success: type: string /bootstrap_lazy: post: operationId: bootstrap_lazy summary: Lazy bootstrap from hash description: Initiates lazy (hash-based) bootstrap starting from a specific block. tags: - Node requestBody: required: true content: application/json: schema: type: object required: - action - hash properties: action: type: string enum: - bootstrap_lazy hash: type: string force: type: boolean id: type: string responses: '200': description: Bootstrap status content: application/json: schema: type: object properties: started: type: string key_inserted: type: string /bootstrap_status: post: operationId: bootstrap_status summary: Get bootstrap status description: Returns current bootstrap attempt status and connection counts. tags: - Node requestBody: required: true content: application/json: schema: type: object required: - action properties: action: type: string enum: - bootstrap_status responses: '200': description: Bootstrap status information content: application/json: schema: type: object properties: bootstrap_threads: type: string running_attempts_count: type: string total_attempts_count: type: string connections: type: object attempts: type: array items: type: object /confirmation_active: post: operationId: confirmation_active summary: Get active confirmations description: Returns a list of currently active confirmation elections. tags: - Node requestBody: required: true content: application/json: schema: type: object required: - action properties: action: type: string enum: - confirmation_active announcements: type: integer responses: '200': description: Active confirmations content: application/json: schema: type: object properties: confirmations: type: array items: type: string unconfirmed: type: string confirmed: type: string /confirmation_history: post: operationId: confirmation_history summary: Get confirmation history description: Returns historical data about completed confirmation elections. tags: - Node requestBody: required: true content: application/json: schema: type: object required: - action properties: action: type: string enum: - confirmation_history hash: type: string responses: '200': description: Confirmation history records content: application/json: schema: type: object properties: confirmation_stats: type: object confirmations: type: array items: type: object properties: hash: type: string duration: type: string time: type: string tally: type: string blocks: type: string voters: type: string /confirmation_info: post: operationId: confirmation_info summary: Get confirmation info for root description: Returns information about the election for a specific block root. tags: - Node requestBody: required: true content: application/json: schema: type: object required: - action - root - json_block properties: action: type: string enum: - confirmation_info root: type: string json_block: type: string contents: type: boolean representatives: type: boolean responses: '200': description: Confirmation election details content: application/json: schema: type: object properties: announcements: type: string voters: type: string last_winner: type: string total_tally: type: string blocks: type: object /confirmation_quorum: post: operationId: confirmation_quorum summary: Get confirmation quorum info description: Returns quorum and online stake information for confirmation. tags: - Node requestBody: required: true content: application/json: schema: type: object required: - action properties: action: type: string enum: - confirmation_quorum peer_details: type: boolean responses: '200': description: Quorum information content: application/json: schema: type: object properties: quorum_delta: type: string online_weight_quorum_percent: type: string online_weight_minimum: type: string online_stake_total: type: string peers_stake_total: type: string trended_stake_total: type: string /delegators: post: operationId: delegators summary: Get delegators for representative description: Returns all accounts delegating voting weight to the given representative. tags: - Node requestBody: required: true content: application/json: schema: type: object required: - action - account properties: action: type: string enum: - delegators account: type: string threshold: type: string count: type: integer start: type: string responses: '200': description: Delegators and their balances content: application/json: schema: type: object properties: delegators: type: object additionalProperties: type: string /delegators_count: post: operationId: delegators_count summary: Get delegator count for representative description: Returns the number of accounts delegating to a representative. tags: - Node requestBody: required: true content: application/json: schema: type: object required: - action - account properties: action: type: string enum: - delegators_count account: type: string responses: '200': description: Delegator count content: application/json: schema: type: object properties: count: type: string /election_statistics: post: operationId: election_statistics summary: Get election statistics description: Returns statistics about the active elections subsystem (v27.0+). tags: - Node requestBody: required: true content: application/json: schema: type: object required: - action properties: action: type: string enum: - election_statistics responses: '200': description: Election statistics content: application/json: schema: type: object properties: normal: type: string priority: type: string hinted: type: string optimistic: type: string total: type: string aec_utilization_percentage: type: string max_election_age: type: string average_election_age: type: string /keepalive: post: operationId: keepalive summary: Send keepalive description: Sends a keepalive packet to the specified peer. tags: - Node requestBody: required: true content: application/json: schema: type: object required: - action - address - port properties: action: type: string enum: - keepalive address: type: string port: type: string responses: '200': description: Keepalive acknowledged content: application/json: schema: type: object /node_id: post: operationId: node_id summary: Get node identity description: Returns the public and private node identity keys. tags: - Node requestBody: required: true content: application/json: schema: type: object required: - action properties: action: type: string enum: - node_id responses: '200': description: Node identity information content: application/json: schema: type: object properties: private: type: string public: type: string node_id: type: string /peers: post: operationId: peers summary: Get connected peers description: Returns a list of connected peers and their protocol versions. tags: - Node requestBody: required: true content: application/json: schema: type: object required: - action properties: action: type: string enum: - peers peer_details: type: boolean responses: '200': description: Connected peers content: application/json: schema: type: object properties: peers: type: object additionalProperties: oneOf: - type: string - type: object /populate_backlog: post: operationId: populate_backlog summary: Populate election backlog description: Adds unconfirmed blocks to the confirmation backlog queue. tags: - Node requestBody: required: true content: application/json: schema: type: object required: - action properties: action: type: string enum: - populate_backlog responses: '200': description: Backlog populated content: application/json: schema: type: object /representatives: post: operationId: representatives summary: Get all representatives description: Returns all representatives and their voting weights. tags: - Node requestBody: required: true content: application/json: schema: type: object required: - action properties: action: type: string enum: - representatives count: type: integer sorting: type: boolean responses: '200': description: Representatives and weights content: application/json: schema: type: object properties: representatives: type: object additionalProperties: type: string /representatives_online: post: operationId: representatives_online summary: Get online representatives description: Returns representatives that have recently voted. tags: - Node requestBody: required: true content: application/json: schema: type: object required: - action properties: action: type: string enum: - representatives_online weight: type: boolean responses: '200': description: Online representatives content: application/json: schema: type: object properties: representatives: type: array items: type: string /stats: post: operationId: stats summary: Get node statistics description: Returns internal node statistics by category. tags: - Node requestBody: required: true content: application/json: schema: type: object required: - action properties: action: type: string enum: - stats type: type: string enum: - counters - samples - objects - database responses: '200': description: Node statistics content: application/json: schema: type: object /telemetry: post: operationId: telemetry summary: Get network telemetry description: Returns telemetry data from connected peers. tags: - Node requestBody: required: true content: application/json: schema: type: object required: - action properties: action: type: string enum: - telemetry raw: type: boolean responses: '200': description: Peer telemetry data content: application/json: schema: type: object /uptime: post: operationId: uptime summary: Get node uptime description: Returns how many seconds the node has been running. tags: - Node requestBody: required: true content: application/json: schema: type: object required: - action properties: action: type: string enum: - uptime responses: '200': description: Node uptime in seconds content: application/json: schema: type: object properties: uptime: type: string /version: post: operationId: version summary: Get node version description: Returns the RPC, store, and network protocol versions of the node. tags: - Node requestBody: required: true content: application/json: schema: type: object required: - action properties: action: type: string enum: - version responses: '200': description: Version information content: application/json: schema: type: object properties: rpc_version: type: string store_version: type: string protocol_version: type: string node_vendor: type: string externalDocs: description: Nano RPC Protocol Documentation url: https://docs.nano.org/commands/rpc-protocol/