Chain API (1.0.0)
Download OpenAPI specification:Download
Nodeos Chain API Specification. See developer documentation at https://docs.eosnetwork.com for information on enabling this plugin.
get_account
Returns an object containing various details about a specific account on the blockchain.
Request Body schema: application/json
JSON Object with single member "account_name"
required | NamePrivileged (string) or NameBasic (string) or NameBid (string) or NameCatchAll (string) (Name) |
Any of string (NamePrivileged) ^(eosio[\.][a-z1-5]{1,6})([a-j]{1})?$ String representation of privileged EOSIO name type |
Responses
Request samples
- Payload
{- "account_name": "string"
}
Response samples
- 200
{- "account_name": "string",
- "head_block_num": 0,
- "head_block_time": "string",
- "last_code_update": "string",
- "created": "string",
- "refund_request": {
- "owner": "string",
- "request_time": "string",
- "net_amount": "string",
- "cpu_amount": "string"
}, - "ram_quota": "string",
- "net_limit": {
- "max": "string",
- "available": "string",
- "used": "string"
}, - "cpu_limit": {
- "max": "string",
- "available": "string",
- "used": "string"
}, - "total_resources": {
- "owner": "string",
- "ram_bytes": "string",
- "net_weight": "string",
- "cpu_weight": "string"
}, - "core_liquid_balance": "string",
- "self_delegated_bandwidth": {
- "from": "string",
- "to": "string",
- "net_weight": "string",
- "cpu_weight": "string"
}, - "net_weight": "string",
- "cpu_weight": "string",
- "ram_usage": "string",
- "privileged": true,
- "permissions": [
- {
- "parent": "string",
- "perm_name": "string",
- "required_auth": {
- "waits": [
- {
- "wait_sec": 0,
- "weight": 0
}
], - "keys": [
- {
- "key": "string",
- "weight": 0
}
], - "threshold": 0,
- "accounts": [
- {
- "weight": 0,
- "permission": {
- "actor": "string",
- "permission": "string"
}
}
]
}
}
], - "voter_info": {
- "owner": "string",
- "proxy": "string",
- "producers": [
- "string"
], - "staked": "string",
- "last_vote_weight": "string",
- "proxied_vote_weight": "string",
- "is_proxy": 0,
- "flags1": 0,
- "reserved2": 0,
- "reserved3": "string"
}
}
get_block
Returns an object containing various details about a specific block on the blockchain.
Request Body schema: application/json
block_num_or_id required | string Provide a |
Responses
Request samples
- Payload
{- "block_num_or_id": "string"
}
Response samples
- 200
{- "timestamp": "string",
- "producer": "string",
- "confirmed": 0,
- "previous": "string",
- "transaction_mroot": "string",
- "action_mroot": "string",
- "schedule_version": 0,
- "new_producers": {
- "version": 0,
- "producers": [
- {
- "producer_name": "string",
- "block_signing_key": "string"
}
]
}, - "header_extensions": [
- 0
], - "new_protocol_features": [
- { }
], - "producer_signature": "string",
- "transactions": [
- {
- "status": "executed",
- "cpu_usage_us": 0,
- "net_usage_words": 0,
- "trx": "string"
}
], - "block_extensions": [
- 0
], - "id": "string",
- "block_num": 0,
- "ref_block_prefix": 0
}
get_block_info
Similar to get_block
but returns a fixed-size smaller subset of the block data.
Request Body schema: application/json
block_num required | integer Provide a |
Responses
Request samples
- Payload
{- "block_num": 0
}
Response samples
- 200
{- "block_num": 0,
- "ref_block_num": 0,
- "id": "string",
- "timestamp": "string",
- "producer": "string",
- "confirmed": 0,
- "previous": "string",
- "transaction_mroot": "string",
- "action_mroot": "string",
- "schedule_version": 0,
- "producer_signature": "string",
- "ref_block_prefix": 0
}
Response samples
- 200
{- "server_version": "string",
- "chain_id": "string",
- "head_block_num": 0,
- "head_block_id": "string",
- "head_block_time": "string",
- "head_block_producer": "string",
- "last_irreversible_block_num": 0,
- "last_irreversible_block_id": "string",
- "virtual_block_cpu_limit": 0,
- "virtual_block_net_limit": 0,
- "block_cpu_limit": 0,
- "block_net_limit": 0,
- "server_version_string": "string",
- "fork_db_head_block_num": 0,
- "fork_db_head_block_id": "string"
}
push_transaction
This method expects a transaction in JSON format and will attempt to apply it to the blockchain.
Request Body schema: application/json
signatures | Array of strings (Signature) array of signatures required to authorize transaction |
compression | boolean Compression used, usually false |
packed_context_free_data | string json to hex |
packed_trx | string Transaction object json to hex |
Responses
Request samples
- Payload
{- "signatures": [
- "string"
], - "compression": true,
- "packed_context_free_data": "string",
- "packed_trx": "string"
}
Response samples
- 200
null
send_transaction
This method expects a transaction in JSON format and will attempt to apply it to the blockchain.
Request Body schema: application/json
signatures | Array of strings (Signature) array of signatures required to authorize transaction |
compression | boolean Compression used, usually false |
packed_context_free_data | string json to hex |
packed_trx | string Transaction object json to hex |
Responses
Request samples
- Payload
{- "signatures": [
- "string"
], - "compression": true,
- "packed_context_free_data": "string",
- "packed_trx": "string"
}
Response samples
- 200
null
push_transactions
This method expects a transaction in JSON format and will attempt to apply it to the blockchain.
Request Body schema: application/json
expiration required | string (DateTime) ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}... Date/time string in the format YYYY-MM-DDTHH:MM:SS |
ref_block_num required | integer |
ref_block_prefix required | integer 32-bit portion of block ID |
required | WholeNumber (string) or WholeNumber (integer) (WholeNumber) A whole number |
required | WholeNumber (string) or WholeNumber (integer) (WholeNumber) A whole number |
delay_sec required | integer |
required | Array of objects (Action) [ items >= 5 properties ] |
required | Array of objects (Action) [ items >= 5 properties ] |
Array of integers or strings (Extension) [ items ] |
Responses
Request samples
- Payload
[- {
- "expiration": "string",
- "ref_block_num": 0,
- "ref_block_prefix": 0,
- "max_net_usage_words": "string",
- "max_cpu_usage_ms": "string",
- "delay_sec": 0,
- "context_free_actions": [
- {
- "account": "string",
- "name": "string",
- "authorization": [
- {
- "actor": "string",
- "permission": "string"
}
], - "data": { },
- "hex_data": "string"
}
], - "actions": [
- {
- "account": "string",
- "name": "string",
- "authorization": [
- {
- "actor": "string",
- "permission": "string"
}
], - "data": { },
- "hex_data": "string"
}
], - "transaction_extensions": [
- [
- 0
]
]
}
]
Response samples
- 200
null
get_block_header_state
Retrieves the glock header state
Request Body schema: application/json
block_num_or_id required | string Provide a block_number or a block_id |
Responses
Request samples
- Payload
{- "block_num_or_id": "string"
}
Response samples
- 200
{- "id": "string",
- "block_num": 0,
- "header": {
- "timestamp": "string",
- "producer": "string",
- "confirmed": 0,
- "previous": "string",
- "transaction_mroot": "string",
- "action_mroot": "string",
- "schedule_version": 0,
- "new_producers": {
- "version": 0,
- "producers": [
- {
- "producer_name": "string",
- "block_signing_key": "string"
}
]
}, - "header_extensions": [
- 0
], - "new_protocol_features": [
- { }
], - "producer_signature": "string",
- "transactions": [
- {
- "status": "executed",
- "cpu_usage_us": 0,
- "net_usage_words": 0,
- "trx": "string"
}
], - "block_extensions": [
- 0
], - "id": "string",
- "block_num": 0,
- "ref_block_prefix": 0
}, - "dpos_proposed_irreversible_blocknum": "string",
- "dpos_irreversible_blocknum": "string",
- "bft_irreversible_blocknum": "string",
- "pending_schedule_lib_num": "string",
- "pending_schedule_hash": "string",
- "pending_schedule": {
- "version": 0,
- "producers": [
- {
- "producer_name": "string",
- "block_signing_key": "string"
}
]
}, - "active_schedule": {
- "version": 0,
- "producers": [
- {
- "producer_name": "string",
- "block_signing_key": "string"
}
]
}, - "blockroot_merkle": {
- "_active_nodes": [
- "string"
], - "_node_count": "string"
}, - "producer_to_last_produced": [
- [
- "string"
]
], - "producer_to_last_implied_irb": [
- [
- "string"
]
], - "block_signing_key": "string",
- "confirm_count": [
- "string"
], - "confirmations": [
- null
]
}
get_abi
Retrieves the ABI for a contract based on its account name
Request Body schema: application/json
required | NamePrivileged (string) or NameBasic (string) or NameBid (string) or NameCatchAll (string) (Name) |
Any of string (NamePrivileged) ^(eosio[\.][a-z1-5]{1,6})([a-j]{1})?$ String representation of privileged EOSIO name type |
Responses
Request samples
- Payload
{- "account_name": "string"
}
Response samples
- 200
{- "version": "string",
- "types": [
- {
- "new_type_name": "string",
- "type": "uint8"
}
], - "structs": [
- {
- "name": "string",
- "base": "string",
- "fields": [
- {
- "name": "string",
- "type": "uint8"
}
]
}
], - "actions": [
- {
- "name": "string",
- "type": "string",
- "ricardian_contract": "string"
}
], - "tables": [
- {
- "name": "string",
- "index_type": "i64",
- "key_names": [
- "string"
], - "key_types": [
- "uint64"
], - "type": "string"
}
], - "abi_extensions": [
- [
- 0
]
], - "error_messages": [
- "string"
], - "ricardian_clauses": [
- "string"
], - "variants": [
- "string"
]
}
get_currency_balance
Retrieves the current balance
Request Body schema: application/json
required | NamePrivileged (string) or NameBasic (string) or NameBid (string) or NameCatchAll (string) (Name) |
required | NamePrivileged (string) or NameBasic (string) or NameBid (string) or NameCatchAll (string) (Name) |
symbol required | string (Symbol) ^([0-9]{1,32}.[0-9]{4} [A-Z]{1,7})$ A string representation of an EOSIO symbol, composed of a float with a precision of 4, and a symbol composed of capital letters between 1-7 letters separated by a space, example |
Responses
Request samples
- Payload
{- "code": "string",
- "account": "string",
- "symbol": "string"
}
Response samples
- 200
[- "string"
]
get_currency_stats
Retrieves currency stats
Request Body schema: application/json
NamePrivileged (string) or NameBasic (string) or NameBid (string) or NameCatchAll (string) (Name) | |
symbol | string (Symbol) ^([0-9]{1,32}.[0-9]{4} [A-Z]{1,7})$ A string representation of an EOSIO symbol, composed of a float with a precision of 4, and a symbol composed of capital letters between 1-7 letters separated by a space, example |
Responses
Request samples
- Payload
{- "code": "string",
- "symbol": "string"
}
Response samples
- 200
null
get_required_keys
Returns the required keys needed to sign a transaction.
Request Body schema: application/json
required | object (Transaction) >= 8 properties |
available_keys required | Array of strings (PublicKey) Provide the available keys |
Responses
Request samples
- Payload
{- "transaction": {
- "expiration": "string",
- "ref_block_num": 0,
- "ref_block_prefix": 0,
- "max_net_usage_words": "string",
- "max_cpu_usage_ms": "string",
- "delay_sec": 0,
- "context_free_actions": [
- {
- "account": "string",
- "name": "string",
- "authorization": [
- {
- "actor": "string",
- "permission": "string"
}
], - "data": { },
- "hex_data": "string"
}
], - "actions": [
- {
- "account": "string",
- "name": "string",
- "authorization": [
- {
- "actor": "string",
- "permission": "string"
}
], - "data": { },
- "hex_data": "string"
}
], - "transaction_extensions": [
- [
- 0
]
]
}, - "available_keys": [
- "string"
]
}
Response samples
- 200
null
get_producers
Retrieves producers list
Request Body schema: application/json
limit required | string total number of producers to retrieve |
lower_bound required | string In conjunction with limit can be used to paginate through the results. For example, limit=10 and lower_bound=10 would be page 2 |
json | boolean return result in JSON format |
Responses
Request samples
- Payload
{- "limit": "string",
- "lower_bound": "string",
- "json": true
}
Response samples
- 200
{- "active": [
- {
- "version": 0,
- "producers": [
- {
- "producer_name": "string",
- "block_signing_key": "string"
}
]
}
], - "pending": [
- {
- "version": 0,
- "producers": [
- {
- "producer_name": "string",
- "block_signing_key": "string"
}
]
}
], - "proposed": [
- {
- "version": 0,
- "producers": [
- {
- "producer_name": "string",
- "block_signing_key": "string"
}
]
}
]
}
get_raw_code_and_abi
Retrieves raw code and ABI for a contract based on account name
Request Body schema: application/json
required | NamePrivileged (string) or NameBasic (string) or NameBid (string) or NameCatchAll (string) (Name) |
Any of string (NamePrivileged) ^(eosio[\.][a-z1-5]{1,6})([a-j]{1})?$ String representation of privileged EOSIO name type |
Responses
Request samples
- Payload
{- "account_name": "string"
}
Response samples
- 200
{- "account_name": "string",
- "wasm": "string",
- "abi": "string"
}
get_scheduled_transactions
Retrieves scheduled transactions
Request Body schema: application/json
lower_bound | string (DateTimeSeconds) ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}... Date/time string in the format YYYY-MM-DDTHH:MM:SS.sss |
limit | integer The maximum number of transactions to return |
json | boolean true/false whether the packed transaction is converted to json |
Responses
Request samples
- Payload
{- "lower_bound": "string",
- "limit": 0,
- "json": true
}
Response samples
- 200
{- "transactions": [
- {
- "expiration": "string",
- "ref_block_num": 0,
- "ref_block_prefix": 0,
- "max_net_usage_words": "string",
- "max_cpu_usage_ms": "string",
- "delay_sec": 0,
- "context_free_actions": [
- {
- "account": "string",
- "name": "string",
- "authorization": [
- {
- "actor": "string",
- "permission": "string"
}
], - "data": { },
- "hex_data": "string"
}
], - "actions": [
- {
- "account": "string",
- "name": "string",
- "authorization": [
- {
- "actor": "string",
- "permission": "string"
}
], - "data": { },
- "hex_data": "string"
}
], - "transaction_extensions": [
- [
- 0
]
]
}
]
}
get_table_by_scope
Retrieves table scope
Request Body schema: application/json
code required | string
|
table | string Filter results by table |
lower_bound | string Filters results to return the first element that is not less than provided value in set |
upper_bound | string Filters results to return the first element that is greater than provided value in set |
limit | integer <int32> Default: 10 Limit number of results returned. |
reverse | boolean Default: false Reverse the order of returned results |
show_payer | boolean Default: false Show RAM payer |
Responses
Request samples
- Payload
{- "code": "string",
- "table": "string",
- "lower_bound": "string",
- "upper_bound": "string",
- "limit": 10,
- "reverse": false,
- "show_payer": false
}
Response samples
- 200
{- "rows": [
- {
- "code": "string",
- "scope": "string",
- "table": "string",
- "payer": "string",
- "count": 0
}
], - "more": "string"
}
get_table_rows
Returns an object containing rows from the specified table.
Request Body schema: application/json
code required | string The name of the smart contract that controls the provided table |
table required | string The name of the table to query |
scope required | string The account to which this data belongs |
index_position | string Position of the index used, accepted parameters |
key_type | string Type of key specified by index_position (for example - |
encode_type | string |
lower_bound | string Filters results to return the first element that is not less than provided value in set |
upper_bound | string Filters results to return the first element that is greater than provided value in set |
limit | integer <int32> Default: 10 Limit number of results returned. |
reverse | boolean Default: false Reverse the order of returned results |
show_payer | boolean Default: false Show RAM payer |
Responses
Request samples
- Payload
{- "code": "string",
- "table": "string",
- "scope": "string",
- "index_position": "string",
- "key_type": "string",
- "encode_type": "string",
- "lower_bound": "string",
- "upper_bound": "string",
- "limit": 10,
- "reverse": false,
- "show_payer": false
}
Response samples
- 200
{- "rows": [
- null
]
}
abi_json_to_bin
Returns an object containing the serialized action data.
Request Body schema: application/json
NamePrivileged (string) or NameBasic (string) or NameBid (string) or NameCatchAll (string) (Name) | |
NamePrivileged (string) or NameBasic (string) or NameBid (string) or NameCatchAll (string) (Name) | |
args | object json object of the action parameters that will be serialized. |
Responses
Request samples
- Payload
{- "code": "string",
- "action": "string",
- "args": { }
}
Response samples
- 200
{- "binargs": "string"
}
abi_bin_to_json
Returns an object containing the deserialized action data.
Request Body schema: application/json
required | NamePrivileged (string) or NameBasic (string) or NameBid (string) or NameCatchAll (string) (Name) |
required | NamePrivileged (string) or NameBasic (string) or NameBid (string) or NameCatchAll (string) (Name) |
binargs required | string (Hex) ^(0[xX])?[0-9a-fA-F]*$ |
Responses
Request samples
- Payload
{- "code": "string",
- "action": "string",
- "binargs": "string"
}
Response samples
- 200
"string"
get_code
Returns an object containing the smart contract WASM code.
Request Body schema: application/json
required | NamePrivileged (string) or NameBasic (string) or NameBid (string) or NameCatchAll (string) (Name) |
code_as_wasm required | integer Default: 1 This must be 1 (true) |
Responses
Request samples
- Payload
{- "account_name": "string",
- "code_as_wasm": 1
}
Response samples
- 200
{- "name": "string",
- "code_hash": "string",
- "wast": "string",
- "wasm": "string",
- "abi": {
- "version": "string",
- "types": [
- {
- "new_type_name": "string",
- "type": "uint8"
}
], - "structs": [
- {
- "name": "string",
- "base": "string",
- "fields": [
- {
- "name": "string",
- "type": "uint8"
}
]
}
], - "actions": [
- {
- "name": "string",
- "type": "string",
- "ricardian_contract": "string"
}
], - "tables": [
- {
- "name": "string",
- "index_type": "i64",
- "key_names": [
- "string"
], - "key_types": [
- "uint64"
], - "type": "string"
}
], - "abi_extensions": [
- [
- 0
]
], - "error_messages": [
- "string"
], - "ricardian_clauses": [
- "string"
], - "variants": [
- "string"
]
}
}
get_raw_abi
Returns an object containing the smart contract abi.
Request Body schema: application/json
required | NamePrivileged (string) or NameBasic (string) or NameBid (string) or NameCatchAll (string) (Name) |
Any of string (NamePrivileged) ^(eosio[\.][a-z1-5]{1,6})([a-j]{1})?$ String representation of privileged EOSIO name type |
Responses
Request samples
- Payload
{- "account_name": "string"
}
Response samples
- 200
{- "account_name": "string",
- "code_hash": "string",
- "abi_hash": "string",
- "abi": "string"
}
get_activated_protocol_features
Retreives the activated protocol features for producer node
Request Body schema: application/json
lower_bound | integer Lower bound |
upper_bound | integer Upper bound |
limit | integer The limit, default is 10 |
search_by_block_num | boolean Flag to indicate it is has to search by block number |
reverse | boolean Flag to indicate it has to search in reverse |
Responses
Request samples
- Payload
{- "lower_bound": 0,
- "upper_bound": 0,
- "limit": 0,
- "search_by_block_num": true,
- "reverse": true
}
Response samples
- 200
{- "activated_protocol_features": [
- "string"
], - "more": 0
}