From Veriblock Wiki
Jump to: navigation, search

See: Developer_Guide, GRPC


NodeCore v0.4.5 introduces an HTTP API to supplement the existing gRPC Admin API. All methods currently available in the gRPC API are also available in the HTTP API.

Full API spec:


By default, the HTTP API is bound to Assuming the defaults are left as is, documentation of the API methods and request/response types can be found at http://localhost:10600/api/docs.

The API follows the JSON-RPC 2.0 Specification. All API requests are made to http://localhost:10600/api. Both request and response will use the application/json content type.

Making a Request

In accordance with the JSON-RPC specification, there is a standard request object format:

	"jsonrpc": "2.0",
	"method": "getblocks",
	"params": {...},
	"id": 1
  • jsonrpc: Always "2.0" value
  • method: The RPC method name to invoke. Reference the internal API documentation at http://localhost:10600/api/docs#core.Admin for the list of methods available.
  • params: The RPC method-specific request parameters. The internal API documentation describes the request objects for each method.
  • id: A string or number determined by the client to uniquely identify the request. This same id will be used in the response.

Example getinfo

 "jsonrpc": "2.0",
 "method": "getinfo",
 "params": {},
 "id": 1

Example getblocks

 "jsonrpc": "2.0",
 "method": "getblocks",
 "params": {
 "searchLength": 2000,
 "filters": [{index: 349601}]


The standard response object format:

    "jsonrpc": "2.0",
    "result": {...},
    "id": 1
  • jsonrpc: Always "2.0" value
  • result: The RPC method-specific response object. The internal API documentation describes the response objects for each method.
  • id: The exact string or number supplied by the client in the request object.

Making a Request with curl


curl -H "Content-Type: application/json" --data '{"jsonrpc": "2.0", "method": "getinfo", "params": {}, "id": 1}'


Note: balance is in Atomic Units, so divide by 100000000 to get amount in VBK.

curl -H "Content-Type: application/json" --data '{"jsonrpc": "2.0", "method": "getbalance", "params": {"addresses": ["V3TCJ69TfVVELGJi9H5c2m3smAiWeP"]}, "id": 1}'


curl -H "Content-Type: application/json" --data '{"jsonrpc": "2.0", "method": "getblocks", "params": {"searchLength": 1, "filters": [{ "index": "80000" }]}, "id": 1}'


Note: amount is in Atomic Units, so multiply by 100000000 to send VBK amount.

curl -H "Content-Type: application/json" --data '{"jsonrpc": "2.0", "method": "sendcoins", "params": {"sourceAddress": "V3TCJ69TfVVELGJi9H5c2m3smAiWeP","amounts": [{"address": "VBasFp1K8LvMWypcC6jFff3TW2JyTn","amount": 10000000}]}, "id": 1}'


curl -H "Content-Type: application/json" --data '{"jsonrpc": "2.0", "method": "gettransactions", "params": {"searchLength": 0, "ids": ["D634C6E7D7E19F083068DAB4ED9499EE312EF4ADACCCD74B496F4DE22ED527DC"]}, "id": 1}'


The IP address and port to which the HTTP API is bound can be configured by modifying the file. The default values are:

http.api.bind.address =
http.api.bind.port = 10600


If the property in the file is set to to true, requests to the HTTP API will require the additional header X-VBK-RPC-PASSWORD to be set. The value of this header corresponds to the password defined in the property in


--header "X-VBK-RPC-PASSWORD: your-password"