Nano Blocks API
Block creation, processing, signing, and querying operations
Block creation, processing, signing, and querying operations
openapi: 3.0.3
info:
title: Nano RPC Accounts Blocks 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: Blocks
description: Block creation, processing, signing, and querying operations
paths:
/block_account:
post:
operationId: block_account
summary: Get account for block
description: Returns the account that owns the given block hash.
tags:
- Blocks
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- action
- hash
properties:
action:
type: string
enum:
- block_account
hash:
type: string
responses:
'200':
description: Account for the block
content:
application/json:
schema:
type: object
properties:
account:
type: string
/block_confirm:
post:
operationId: block_confirm
summary: Request block confirmation
description: Requests active confirmation of a block by the network.
tags:
- Blocks
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- action
- hash
properties:
action:
type: string
enum:
- block_confirm
hash:
type: string
responses:
'200':
description: Confirmation started
content:
application/json:
schema:
type: object
properties:
started:
type: string
/block_count:
post:
operationId: block_count
summary: Get total block count
description: Returns the total number of blocks in the ledger.
tags:
- Blocks
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- action
properties:
action:
type: string
enum:
- block_count
include_cemented:
type: boolean
responses:
'200':
description: Block counts
content:
application/json:
schema:
type: object
properties:
count:
type: string
unchecked:
type: string
cemented:
type: string
/block_create:
post:
operationId: block_create
summary: Create a block
description: Creates a new state block for the Nano network.
tags:
- Blocks
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- action
- json_block
- type
- balance
- representative
- link
- previous
properties:
action:
type: string
enum:
- block_create
json_block:
type: string
type:
type: string
enum:
- state
balance:
type: string
key:
type: string
wallet:
type: string
account:
type: string
representative:
type: string
link:
type: string
previous:
type: string
work:
type: string
version:
type: string
difficulty:
type: string
responses:
'200':
description: Created block
content:
application/json:
schema:
type: object
properties:
hash:
type: string
block:
type: object
difficulty:
type: string
/block_hash:
post:
operationId: block_hash
summary: Compute block hash
description: Returns the hash of a given block without publishing it.
tags:
- Blocks
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- action
- json_block
- block
properties:
action:
type: string
enum:
- block_hash
json_block:
type: string
block:
type: object
responses:
'200':
description: Block hash
content:
application/json:
schema:
type: object
properties:
hash:
type: string
/block_info:
post:
operationId: block_info
summary: Get block info
description: Returns detailed information about a specific block hash.
tags:
- Blocks
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- action
- hash
- json_block
properties:
action:
type: string
enum:
- block_info
hash:
type: string
json_block:
type: string
include_linked_account:
type: boolean
responses:
'200':
description: Block information
content:
application/json:
schema:
$ref: '#/components/schemas/BlockInfoResponse'
/blocks:
post:
operationId: blocks
summary: Get multiple blocks
description: Returns block contents for a list of block hashes.
tags:
- Blocks
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- action
- hashes
- json_block
properties:
action:
type: string
enum:
- blocks
hashes:
type: array
items:
type: string
json_block:
type: string
responses:
'200':
description: Block contents
content:
application/json:
schema:
type: object
properties:
blocks:
type: object
additionalProperties:
type: object
/blocks_info:
post:
operationId: blocks_info
summary: Get detailed info for multiple blocks
description: Returns detailed information for a list of block hashes.
tags:
- Blocks
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- action
- hashes
- json_block
properties:
action:
type: string
enum:
- blocks_info
hashes:
type: array
items:
type: string
json_block:
type: string
pending:
type: boolean
source:
type: boolean
receive_hash:
type: boolean
include_not_found:
type: boolean
include_linked_account:
type: boolean
responses:
'200':
description: Block details
content:
application/json:
schema:
type: object
properties:
blocks:
type: object
additionalProperties:
$ref: '#/components/schemas/BlockInfoResponse'
blocks_not_found:
type: array
items:
type: string
/chain:
post:
operationId: chain
summary: Get chain of blocks
description: Returns a list of block hashes starting from the given block, traversing backwards.
tags:
- Blocks
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- action
- block
- count
properties:
action:
type: string
enum:
- chain
block:
type: string
count:
type: integer
offset:
type: integer
reverse:
type: boolean
responses:
'200':
description: Chain of block hashes
content:
application/json:
schema:
type: object
properties:
blocks:
type: array
items:
type: string
/process:
post:
operationId: process
summary: Process a block
description: Publishes a signed block to the Nano network.
tags:
- Blocks
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- action
- block
- json_block
- subtype
properties:
action:
type: string
enum:
- process
block:
oneOf:
- type: object
- type: string
json_block:
type: string
subtype:
type: string
enum:
- send
- receive
- open
- change
- epoch
force:
type: boolean
async:
type: boolean
responses:
'200':
description: Block hash after processing
content:
application/json:
schema:
type: object
properties:
hash:
type: string
/republish:
post:
operationId: republish
summary: Republish blocks
description: Rebroadcasts blocks starting from the given hash to network peers.
tags:
- Blocks
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- action
- hash
properties:
action:
type: string
enum:
- republish
hash:
type: string
count:
type: integer
responses:
'200':
description: Republished block hashes
content:
application/json:
schema:
type: object
properties:
blocks:
type: array
items:
type: string
/sign:
post:
operationId: sign
summary: Sign a block
description: Signs a block with a provided private key or wallet.
tags:
- Blocks
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- action
- json_block
- block
properties:
action:
type: string
enum:
- sign
json_block:
type: string
block:
type: object
key:
type: string
wallet:
type: string
account:
type: string
responses:
'200':
description: Signed block
content:
application/json:
schema:
type: object
properties:
signature:
type: string
block:
type: object
/successors:
post:
operationId: successors
summary: Get successor blocks
description: Returns successive block hashes forward from the given block.
tags:
- Blocks
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- action
- block
- count
properties:
action:
type: string
enum:
- successors
block:
type: string
count:
type: integer
responses:
'200':
description: Successor block hashes
content:
application/json:
schema:
type: object
properties:
blocks:
type: array
items:
type: string
components:
schemas:
BlockInfoResponse:
type: object
properties:
block_account:
type: string
amount:
type: string
balance:
type: string
height:
type: string
local_timestamp:
type: string
confirmed:
type: string
contents:
type: object
properties:
type:
type: string
account:
type: string
previous:
type: string
representative:
type: string
balance:
type: string
link:
type: string
link_as_account:
type: string
signature:
type: string
work:
type: string
subtype:
type: string
enum:
- send
- receive
- open
- change
- epoch
externalDocs:
description: Nano RPC Protocol Documentation
url: https://docs.nano.org/commands/rpc-protocol/