All VIZ node APIs use JSON-RPC 2.0 over HTTP POST or WebSocket.
{
"jsonrpc": "2.0",
"id": 1,
"method": "api_name.method_name",
"params": [arg1, arg2]
}idmay be any number or string; it is echoed in the response.paramsmay be an array or object depending on the method.- Both HTTP POST and WebSocket are supported. Subscriptions require WebSocket.
Success:
{ "jsonrpc": "2.0", "id": 1, "result": { ... } }Error:
{ "jsonrpc": "2.0", "id": 1, "error": { "code": -32602, "message": "Invalid params" } }| Code | Meaning |
|---|---|
-32700 |
Parse error — invalid JSON |
-32600 |
Invalid request |
-32601 |
Method not found |
-32602 |
Invalid params |
-32603 |
Internal error |
-32099 to -32000 |
Server error (exception from handler) |
| Namespace | Status | Description |
|---|---|---|
database_api |
Active | Block, account, chain state queries |
network_broadcast_api |
Active | Transaction and block broadcast |
validator_api |
Active | Validator queries |
account_by_key |
Active | Reverse key lookup |
account_history |
Active | Per-account operation history |
operation_history |
Active | Block operation queries |
committee_api |
Active | Committee request queries |
invite_api |
Active | Invite queries |
paid_subscription_api |
Active | Subscription queries |
custom_protocol_api |
Active | Custom protocol metadata |
auth_util |
Active | Authority verification |
block_info |
Active | Extended block info |
raw_block |
Active | Raw block export |
| Method | Description |
|---|---|
get_block_header(block_num) |
Block header for given height |
get_block(block_num) |
Full signed block |
get_irreversible_block_header(block_num) |
Block header if irreversible |
get_irreversible_block(block_num) |
Full block if irreversible |
set_block_applied_callback(callback) |
WebSocket: subscribe to new blocks |
get_config() |
Compile-time chain constants |
get_dynamic_global_properties() |
Current chain state |
get_chain_properties() |
Median validator chain properties |
get_hardfork_version() |
Current hardfork version string |
get_next_scheduled_hardfork() |
Next pending hardfork info |
get_accounts(names[]) |
Full account objects |
lookup_account_names(names[]) |
Same as get_accounts but nullable |
lookup_accounts(lower_bound, limit) |
Paginated account name list |
get_account_count() |
Total registered accounts |
get_master_history(account) |
Master key change history |
get_recovery_request(account) |
Pending account recovery request |
get_escrow(from, escrow_id) |
Escrow object |
get_withdraw_routes(account, type) |
Vesting withdrawal routes ("incoming" / "outgoing" / "all") |
get_vesting_delegations(account, from, limit, type) |
Delegations ("delegated" / "received") |
get_expiring_vesting_delegations(account, from, limit) |
Delegations in return window |
get_transaction_hex(trx) |
Hex-encoded serialized transaction |
get_required_signatures(trx, available_keys[]) |
Minimal key set to sign |
get_potential_signatures(trx) |
All keys that could sign |
verify_authority(trx) |
true if fully signed |
verify_account_authority(name, keys[]) |
true if keys satisfy authority |
get_database_info() |
Chainbase memory usage stats |
get_proposed_transactions(account, from, limit) |
Proposals requiring account approval |
get_accounts_on_sale(from, limit, name_prefix) |
Accounts listed for direct sale |
get_accounts_on_auction(from, limit, name_prefix) |
Accounts listed for auction |
get_subaccounts_on_sale(from, limit, name_prefix) |
Subaccount creation rights for sale |
| Method | Description |
|---|---|
broadcast_transaction(trx) |
Broadcast (async) |
broadcast_transaction_synchronous(trx) |
Broadcast and wait for inclusion in a block |
broadcast_transaction_with_callback(callback, trx) |
Broadcast with WebSocket callback |
broadcast_block(block) |
Broadcast a signed block (validators) |
| Method | Description |
|---|---|
get_active_validators() |
Current active validator set (21 accounts) |
get_validator_schedule() |
Full validator schedule object |
get_validators(ids[]) |
Validators by internal IDs |
get_validator_by_account(account) |
Validator object for an account |
get_validators_by_vote(lower_bound, limit) |
Validators ranked by vote weight |
get_validators_by_counted_vote(lower_bound, limit) |
Validators by counted votes |
get_validator_count() |
Total registered validators |
lookup_validator_accounts(lower_bound, limit) |
List validator account names |
Returns operations involving account. from = -1 starts from the most recent.
{
"method": "account_history.get_account_history",
"params": ["alice", -1, 100]
}Returns a map of { sequence: { trx_id, block, op: [type_id, data] } }.
| Method | Description |
|---|---|
get_ops_in_block(block_num, only_virtual) |
Operations in a block |
get_transaction(trx_id) |
Transaction by ID |
| Method | Description |
|---|---|
get_committee_request(request_id) |
Request details and status |
get_committee_request_votes(request_id) |
Votes on a request |
get_committee_requests_list(from, limit) |
List of request IDs |
| Method | Description |
|---|---|
get_invites_list(from, limit) |
All active invite IDs |
get_invite_by_id(id) |
Invite by internal ID |
get_invite_by_key(public_key) |
Invite by public key |
| Method | Description |
|---|---|
get_paid_subscriptions(from, limit, creator_prefix) |
All subscription offerings |
get_paid_subscription_options(account) |
Subscription config for account |
get_paid_subscription_status(subscriber, account) |
Subscription status |
get_active_paid_subscriptions(subscriber, from, limit) |
Active subscriptions |
get_inactive_paid_subscriptions(subscriber, from, limit) |
Expired subscriptions |
Only available over a persistent WebSocket connection.
| Method | Callback data |
|---|---|
database_api.set_block_applied_callback |
Block header on every applied block |
database_api.set_pending_transaction_callback |
Transaction when entering pending pool |
database_api.cancel_all_subscriptions |
Unsubscribe all |
Minimal API node:
plugin = chain json_rpc webserver p2p
plugin = database_api network_broadcast_apiFull API node (add):
plugin = validator_api account_by_key account_history operation_history
plugin = committee_api invite_api paid_subscription_apiValidator node (add):
plugin = validator snapshotSee also: Database API, Webserver Plugin, Operations Overview.