WebSocket API

Stegos Node offers experimental asynchronous WebSocket API. This API allow you to manage accounts, create and track transactions, receive notifications and so on.

For exchange integration, see the exchange api section.


Prerequisites

By default, Node starts WebSocket API server on ws://127.0.0.1:3145/ . You can override this value by providing --api-endpoint command-line option to Node or by setting STEGOS_API_ENDPOINT environment variable.

To communicate with Node, you will need API TOKEN. API TOKEN is 16-byte long AES128 encryption key encoded into 24-byte long Base64 string. This token is generated by Node automatically on the first run:

$HOME/.local/share/stegos/api.token
$HOME/Library/Application Support/stegos/api.token
C:\Users\$USER\AppData\Roaming\api.token
/data/api.token`

Protocol

Framing

API uses Text WebSocket frames. Binary frames are no currently supported.

Each Text frame contains a Base64-encoded version of AES-128 encrypted JSON payload. This design decision was dictated by the limitations of Rust’s WebSocket technology. We plan to switch to SSL/TLS in the future.

Encoding:

key = base64_decode(API_TOKEN)
payload = aes128_decode(base64_decode(websocket_text_message), key)

Decoding:

key = base64_decode(API_TOKEN)
websocket_text_message = base64_encode(aes128_encode(payload, key))

Here is basic example how to encode/decode AES messages:

import base64
import binascii
import json
import sys

from Crypto.Cipher import AES
from Crypto.Util import Counter
from Crypto import Random

def encrypt(key, plaintext):
    assert len(key) == 16

    # Choose a random, 16-byte IV.
    iv = Random.new().read(AES.block_size)

    # Convert the IV to a Python integer.
    iv_int = int(binascii.hexlify(iv), 16)

    # Create a new Counter object with IV = iv_int.
    ctr = Counter.new(AES.block_size * 8, initial_value=iv_int)

    # Create AES-CTR cipher.
    aes = AES.new(key, AES.MODE_CTR, counter=ctr)

    # Encrypt and return IV and ciphertext.
    ciphertext = aes.encrypt(plaintext)
    return iv+ciphertext

def decrypt(key, ciphertext):
    assert len(key) == 16

    # Convert the IV to a Python integer.
    iv_int = int(binascii.hexlify(ciphertext[:16]), 16)

    # Create a new Counter object with IV = iv_int.
    ctr = Counter.new(AES.block_size * 8, initial_value=iv_int)

    # Create AES-CTR cipher.
    aes = AES.new(key, AES.MODE_CTR, counter=ctr)

    # Decrypt and return the plaintext.
    plaintext = aes.decrypt(ciphertext[16:])
    return plaintext
use crypto::aes::{self, KeySize};
use crypto::symmetriccipher::SynchronousStreamCipher;
use std::iter::repeat;

pub fn encrypt(key: [u8; 16], plaintext: &[u8]) -> Vec<u8> {
    let mut gen = thread_rng();
    let mut nonce: Vec<u8> = repeat(0u8).take(16).collect();
    gen.fill_bytes(&mut nonce[..]);
    let mut cipher = aes::ctr(KeySize::KeySize128, &key.0[..], &nonce);
    let mut output: Vec<u8> = repeat(0u8).take(16 + plaintext.len()).collect();
    output[..16].copy_from_slice(&nonce[..]);
    cipher.process(&plaintext, &mut output[16..]);
    output
}

pub fn decrypt(key: [u8; 16], ciphertext: &[u8]) -> Vec<u8> {
    let mut iv: Vec<u8> = repeat(0u8).take(16).collect();
    iv[..].copy_from_slice(&ciphertext[..16]);
    let mut cipher = aes::ctr(KeySize::KeySize128, &key.0[..], &iv);
    let mut output: Vec<u8> = repeat(0u8).take(ciphertext.len() - 16).collect();
    cipher.process(&ciphertext[16..], &mut output);
    output
}
package main

import (
    "io"
    "fmt"
    "encoding/base64"
    "crypto/aes"
    "crypto/cipher"
    "crypto/rand"
)

func encrypt(api_token []byte, payload string) []byte {
    block, err := aes.NewCipher(api_token)
    if err != nil {
        panic(err)
    }
    // The IV needs to be unique, but not secure. Therefore it's common to
    // include it at the beginning of the ciphertext.
    ciphertext := make([]byte, aes.BlockSize+len(payload))
    iv := ciphertext[:aes.BlockSize]
    if _, err := io.ReadFull(rand.Reader, iv); err != nil {
        panic(err.Error())
    }
    stream := cipher.NewCTR(block, iv)
    stream.XORKeyStream(ciphertext[aes.BlockSize:], []byte(payload))
    return ciphertext
}

func decrypt(api_token []byte, ciphertext [] byte) string {
    if len(ciphertext) < aes.BlockSize {
        panic("invalid ciphertext")
    }

    block, err := aes.NewCipher(api_token)
    if err != nil {
        panic(err)
    }

    iv := ciphertext[:aes.BlockSize]
    plaintext := make([]byte, len(ciphertext) - aes.BlockSize)
    stream  := cipher.NewCTR(block, iv)
    stream.XORKeyStream(plaintext, ciphertext[aes.BlockSize:])
    return string(plaintext[:])
}

func main() {
    // API Token
    api_token_base64 := "ZgV+1oFFh0D8zL78bDU8jA=="
    api_token, err := base64.StdEncoding.DecodeString(api_token_base64)
    if err != nil {
        fmt.Println("Invalid API_TOKEN:", err)
        return
    }

    plaintext := `{"type": "unseal","account_id": "1","password": "000000"}`;
    fmt.Printf("Text: %s\n", plaintext)
    ciphertext := encrypt(api_token, plaintext)
    base64text := base64.StdEncoding.EncodeToString(ciphertext);
    fmt.Printf("Encoded Text: %s\n", base64text);
    ciphertext2, _ := base64.StdEncoding.DecodeString(base64text);
    plaintext2 := decrypt(api_token, ciphertext2);
    fmt.Printf("Decoded Text: %s\n", plaintext2)
}

You can could use the Stegos CLI to make requests. This is frequently used for debugging, and scripting.

  • Use flag -R to force Stegos CLI use JSON input, instead of CLI like.
  • Use argument --formatter json to return output in json format.

Example of usage:

echo '{"type": "outputs_list", "utxos":["33a3362aa631a9e6bff4d7c492c97112e0699917f9c3a236711ed3cb3f7281f3"]}' | stegos -R --formatter json

Payload

Payload is just a pure JSON:

{
  "id": 100500,
  "account_id": "1",
  "type": "balance_info",
  "payment": {
    "current": 1000000,
    "available": 1000000
  },
  "public_payment": {
    "current": 0,
    "available": 0
  },
  "stake": {
    "current": 0,
    "available": 0
  },
  "current": 1000000,
  "available": 1000000,
}

There are two kinds of JSON messages:

  1. Remote Procedure Calls (RPC) from a client to the server.
  2. Out-of-band notifications from the server to a client.

Remote Procedure Calls

Remote procedure calls are similar to JSON-RPC:

Sample request:

{
   "id": 2,
   "type":"balance_info"
   "account_id": "1",
}

Sample response:

{
  "id": 2,
  "account_id": "1",
  "type": "balance_info",
  "payment": {
    "current": 1000000,
    "available": 1000000
  },
  "public_payment": {
    "current": 0,
    "available": 0
  },
  "stake": {
    "current": 0,
    "available": 0
  },
  "current": 1000000,
  "available": 1000000,
  "is_final": false
}

The protocol supports multiplexing. Client library can send multiple requests at once on the same connection and receive responses back in any order. Please note, that responses are sent as soon as they are ready. Never rely on the order of responses and use id field for tracking! Optional field id can be used to map responses to requests. This field is opaque, i.e.your client library can generate some arbitrary id for each request and server will include provided value to a reply.

Field type is a discriminator of requests and responses as well as notifications (see below). A value of type in a request doesn’t necessary matches the value of type field in a response. Some requests may return different types of responses. For example, any RPC request can end up with an error:

{
  "type": "error",
  "error": "Not enough money."
}

Notifications

Out-of-band notifications are sent by server to notify a client about some events, e.g.when block has been added or accounts’s balance has changed:

{
  "type": "balance_changed",
  "account_id": "1",
  "balance": 999996010
}

Notifications never have id field. For synchronous client library, you can filter out or notification based on type or presence of id fields.


Wallet API

Stegos Node provides API to manage accounts and sending transactions.

One Node has exactly one attached Wallet. One Wallet can hold multiple Accounts. One Account has exactly one primary Curve25519 keypair. Each Account is uniquely identified its Public Key.

Account’s Public Key can be used to receive both private and public payments. There is no special need in temporary addreses like in Bitcoin, because our private payments implements Confidental Transactios and all recepient’ addresses are always cloaked.

All public keys and addresses in API calls are encoded using bech32:

account_pkey = bech32_encode(prefix, curve25519_public_key)

Where supported prefixes are:

Wallet automatically assigns a short unique surrogate identifier to each keypair to use in API calls. This identifier is called by account_id. Please do not confuse with account_pkey which is an Account’s Public Key.

Each Account has associated password. This password is used as a seed for a key derivation function for AES-128 encryption. Encryption protects a secret key and other sensitive data. Since this password is never stored in any way, there are no possible technical ways to recover it from the node. This obviously doesn’t protect from possible leaks via side-channels or via Rubber-hose cryptanalysis.

Each Account can be recovered using 24-word Recovery Phrase. This recovery phrase is a mnemonic representation of raw account’s secret key. Since this 24-word recovery phrase is just another representation of raw Curve25519 secret key, no password is needed to recover from it.

Accounts have concept of Locking/Unlocking:

List Accounts

Returns a list of account.

Request:

{
  "type": "accounts_info",
}

Response:

{
  "type": "accounts_info",
  "accounts": {
    "1": {
      "account_pkey": "dev1jjufnwk6u5scyj05259tpy2a7096dap0umj5uhqlynfdfua255fs5fm7w4",
      "network_pkey": "984f5b13828d4747f7442861c138eaa575d4875df29e37bfcd985c7ca27147475cabf32416cd7935f9c897a720ba6f039693765e72e0f6aadd92a9642fb61639a0370eef5e8ee3a0570e34a629515c98f56b0095b16825b50e602f70f34ca398"
    },
    ...
  }
}

Create Account

Creates a new account.

Request:

{
  "type": "create_account",
  "password": "plain-text-password"
}

Response:

{
  "type": "account_created",
  "account_id": "1"
}

Delete Account

Request:

{
  "type": "delete_account",
  "account_id": "2"
}

Response:

{
  "type": "account_deleted",
  "account_id": "2"
}

Get Recovery Phrase

Returns 24-word recovery phrase.

Unlocked: yes

Request:

{
  "type": "recovery_info"
  "account_id": "1",
}

Response:

{
  "account_id": "1",
  "type": "recovery",
  "recovery": "swear praise ginger oxygen anchor ten small planet crime cave fold chuckle foot dragon decorate guess poverty grass crew depend define twice mother update",
  "last_public_address_id": 4
}

Recover Account

Recovers an account from 24-word recovery phrase:

Request:

{
  "type": "recover_account"
  "recovery": "swear praise ginger oxygen anchor ten small planet crime cave fold chuckle foot dragon decorate guess poverty grass crew depend define twice mother update",
  "last_public_address_id": 4
}

Response:

{
  "type": "account_created",
  "account_id": "2",
  "last_public_address_id": 4
}

Unlock Account

Unlocks an account, i.e.loads the private key into the RAM.

Request:

{
  "type": "unseal"
  "account_id": "1",
  "password": "plain-text-password"
}

Response:

{
  "account_id": "1",
  "type": "unsealed"
}

Lock Account

Locks an account, i.e. removes its private key from memory.

Unlocked: yes

Request:

{
  "type": "seal"
  "account_id": "1",
}

Response:

{
  "account_id": "1",
  "type": "sealed"
}

Change Password

Re-encrypt sensitive account data using a new password.

Unlocked: yes

Request:

{
  "account_id": "1",
  "type": "change_password",
  "new_password": "plain-text-password",
}

Response:

{
  "account_id": "1",
  "type": "password_changed"
}

Account Information

Returns information about the account’s public key (wallet address).

Unlocked: yes

Request:

{
  "type": "account_info",
  "account_id": "1",
}

Response:

{
  "account_id": "1",
  "type": "account_info",
  "account_pkey": "dev1jjufnwk6u5scyj05259tpy2a7096dap0umj5uhqlynfdfua255fs5fm7w4",
  "network_pkey": "984f5b13828d4747f7442861c138eaa575d4875df29e37bfcd985c7ca27147475cabf32416cd7935f9c897a720ba6f039693765e72e0f6aadd92a9642fb61639a0370eef5e8ee3a0570e34a629515c98f56b0095b16825b50e602f70f34ca398"
}

Balance Information

Returns information about current and availabe balances for a given account.

Unlocked: yes

Request:

{
  "account_id": "1",
  "type": "balance_info"
}

Response:

{
  "account_id": "1",
  "type": "balance_info",
  "payment": {
    "current": 1000000,
    "available": 1000000
  },
  "public_payment": {
    "current": 0,
    "available": 0
  },
  "stake": {
    "current": 0,
    "available": 0
  },
  "current": 1000000,
  "available": 1000000,
  "is_final": false
}

Balance Notifications

Sent on changs to account balance.

Notifications:

{
  "account_id": "1",
  "type": "balance_changed",
  "payment": {
    "current": 1000000,
    "available": 1000000
  },
  "public_payment": {
    "current": 0,
    "available": 0
  },
  "stake": {
    "current": 0,
    "available": 0
  },
  "current": 1000000,
  "available": 1000000,
  "is_final": false
}

UTXO Information

Returns information about account’s UTXO.

Unlocked: yes

Request:

{
  "account_id": "1",
  "request": "unspent_info"
}

Response:

{
  "account_id": "1",
  "type": "unspent_info",
  "public_payments": [],
  "payments": [

    {
      "output_hash": "13257da5cdef20d47dba473deb182f0d24c2a1ed717ba379c2b1830fdfadbd7e",
      "amount": 1000000000,
      "comment": "Gift from Stegos Leprechaun",
      "recipient": "dev1jjufnwk6u5scyj05259tpy2a7096dap0umj5uhqlynfdfua255fs5fm7w4",
      "is_change": false
    }
  ],
  "stakes": []
}

Payments

API for creating transactions to transfer money.

Unlocked: yes

Request:

{
  "account_id": "1",
  "type": "payment",
  "recipient": "dev1jjufnwk6u5scyj05259tpy2a7096dap0umj5uhqlynfdfua255fs5fm7w4",
  "amount": 100,
  "payment_fee": 1000,
  "comment": "Test",
  "with_certificate": false
}

Response:

{
  "account_id": "1",
  "type": "transaction_created",
  "tx_hash": "b9132147148715da31d9ac95ec1efee9aec374deb356b3fedefc17322c3b63c2",
  "fee": 2000,
  "outputs": [

    {
      "output_type": "payment",
      "utxo": "32cbfd8cd697bef256b78a36847269a0d39c738da3cc474f3635c21b03de1310",
      "amount": 100,
      "comment": "Test",
      "recipient": "dev1jjufnwk6u5scyj05259tpy2a7096dap0umj5uhqlynfdfua255fs5fm7w4",
      "rvalue": "0dbb132afbfdcc7bfb25191f89007f27919fceaceea03b015d98458cba1a4200",
      "is_change": false
    },
    {
      "output_type": "payment",
      "utxo": "fb7b7d39265ae69cc33fe5f327a78d0ea01a508ff99265f0a92ab5fc7df9e3c6",
      "amount": 999997900,
      "comment": "Change",
      "recipient": "dev1cn559rq08pvxkkkwdl5xcha33ql8g73npvgxkcjl57a34f8e856smqcgac",
      "is_change": true
    }


  ],
  "inputs": [

    "13257da5cdef20d47dba473deb182f0d24c2a1ed717ba379c2b1830fdfadbd7e"


  ],
  "status": "created"
}

Notifications:

{
  "account_id": "1",
  "type": "transaction_status",
  "tx_hash": "049db1e1979f2c8d876df876011f12764fb8ef5c578203dcba35bb9a8f09cfa3",
  "status": "committed",
  "epoch": 1192
}
{
  "account_id": "1",
  "type": "snowball_status",
  "state": "pool_wait"
}
{
  "account_id": "1",
  "type": "snowball_status",
  "state": "shared_keying"
}
{
  "account_id": "1",
  "type": "snowball_status",
  "state": "commitment"
}
{
  "account_id": "1",
  "type": "snowball_status",
  "state": "cloaked_vals"
}
{
  "account_id": "1",
  "type": "snowball_status",
  "state": "succeeded"
}

Cloak

Exchange all uncloaked tokens into cloaked tokens.

Unlocked: yes

Request:

{
  "account_id": "1",
  "type": "cloak_all",
  "payment_fee": 1000
}

Response:

See Payment.

Stake

Stake token into the escrow to become an validator.

Unlocked: yes

Request:

{
  "account_id": "1",
  "type": "stake",
  "amount": 2000,
  "payment_fee": 1000
}
{
  "account_id": "1",
  "type": "stake_remote",
  "amount": 2000,
  "payment_fee": 1000
}

Response:

See Payment.

Unstake

Unstake tokens from the escrow.

Unlocked: yes

Request:

{
  "type": "unstake",
  "account_id": "1",
  "amount": 2000,
  "payment_fee": 1000
}
{
  "type": "unstake_all",
  "account_id": "1",
}

Response:

See Payment.

Restake

Forcefully re-stake (refresh) expering tokens in the escrow. Usually this operation is performed automatically by *Node8.

Unlocked: no, secret key is not needed for this operation.

Request:

{
  "account_id": "1",
  "type": "restake_all"
}

Response:

See Payment.

Validate Certificate

Validate a payment certificate for a payment. This API is doesn’t require existing account.

Request:

{
  "type": "validate_certificate",
  "utxo": "0fdb42aa9433bc6f7079426ebbe0d5464ca713b2aad2bb5ff4fe163f98a80674",
  "spender": "dev1jjufnwk6u5scyj05259tpy2a7096dap0umj5uhqlynfdfua255fs5fm7w4",
  "recipient": "dev1cn559rq08pvxkkkwdl5xcha33ql8g73npvgxkcjl57a34f8e856smqcgac",
  "rvalue": "0dbb132afbfdcc7bfb25191f89007f27919fceaceea03b015d98458cba1a4200"
}

Response:

{
  "type": "certificate_valid",
  "epoch": 1181,
  "block_hash": "5e8a4429338ac775b40472d0cee6a439cbf0542c966bca9a089f1a84bdb2e680",
  "is_final": true,
  "timestamp": "2019-08-21T13:05:53.045364692Z",
  "amount": 100
}

Payment History

Validate a payment certificate for a payment. This API is doesn’t require existing account.

Request:

{
  "account_id": "1",
  "type": "history_info",
  "starting_from": "2019-08-20T13:48:40.877231494Z",
  "limit": 50
}

Response:

{                                                                                                                            [31/9149]
  "account_id": "1",
  "type": "history_info",
  "log": [

    {
      "type": "outgoing",
      "timestamp": "2019-08-21T13:36:29.038362377Z",
      "tx_hash": "e2b3b05056dc216ed514422b4b08d2b7107947fdddbfb419faa87caa10400404",
      "fee": 6000,
      "outputs": [
        {
          "output_type": "payment",
          "utxo": "17a23f878dfecd0bdbd9bfd3524b829a95eb2d6a121f4f9d08160aa3b7da789a",
          "amount": 1,
          "comment": "",
          "recipient": "dev1cn559rq08pvxkkkwdl5xcha33ql8g73npvgxkcjl57a34f8e856smqcgac",
          "is_change": false
        },
        {
          "output_type": "payment",
          "utxo": "2ddb5b4b52ff2f54341c2f03e18e053843e964e86a4d48abb65f80c2ad09231d",
          "amount": 999986699,
          "comment": "Change",
          "recipient": "dev1cn559rq08pvxkkkwdl5xcha33ql8g73npvgxkcjl57a34f8e856smqcgac",
          "is_change": true
        }
      ],
      "inputs": [                                                                                                             [2/9149]
        "5f8778d614aa6264269f62b5edb18f983e8da12b045b0cb314619456b930981e",
        "cc2a9b0268a36409a65166e4063abb88b4fe541e0c4a79eae4b66a3990a94868",
        "cef3b6ca7aa04383ee20c95b9c0071d751fa6b19e6ca75760e86380d402ed597",
        "ab55e0f121b3e3eff5c12f436abf3d1238171d86b3bd107f2ced160562dd1829",
        "0274559883bcf3668ec6751392633524854010267be6fcfc9a10c3c0d5cc4751",
        "d817af24a0344596c95f5c34d4afe4fe1fa2e184283267313ac878c1f912e90f"
      ],
      "status": "committed",
      "epoch": 1213
    },
    {
      "type": "incoming",
      "timestamp": "2019-08-21T13:36:30.798523887Z",
      "output_type": "payment",
      "utxo": "17a23f878dfecd0bdbd9bfd3524b829a95eb2d6a121f4f9d08160aa3b7da789a",
      "amount": 1,
      "comment": "",
      "recipient": "dev1cn559rq08pvxkkkwdl5xcha33ql8g73npvgxkcjl57a34f8e856smqcgac",
      "is_change": false
    },
    {
      "type": "incoming",
      "timestamp": "2019-08-21T13:36:30.799013899Z",
      "output_type": "payment",
      "utxo": "2ddb5b4b52ff2f54341c2f03e18e053843e964e86a4d48abb65f80c2ad09231d",
      "amount": 999986699,
      "comment": "Change",
      "recipient": "dev14ehru5zmyjuc64m25t8k9kqv4q95h0y20cwm5csgkpgups9e2ersmdp3e4",
      "is_change": true
    }
  ]
}

Node API

Status Information

Return information about the current Node status.

Request:

{
  "type": "status_info"
}

Response:

{
  "type": "status_info",
  "is_synchronized": false,
  "epoch": 16,
  "offset": 2,
  "view_change": 0,
  "last_block_hash": "2a4eae2807d771170c41ade13bc405ce95d54b5c1cc7e3a674ddfa17e427a70a",
  "last_macro_block_hash": "1e17d6048385f79eb2d8ba2b3ded80f76c9121d175575b0cd1d47d3aade18150",
  "last_macro_block_timestamp": "2019-09-25T14:17:56.647442627Z",
  "local_timestamp": "2019-09-25T14:23:26.304454862Z"
}

Status Notification

Subscribe for Node status changes.

Request:

{
  "type": "subscribe_status"
}

Response:

{
  "type": "subscribed_status",
  "is_synchronized": false,
  "epoch": 16,
  "offset": 2,
  "view_change": 0,
  "last_block_hash": "2a4eae2807d771170c41ade13bc405ce95d54b5c1cc7e3a674ddfa17e427a70a",
  "last_macro_block_hash": "1e17d6048385f79eb2d8ba2b3ded80f76c9121d175575b0cd1d47d3aade18150",
  "last_macro_block_timestamp": "2019-09-25T14:17:56.647442627Z",
  "local_timestamp": "2019-09-25T14:25:15.436308374Z"
}

Notifications:

{
  "type": "status_changed",
  "is_synchronized": false,
  "epoch": 16,
  "offset": 2,
  "view_change": 0,
  "last_block_hash": "2a4eae2807d771170c41ade13bc405ce95d54b5c1cc7e3a674ddfa17e427a70a",
  "last_macro_block_hash": "1e17d6048385f79eb2d8ba2b3ded80f76c9121d175575b0cd1d47d3aade18150",
  "last_macro_block_timestamp": "2019-09-25T14:17:56.647442627Z",
  "local_timestamp": "2019-09-25T14:26:31.882240890Z"
}

Blockchain Information

Get information about a micro/macro block.

Request:

{
  "type": "macro_block_info",
  "epoch": 93
}

Response:

{
  "type": "macro_block_info",
  "version": 1,
  "previous": "eb9d911f710a0981baf3aee80e19feff75265201ec27abd316ed8b3b070a43ba",
  "epoch": 93,
  "view_change": 0,
  "pkey": "4c42d597fd4135c2a71dfba93efe89a2c838e26f6686577866a172fde5159ed2f3226d02bdd927aa820b356953fc2108f11783fa7bf5590db66acfceb1a1e485c1c79bfa6aa6d3a44bbbd23a3ef7fa88f7f884e563e56dcb3698cf592a250b84",
  "random": {
    "rand": "fe265874359300b6d9a5a85ff5df7861ff7042b4f2882dffce17edeba15aeb4c",
    "proof": "5c194027a5b9e90e5c4a500a6452b8227a650b908de019940c4c5b8400e6ffa7f4e6592256e649bc28cc2125abea94b7"
  },
  "difficulty": 200,
  "timestamp": "2019-09-25T14:57:28.337620308Z",
  "block_reward": 1464000000,
  "activity_map": "1111",
  "gamma": "0fdf7cd24abdf28f8d55b6d705d5253347cd570022252cdebee4572a53b7d2a0",
  "inputs_range_hash": "8a06abe726ebf49e173d516e4d257c4058bb41ece18e37bf2ca48925a1841c00",
  "inputs_len": 3,
  "outputs_range_hash": "06015764beb6577ef6a75ca553b1bff27dd55803777e87bc8115c167b972d2f3",
  "outputs_len": 2,
  "multisig": "1c17b1c3314c45f2bf06c0331334937d4873cbc787bcedb0f83780b6d1dfa2e3160f7d948817ec332b384599036587a2",
  "multisigmap": "111",
  "inputs": [
    "02d5725fab23aadf1ff549e4f36fb5d0899d00eeeb91f969c46c37a96720e86b",
    "254dff707e3f9cb5c7459a08c67d915127b100abced4b72dddf6e9ba0fd112d7",
    "6fb29c0a14f41be998d261f03c261855b9dac9773c57c650e99c9721fff4f3a2"
  ],
  "outputs": [
    {
      "type": "payment_output",
      "recipient": "dev12qtqazg63j460dqhm7cmujss5fc8aknu4sdzs5arfp9xc87s5c0svf3gex",
      "cloaking_hint": "100bf913d354c61525fa3ddf4c78cb6f320af025fc1b70a3038f79586640d818",
      "proof": {
        "vcmt": "070984a4e9f42672f971098b17911f78af206452aa736de2cfaba4d6185efa20",
        "proof": "ac48626d6a3f6191e14012515e205db84ee4e4fd9a81ef4769bc6dbd6d66f96512b8681697e0c0c4302ac13f85639141433494056532f3e68a688523c2c20862bee7097165648e0d3f4e02ec5f408bb8e42fd2537cbd15c512cf22299932c8674e49ff00922a7de26b0efe82bd444543f2e9d3d8a2f9aed3d2755196da298c2390bde019ca75beaede27626533422bab75d42044cc4b8f9da332d5e36de3fb05830e9d8658a7a2a45cf5bd2a2510474acc6fe53e8d1e12190c4efed1e40a25037c689bce4ac73e258754e79a109a230b6e069824caccbf3c3f10901ae0571e01a4631dea48e6b9b679e376ad086be40593c9d96cd34bc9eaea5e6f755172bc172a3f282432d7d48410983cce33372057dcc4650ea752ec973c4bd0f75e1adf1d92af048f0cd4e9b6cf78af73f1e6b5c14ea2e22e13ec10f10c73ab3ec467210f40de60c10bf7ec01558978c1d2c3f3d9a74543f6132da0f8121a84892923b0666eba643e0051d2c7a5e4acec65664c628b8398fc13f2c3c360e47c0d6d07ee5a9e3185518f728a2cf89090f77c24850f559b6471be4367cf906c9eeff3fff834203ab6262e35fe92e700f23ea4e52244211b1785fa4e83d44d1cb68e18612330200d616d7c1b95ee0d4564704ca3ac4ead0e9fdb2ba6b91af3a6e9d403acdd3d8ea1daa75a6ad5b5556c6baa8707de48aa15b3167bd8cf39f565f81e70aa503ca87d60b35a8bbb0690e3ba19c0282a16a2edd2cd4ef9db2c70dd1a7a127ead00c87c669b2fad3439c49e63eb900c8e8f3481e207912b3df839eae4c0791a534230913a79067675872fd0a59f1bb66f963eef5402521483c9e794b0ad34cfc341fbbc5c5452de7577695915808000e2c19eb6a7bc862a3bcd979ee0b49e553a09b975ed382b1d3602e530a3d402e3d0ec164ce0d9a649376066ef88bba687a10b"
      },
      "payload": {
        "ag": "1f24dda40d0f1d9816e8ddf58b2a66f229bc8f98b0995838d239468dc2b7c43c",
        "ctxt": "c8fffa56f1ed26c77552e00af3bfadb82ceb540f6c9bd08939156d3338d79c0a1208c8d79a20d134367c8e0ec36802f55a2925657fd5c46fa87035eb72248bd00e64d3f8301bfcd3973617ced9b129769fd642fa3a12087a3760eee3332e08ac9b270d2fd1e7bb775f96c9d9dde4cc59496a582992551f2eefb949345b79a6f7d4097bfbe3dcfe93214fb9ee48cd3af785267348f4a86b6e2886fee310e725e6c24c6f998f89da9415e0c8187a3e24c16c678cd46fa752bb69232f7a003e15b5ca6910b107a5d0cb06bdef1d2121ffd45210f92aea5c6414131dd97081e92999fd497880eace1ad457daff816a5fe28936142cc1dc716c45da47edd95c7b1ed7ee7cf7ed9b94820f8986b38e2b20f48c115214ce6606fbb8e684e7671fa006f2a90bc2dce9d97b87fe3794b3f3cb0ddd3224bff65772c36165264118a2d74f3d426babe20c840b6f8ea6df728e2048bdc58bd6cd9bb65826b2bd056b0536a4f2ae77f14cee57502210342d06fe8ad79ffb2ae5cc2f2492604703ecc6c733a87b6c73a40a0e335af6e6aca0cbbf7d91e482b864f6af7c01abcfaaa9331183b747c0db5285c98584873f99ba8b18299c25799a0e9e4e2624aa8756684ceecc0cf22ca5b3881752a13971b9e939900448598a885887941dc1703cc5b9b025243ae4a5e02fb2b4202a342c68322e62e52a41edf3f18d9d38efd1a5fd66ad486c45fe5d4bd06a8f5fdbc40bab38db6e735ae5edcedceb8c9d2d08d45625d499965f5ef2623d575a4710cf046e95e1bf481dd904083734d4d77594c48f39380fdbda2471f66bf1c52d13dfc4e6702ad47d1b267ddc67dcb2f5b79d8502d7decc9c50d4da80b099d4485d0035957bb4238b9dffc196b94c9ff0c97d27731b2aae5b1df28e5a20044e8f3b5fd19b50d5694baac9145e06cf874d68c0fe22001a7bb0146b962852e633d5a41cff72967375c80306f4a3e2dd7cd4a64a0d0c80791ede081c7184264d0e354ef184f39b4b0a873548b9aa989def07e7d602db752ec77618d27c281070548b3ed7cc496f32f4192c20b2b013ff2f1dbca4731eb2a6070d30b06085998a50c4b008d3c27f59b5728b2f6cc68655679cc261f7dbebac1dc0972dcf86f44815140762ef473562b94c2c5ab230f25890dccd58fd5dd4ba2bfa05e60481e8410711837c7c414b0fdde428ddbb806b52ae7839bcad2ef7d8b1a12f976176e6691dd09d3aa247e85fb57fa155d3a66c812d84fdc72b91d07ae6037dc687a47609db8d25bdd5ddd53dee8cadbc43e90ece29c38c99d9dee499c0b0660ae81f39d87253d7d70dc9113d6c0682b329ed082db8b3c43763d11d84fe1ffae19fb582e79c308f2341153254385851239d9877d86891958b040a3add6571b13919a32a3864988d602748953a9fd9bdbeb75a4a0e00af6a1a0f6b5b998eeccfbd"
      }
    },
    {
      "type": "stake_output",
      "recipient": "dev16m74qnh5wrvqrc5pplar9t4v5z9mlykxp86a6n9yqyxw9qxq9a6qeajzdu",
      "validator": "9069a834e26b5d7eef9a196f036ad2737315d4c2f64cedd860313b45520e570aa2d2579503f22bdd4d13b8254352ef00f1667fa7effd8a702c027538fb645a767d744639f799e2bdba726964226d52fd87cbf027072ec928c87c6e0de23d2784",
      "amount": 50000000000,
      "serno": -7367979089502813811,
      "signature": "8e8a478ccc680401ad16759bff1c56654f1cdb80af13dcdcaa9a0fb76f6c9be291a47ce6b6fca12f5d2a4f9aaaaf6e80"
    }
  ],
  "validators": [
    {
      "network_pkey": "4c42d597fd4135c2a71dfba93efe89a2c838e26f6686577866a172fde5159ed2f3226d02bdd927aa820b356953fc2108f11783fa7bf5590db66acfceb1a1e485c1c79bfa6aa6d3a44bbbd23a3ef7fa88f7f884e563e56dcb3698cf592a250b84",
      "account_pkey": "dev1yfervqtkg47r7nl3732fl94wealp65tg652c8jpdt90f2u8ng3asw5dn3x",
      "slots": 253
    },
    {
      "network_pkey": "9069a834e26b5d7eef9a196f036ad2737315d4c2f64cedd860313b45520e570aa2d2579503f22bdd4d13b8254352ef00f1667fa7effd8a702c027538fb645a767d744639f799e2bdba726964226d52fd87cbf027072ec928c87c6e0de23d2784",
      "account_pkey": "dev16m74qnh5wrvqrc5pplar9t4v5z9mlykxp86a6n9yqyxw9qxq9a6qeajzdu",
      "slots": 259
    },
    {
      "network_pkey": "4f57360ea2750ddb9900a63ac3b1a3878f068bfcbbd6e029ecb3ad5d894539a431b1a39058a320b97b6e300cb8d4ef0d3661e52c11d016e525c7eebc7d8fb882e560cd55a1121a05e23ba2364e9aed9014037a4d26bc75a3e93e5f25aff19eb4",
      "account_pkey": "dev1qrtm3zxj05hksr3hewn4m7x0nl2w4hdtucfxchvrg0vyjwfgupps74cjyf",
      "slots": 255
    },
    {
      "network_pkey": "d9c2d567da672da9c9175eb5e37f8ac869bdff8f293ce8523cf34a2a18391751d256262938cf87c922b92d49dbd15202f69e78c47cb24254022ab13c791f8c24bf3259bb16ebae1663909baadd75ce90844fb85531e86ebe98b54322a8a56db6",
      "account_pkey": "dev1jn6nkexcc25a9z7vc3yakmm7p2v507gs0t4llpqs30knwcdhkues9hn2kp",
      "slots": 233
    }
  ],
  "facilitator": "d9c2d567da672da9c9175eb5e37f8ac869bdff8f293ce8523cf34a2a18391751d256262938cf87c922b92d49dbd15202f69e78c47cb24254022ab13c791f8c24bf3259bb16ebae1663909baadd75ce90844fb85531e86ebe98b54322a8a56db6",
  "awards": {
    "budget": 2928000000,
    "difficulty": 3,
    "validators_activity": {
      "dev1qrtm3zxj05hksr3hewn4m7x0nl2w4hdtucfxchvrg0vyjwfgupps74cjyf": {
        "status": "active"
      },
      "dev1yfervqtkg47r7nl3732fl94wealp65tg652c8jpdt90f2u8ng3asw5dn3x": {
        "status": "active"
      },
      "dev1jn6nkexcc25a9z7vc3yakmm7p2v507gs0t4llpqs30knwcdhkues9hn2kp": {
        "status": "active"
      },
      "dev16m74qnh5wrvqrc5pplar9t4v5z9mlykxp86a6n9yqyxw9qxq9a6qeajzdu": {
        "status": "active"
      }
    }
  },
  "payout": {
    "recipient": "dev16m74qnh5wrvqrc5pplar9t4v5z9mlykxp86a6n9yqyxw9qxq9a6qeajzdu",
    "amount": 6588000000
  }
}

Request:

{
  "type": "micro_block_info",
  "epoch": 95,
  "offset": 1
}

Response:

{
  "type": "micro_block_info",
  "version": 1,
  "previous": "91fea1bfad29ff167785b87e6813427cef3bf256fcc351c6f437d890dc308f6a",
  "epoch": 95,
  "offset": 1,
  "view_change": 0,
  "view_change_proof": null,
  "pkey": "9069a834e26b5d7eef9a196f036ad2737315d4c2f64cedd860313b45520e570aa2d2579503f22bdd4d13b8254352ef00f1667fa7effd8a702c027538fb645a767d744639f799e2bdba726964226d52fd87cbf027072ec928c87c6e0de23d2784",
  "random": {
    "rand": "a1b8cb7a20ec652aac300307202271674ff0cf50c374617dcf6ed283dc908540",
    "proof": "c3aca57d14ccaed4965255291adbb89b184479384d6353f1e5cc5f86d358943ba1c426749e7bd78e53e1f65fc13e99a9"
  },
  "solution": "d8509988e7e42eff6dc8e03023ee547905d648996f56601e022587791e338f7b",
  "timestamp": "2019-09-27T12:40:56.511676995Z",
  "transactions_range_hash": "903b58175d87ff80f25d4b695b306c359b3de4e7649dc3f11bab173ed6efe6ae",
  "sig": "abe93960881f2f6c646947f20d230997f2720c16825eef0ea71c65ade25d6d364d9b7889b5448a38f48b74f57a587faa",
  "transactions": [
    {
      "type": "coinbase_transaction",
      "block_reward": 24000000,
      "block_fee": 0,
      "gamma": "097c6efc4e4ed16a788e97f0db4e7f62efc6590bd43327efd459f240f793f7f9",
      "txouts": [
        {
          "type": "payment_output",
          "recipient": "dev19rp03dcaar0gante3jutghx44maa5yc3mxa5ayhfcpy24zl6euzslz9vyv",
          "cloaking_hint": "2e563c8ef22fafd58c41a2258d92788888cd71b0a6d1ab0909ae4a7f0b769fc4",
          "proof": {
            "vcmt": "760138113651a380e271ed361c5aac2ce220d3eff307d24b9d02a6963e7edbf2",
            "proof": "40c075bc1d1f87f07f625be88566a18ea79d1f61f34bd2f23958d6570eb2304d5ad331dc3849724bb19387a8f3fdc82b698342cc298ba000e958a5e49e35b265089bacdf43ec372c87a36846a44acf2fbb3049f62151780ae8396ce085adfe6fb82b5045af2275c0343f5d15e1961332b262714b53a752be54af0d59b307ad2e6b2d172482c02455883969814d768d651bb5126d0e7a81380014b9f00ea1950d1d1d41dce0ebf5b218753a9579c1c5ac5011f8aaf8f80f66574536c2cc31350f5173ca125f9c7e273832a4036b77659857cb9209300a385857fc282709b54f076a70678eb6a525051e7d991035311ce2b3545db4b194cb03d4fe070e8d040702c858782faf5643eee47b7f40c4b385bf2eef2b00789ecb0456a5b42098d4775166c8296fa32a412574735c0cac0f0dd1eb83b250eb88f0db533dbcb9fb8de95a1c5049c10c70a6d8d40e2060f6fa3f31f706469950408e7c3db75f880ce96833562e26f30d96bdcefbdebb91a39248469321827f36f08f941f29fd38fbe09f22cc110feddb458215c0e03362cfdccf2f17d3fbaf39e1b939d71794beedf0004116fab7336712468a41b2219c1376b6e2785dc85f52c4b63ecc184d0b12fb65381618dd2c937260196d25b99c1d800c9dc2608271e60dbe636d32c3cb1602dc03f244d96fb9732325127fa34cabffc457a4765bb2818f06a3834478d7b583ac5bca13a348700c9c1b2f9a0e8c24809420d96870241a3c08dd1c12b6acbd2dca42ea791f632af1b822d967aaaddd39b138c8edf755b01ee4deb7a5fccc8c2f4d7b3a0e4ff1a59c6c7f3ece3b42513bb7a3b96b32a0896ad176c367ee4d2b6d66327336a8080cce80d323833d4aab2dd7b5797e5636c4138806bfcf701fff230701121a99570c7a1b9d60b8caec8807e66ad44edf978d79cd9f9a7467f0b70e8709"
          },
          "payload": {
            "ag": "0293da37550b5e73d9ce523476ad8ae6c9313819a5fabcaf3d70cdf555251480",
            "ctxt": "ec6e6e010d144e8a973f654484dab4fb49e1458985385ba3606a4138dd21404aeb22cb033113ace445c1b2a4203dcb5422c658fabad7718d386272578c00528923bb15b9bd86ce5477c1bf451feb42df65312d15559ff1ffbfc6e4aa63e0703eb512d6a34cdf2d579af881c5dc3ab6ef39c1b7c4c45ce9658b55305da958d08ae89aee23bfb02a5ea31fc9487f84db10a8cb7abdd9c6264a960b72fb31a1574c9415dacbdfa9488a4cb28219ca83ab447a67dd720ec7532c341e99fbd2783aaadeb596d0771baee98847a71356ef1b83a14ada464a515a37f033661cb8491307f65073e88423343f4f79167834926a21394df57efe68d22929a8b987482314a3c3724436946c8540a4a4f5f949fbd22c0811e0448e77fd5423bff7214f8de12c924208e4b6aaef3440e44afb6ac898869ff01de5aea01d4e10d78ad160d5729ed8a4097ef33ef1ef5d9b1269de6c711753baa6b6f1172cb7b98df2c0bcaf63129115905ccd858e7e7eee23d393a5a8b7ce095a88a8dfb6a5b22604740bed0f1b1ef6c1c174dd3e677ca490e7c66daca2df8660f3bac81221d185581c29dbaf73bcb59d8ec1bc9759d9130cab22db74111977775e1b9ee5cd55fc7d3a3d3fad689ff48164e72e9e5471c6af8ef2aafcc98d0e727eff312516238c32e890c8342be0e5763fadbd24a8ae58c55940756622d6c999bced8b9087e7b0b3cca5b379f9bbce66c759740070635148249b9592d81a7b5ac11cd417331b7cf03e7b1f6b902c8601cfafd620f923e6f90c1e1c13d5d5958000ccfa59989c25930d0fb5df7574382061e31b9d0d4f2c8f6a36e4d8fb792ec9315d3aebc588d9399b60554655731bc5d48c39e6920d56799d5990d5138e74829fe33ab3635c37360a542eecbf7f18be80324b409e77596096db4a5560597757006d75263af4943fd1825fe0ec27525bdaa0b87bd1ddbdd8b890fe8bb10cab1c59e1b75a66f15deab8e2a4b141545f26677ba91417fdb89837cbb4cd7e3bd65a7804854512a0f084f2f85714a75c1cb220f0213f08860d4fba062b238ac3813d7db948d49b20b4a8e8f7c345b2bca7071e038d48f5bda53d79dd055eea6f523ecbd0e8e6779da8c6e25b5edcc21a559de8c419ca4c4dbf14c3241c9f2bc0690c8326f89287811b77779b671d0ba8a233bc5e272169c4ff51da8e9906cd9f8f8459009daf5780a982d9cc0c430e2cd1994b09b5a97def4bb58f654bd68c16303318e82477463a10ebebf02bbbec118b7932d34004bc59942f0dead53f9a4cfcb899dc1da5801455274d2519cd089cd8add9cc375e1f374e9c4cd98f9def5d5ccb4193890160b89ea11adce7131cc654686c828e727ac03eaecd748da8f2de82c7d5531a1e73b337d82340859de3573a9b8604741cfa97a2708aa25d7b9ed5017e6849af8ac21ab9a30165865a08"
          }
        }
      ]
    }
  ]
}

Blockchain Notifications

Subscribe for the raw Blockchain changes.

{
  "type": "subscribe_chain",
  "epoch": 15,
  "offset": 59
}

Response:

{
  "type": "subscribed_chain",
  "current_epoch": 16,
  "current_offset": 2
}

Notifications:

{
  "type": "macro_block_committed",
  "version": 1,
  "previous": "eb9d911f710a0981baf3aee80e19feff75265201ec27abd316ed8b3b070a43ba",
  "epoch": 93,
  "view_change": 0,
  "pkey": "4c42d597fd4135c2a71dfba93efe89a2c838e26f6686577866a172fde5159ed2f3226d02bdd927aa820b356953fc2108f11783fa7bf5590db66acfceb1a1e485c1c79bfa6aa6d3a44bbbd23a3ef7fa88f7f884e563e56dcb3698cf592a250b84",
  "random": {
    "rand": "fe265874359300b6d9a5a85ff5df7861ff7042b4f2882dffce17edeba15aeb4c",
    "proof": "5c194027a5b9e90e5c4a500a6452b8227a650b908de019940c4c5b8400e6ffa7f4e6592256e649bc28cc2125abea94b7"
  },
  "difficulty": 200,
  "timestamp": "2019-09-25T14:57:28.337620308Z",
  "block_reward": 1464000000,
  "activity_map": "1111",
  "gamma": "0fdf7cd24abdf28f8d55b6d705d5253347cd570022252cdebee4572a53b7d2a0",
  "inputs_range_hash": "8a06abe726ebf49e173d516e4d257c4058bb41ece18e37bf2ca48925a1841c00",
  "inputs_len": 3,
  "outputs_range_hash": "06015764beb6577ef6a75ca553b1bff27dd55803777e87bc8115c167b972d2f3",
  "outputs_len": 64,
  "multisig": "1c17b1c3314c45f2bf06c0331334937d4873cbc787bcedb0f83780b6d1dfa2e3160f7d948817ec332b384599036587a2",
  "multisigmap": "111",
  "inputs": [
    "02d5725fab23aadf1ff549e4f36fb5d0899d00eeeb91f969c46c37a96720e86b",
    "254dff707e3f9cb5c7459a08c67d915127b100abced4b72dddf6e9ba0fd112d7",
    "6fb29c0a14f41be998d261f03c261855b9dac9773c57c650e99c9721fff4f3a2"
  ],
  "outputs": [
    {
      "type": "payment_output",
      "recipient": "dev12qtqazg63j460dqhm7cmujss5fc8aknu4sdzs5arfp9xc87s5c0svf3gex",
      "cloaking_hint": "100bf913d354c61525fa3ddf4c78cb6f320af025fc1b70a3038f79586640d818",
      "proof": {
        "vcmt": "070984a4e9f42672f971098b17911f78af206452aa736de2cfaba4d6185efa20",
        "proof": "ac48626d6a3f6191e14012515e205db84ee4e4fd9a81ef4769bc6dbd6d66f96512b8681697e0c0c4302ac13f85639141433494056532f3e68a688523c2c20862bee7097165648e0d3f4e02ec5f408bb8e42fd2537cbd15c512cf22299932c8674e49ff00922a7de26b0efe82bd444543f2e9d3d8a2f9aed3d2755196da298c2390bde019ca75beaede27626533422bab75d42044cc4b8f9da332d5e36de3fb05830e9d8658a7a2a45cf5bd2a2510474acc6fe53e8d1e12190c4efed1e40a25037c689bce4ac73e258754e79a109a230b6e069824caccbf3c3f10901ae0571e01a4631dea48e6b9b679e376ad086be40593c9d96cd34bc9eaea5e6f755172bc172a3f282432d7d48410983cce33372057dcc4650ea752ec973c4bd0f75e1adf1d92af048f0cd4e9b6cf78af73f1e6b5c14ea2e22e13ec10f10c73ab3ec467210f40de60c10bf7ec01558978c1d2c3f3d9a74543f6132da0f8121a84892923b0666eba643e0051d2c7a5e4acec65664c628b8398fc13f2c3c360e47c0d6d07ee5a9e3185518f728a2cf89090f77c24850f559b6471be4367cf906c9eeff3fff834203ab6262e35fe92e700f23ea4e52244211b1785fa4e83d44d1cb68e18612330200d616d7c1b95ee0d4564704ca3ac4ead0e9fdb2ba6b91af3a6e9d403acdd3d8ea1daa75a6ad5b5556c6baa8707de48aa15b3167bd8cf39f565f81e70aa503ca87d60b35a8bbb0690e3ba19c0282a16a2edd2cd4ef9db2c70dd1a7a127ead00c87c669b2fad3439c49e63eb900c8e8f3481e207912b3df839eae4c0791a534230913a79067675872fd0a59f1bb66f963eef5402521483c9e794b0ad34cfc341fbbc5c5452de7577695915808000e2c19eb6a7bc862a3bcd979ee0b49e553a09b975ed382b1d3602e530a3d402e3d0ec164ce0d9a649376066ef88bba687a10b"
      },
      "payload": {
        "ag": "1f24dda40d0f1d9816e8ddf58b2a66f229bc8f98b0995838d239468dc2b7c43c",
        "ctxt": "c8fffa56f1ed26c77552e00af3bfadb82ceb540f6c9bd08939156d3338d79c0a1208c8d79a20d134367c8e0ec36802f55a2925657fd5c46fa87035eb72248bd00e64d3f8301bfcd3973617ced9b129769fd642fa3a12087a3760eee3332e08ac9b270d2fd1e7bb775f96c9d9dde4cc59496a582992551f2eefb949345b79a6f7d4097bfbe3dcfe93214fb9ee48cd3af785267348f4a86b6e2886fee310e725e6c24c6f998f89da9415e0c8187a3e24c16c678cd46fa752bb69232f7a003e15b5ca6910b107a5d0cb06bdef1d2121ffd45210f92aea5c6414131dd97081e92999fd497880eace1ad457daff816a5fe28936142cc1dc716c45da47edd95c7b1ed7ee7cf7ed9b94820f8986b38e2b20f48c115214ce6606fbb8e684e7671fa006f2a90bc2dce9d97b87fe3794b3f3cb0ddd3224bff65772c36165264118a2d74f3d426babe20c840b6f8ea6df728e2048bdc58bd6cd9bb65826b2bd056b0536a4f2ae77f14cee57502210342d06fe8ad79ffb2ae5cc2f2492604703ecc6c733a87b6c73a40a0e335af6e6aca0cbbf7d91e482b864f6af7c01abcfaaa9331183b747c0db5285c98584873f99ba8b18299c25799a0e9e4e2624aa8756684ceecc0cf22ca5b3881752a13971b9e939900448598a885887941dc1703cc5b9b025243ae4a5e02fb2b4202a342c68322e62e52a41edf3f18d9d38efd1a5fd66ad486c45fe5d4bd06a8f5fdbc40bab38db6e735ae5edcedceb8c9d2d08d45625d499965f5ef2623d575a4710cf046e95e1bf481dd904083734d4d77594c48f39380fdbda2471f66bf1c52d13dfc4e6702ad47d1b267ddc67dcb2f5b79d8502d7decc9c50d4da80b099d4485d0035957bb4238b9dffc196b94c9ff0c97d27731b2aae5b1df28e5a20044e8f3b5fd19b50d5694baac9145e06cf874d68c0fe22001a7bb0146b962852e633d5a41cff72967375c80306f4a3e2dd7cd4a64a0d0c80791ede081c7184264d0e354ef184f39b4b0a873548b9aa989def07e7d602db752ec77618d27c281070548b3ed7cc496f32f4192c20b2b013ff2f1dbca4731eb2a6070d30b06085998a50c4b008d3c27f59b5728b2f6cc68655679cc261f7dbebac1dc0972dcf86f44815140762ef473562b94c2c5ab230f25890dccd58fd5dd4ba2bfa05e60481e8410711837c7c414b0fdde428ddbb806b52ae7839bcad2ef7d8b1a12f976176e6691dd09d3aa247e85fb57fa155d3a66c812d84fdc72b91d07ae6037dc687a47609db8d25bdd5ddd53dee8cadbc43e90ece29c38c99d9dee499c0b0660ae81f39d87253d7d70dc9113d6c0682b329ed082db8b3c43763d11d84fe1ffae19fb582e79c308f2341153254385851239d9877d86891958b040a3add6571b13919a32a3864988d602748953a9fd9bdbeb75a4a0e00af6a1a0f6b5b998eeccfbd"
      }
    },
    {
      "type": "stake_output",
      "recipient": "dev16m74qnh5wrvqrc5pplar9t4v5z9mlykxp86a6n9yqyxw9qxq9a6qeajzdu",
      "validator": "9069a834e26b5d7eef9a196f036ad2737315d4c2f64cedd860313b45520e570aa2d2579503f22bdd4d13b8254352ef00f1667fa7effd8a702c027538fb645a767d744639f799e2bdba726964226d52fd87cbf027072ec928c87c6e0de23d2784",
      "amount": 50000000000,
      "serno": -7367979089502813811,
      "signature": "8e8a478ccc680401ad16759bff1c56654f1cdb80af13dcdcaa9a0fb76f6c9be291a47ce6b6fca12f5d2a4f9aaaaf6e80"
    }
  ],
  "validators": [
    {
      "network_pkey": "4c42d597fd4135c2a71dfba93efe89a2c838e26f6686577866a172fde5159ed2f3226d02bdd927aa820b356953fc2108f11783fa7bf5590db66acfceb1a1e485c1c79bfa6aa6d3a44bbbd23a3ef7fa88f7f884e563e56dcb3698cf592a250b84",
      "account_pkey": "dev1yfervqtkg47r7nl3732fl94wealp65tg652c8jpdt90f2u8ng3asw5dn3x",
      "slots": 253
    },
    {
      "network_pkey": "9069a834e26b5d7eef9a196f036ad2737315d4c2f64cedd860313b45520e570aa2d2579503f22bdd4d13b8254352ef00f1667fa7effd8a702c027538fb645a767d744639f799e2bdba726964226d52fd87cbf027072ec928c87c6e0de23d2784",
      "account_pkey": "dev16m74qnh5wrvqrc5pplar9t4v5z9mlykxp86a6n9yqyxw9qxq9a6qeajzdu",
      "slots": 259
    },
    {
      "network_pkey": "4f57360ea2750ddb9900a63ac3b1a3878f068bfcbbd6e029ecb3ad5d894539a431b1a39058a320b97b6e300cb8d4ef0d3661e52c11d016e525c7eebc7d8fb882e560cd55a1121a05e23ba2364e9aed9014037a4d26bc75a3e93e5f25aff19eb4",
      "account_pkey": "dev1qrtm3zxj05hksr3hewn4m7x0nl2w4hdtucfxchvrg0vyjwfgupps74cjyf",
      "slots": 255
    },
    {
      "network_pkey": "d9c2d567da672da9c9175eb5e37f8ac869bdff8f293ce8523cf34a2a18391751d256262938cf87c922b92d49dbd15202f69e78c47cb24254022ab13c791f8c24bf3259bb16ebae1663909baadd75ce90844fb85531e86ebe98b54322a8a56db6",
      "account_pkey": "dev1jn6nkexcc25a9z7vc3yakmm7p2v507gs0t4llpqs30knwcdhkues9hn2kp",
      "slots": 233
    }
  ],
  "facilitator": "d9c2d567da672da9c9175eb5e37f8ac869bdff8f293ce8523cf34a2a18391751d256262938cf87c922b92d49dbd15202f69e78c47cb24254022ab13c791f8c24bf3259bb16ebae1663909baadd75ce90844fb85531e86ebe98b54322a8a56db6",
  "awards": {
    "budget": 2928000000,
    "difficulty": 3,
    "validators_activity": {
      "dev1qrtm3zxj05hksr3hewn4m7x0nl2w4hdtucfxchvrg0vyjwfgupps74cjyf": {
        "status": "active"
      },
      "dev1yfervqtkg47r7nl3732fl94wealp65tg652c8jpdt90f2u8ng3asw5dn3x": {
        "status": "active"
      },
      "dev1jn6nkexcc25a9z7vc3yakmm7p2v507gs0t4llpqs30knwcdhkues9hn2kp": {
        "status": "active"
      },
      "dev16m74qnh5wrvqrc5pplar9t4v5z9mlykxp86a6n9yqyxw9qxq9a6qeajzdu": {
        "status": "active"
      }
    }
  },
  "payout": {
    "recipient": "dev16m74qnh5wrvqrc5pplar9t4v5z9mlykxp86a6n9yqyxw9qxq9a6qeajzdu",
    "amount": 6588000000
  }
}
{
  "type": "micro_block_prepared",
  "version": 1,
  "previous": "91fea1bfad29ff167785b87e6813427cef3bf256fcc351c6f437d890dc308f6a",
  "epoch": 95,
  "offset": 1,
  "view_change": 0,
  "view_change_proof": null,
  "pkey": "9069a834e26b5d7eef9a196f036ad2737315d4c2f64cedd860313b45520e570aa2d2579503f22bdd4d13b8254352ef00f1667fa7effd8a702c027538fb645a767d744639f799e2bdba726964226d52fd87cbf027072ec928c87c6e0de23d2784",
  "random": {
    "rand": "a1b8cb7a20ec652aac300307202271674ff0cf50c374617dcf6ed283dc908540",
    "proof": "c3aca57d14ccaed4965255291adbb89b184479384d6353f1e5cc5f86d358943ba1c426749e7bd78e53e1f65fc13e99a9"
  },
  "solution": "d8509988e7e42eff6dc8e03023ee547905d648996f56601e022587791e338f7b",
  "timestamp": "2019-09-27T12:40:56.511676995Z",
  "transactions_range_hash": "903b58175d87ff80f25d4b695b306c359b3de4e7649dc3f11bab173ed6efe6ae",
  "sig": "abe93960881f2f6c646947f20d230997f2720c16825eef0ea71c65ade25d6d364d9b7889b5448a38f48b74f57a587faa",
  "transactions": [
    {
      "type": "coinbase_transaction",
      "block_reward": 24000000,
      "block_fee": 0,
      "gamma": "097c6efc4e4ed16a788e97f0db4e7f62efc6590bd43327efd459f240f793f7f9",
      "txouts": [
        {
          "type": "payment_output",
          "recipient": "dev19rp03dcaar0gante3jutghx44maa5yc3mxa5ayhfcpy24zl6euzslz9vyv",
          "cloaking_hint": "2e563c8ef22fafd58c41a2258d92788888cd71b0a6d1ab0909ae4a7f0b769fc4",
          "proof": {
            "vcmt": "760138113651a380e271ed361c5aac2ce220d3eff307d24b9d02a6963e7edbf2",
            "proof": "40c075bc1d1f87f07f625be88566a18ea79d1f61f34bd2f23958d6570eb2304d5ad331dc3849724bb19387a8f3fdc82b698342cc298ba000e958a5e49e35b265089bacdf43ec372c87a36846a44acf2fbb3049f62151780ae8396ce085adfe6fb82b5045af2275c0343f5d15e1961332b262714b53a752be54af0d59b307ad2e6b2d172482c02455883969814d768d651bb5126d0e7a81380014b9f00ea1950d1d1d41dce0ebf5b218753a9579c1c5ac5011f8aaf8f80f66574536c2cc31350f5173ca125f9c7e273832a4036b77659857cb9209300a385857fc282709b54f076a70678eb6a525051e7d991035311ce2b3545db4b194cb03d4fe070e8d040702c858782faf5643eee47b7f40c4b385bf2eef2b00789ecb0456a5b42098d4775166c8296fa32a412574735c0cac0f0dd1eb83b250eb88f0db533dbcb9fb8de95a1c5049c10c70a6d8d40e2060f6fa3f31f706469950408e7c3db75f880ce96833562e26f30d96bdcefbdebb91a39248469321827f36f08f941f29fd38fbe09f22cc110feddb458215c0e03362cfdccf2f17d3fbaf39e1b939d71794beedf0004116fab7336712468a41b2219c1376b6e2785dc85f52c4b63ecc184d0b12fb65381618dd2c937260196d25b99c1d800c9dc2608271e60dbe636d32c3cb1602dc03f244d96fb9732325127fa34cabffc457a4765bb2818f06a3834478d7b583ac5bca13a348700c9c1b2f9a0e8c24809420d96870241a3c08dd1c12b6acbd2dca42ea791f632af1b822d967aaaddd39b138c8edf755b01ee4deb7a5fccc8c2f4d7b3a0e4ff1a59c6c7f3ece3b42513bb7a3b96b32a0896ad176c367ee4d2b6d66327336a8080cce80d323833d4aab2dd7b5797e5636c4138806bfcf701fff230701121a99570c7a1b9d60b8caec8807e66ad44edf978d79cd9f9a7467f0b70e8709"
          },
          "payload": {
            "ag": "0293da37550b5e73d9ce523476ad8ae6c9313819a5fabcaf3d70cdf555251480",
            "ctxt": "ec6e6e010d144e8a973f654484dab4fb49e1458985385ba3606a4138dd21404aeb22cb033113ace445c1b2a4203dcb5422c658fabad7718d386272578c00528923bb15b9bd86ce5477c1bf451feb42df65312d15559ff1ffbfc6e4aa63e0703eb512d6a34cdf2d579af881c5dc3ab6ef39c1b7c4c45ce9658b55305da958d08ae89aee23bfb02a5ea31fc9487f84db10a8cb7abdd9c6264a960b72fb31a1574c9415dacbdfa9488a4cb28219ca83ab447a67dd720ec7532c341e99fbd2783aaadeb596d0771baee98847a71356ef1b83a14ada464a515a37f033661cb8491307f65073e88423343f4f79167834926a21394df57efe68d22929a8b987482314a3c3724436946c8540a4a4f5f949fbd22c0811e0448e77fd5423bff7214f8de12c924208e4b6aaef3440e44afb6ac898869ff01de5aea01d4e10d78ad160d5729ed8a4097ef33ef1ef5d9b1269de6c711753baa6b6f1172cb7b98df2c0bcaf63129115905ccd858e7e7eee23d393a5a8b7ce095a88a8dfb6a5b22604740bed0f1b1ef6c1c174dd3e677ca490e7c66daca2df8660f3bac81221d185581c29dbaf73bcb59d8ec1bc9759d9130cab22db74111977775e1b9ee5cd55fc7d3a3d3fad689ff48164e72e9e5471c6af8ef2aafcc98d0e727eff312516238c32e890c8342be0e5763fadbd24a8ae58c55940756622d6c999bced8b9087e7b0b3cca5b379f9bbce66c759740070635148249b9592d81a7b5ac11cd417331b7cf03e7b1f6b902c8601cfafd620f923e6f90c1e1c13d5d5958000ccfa59989c25930d0fb5df7574382061e31b9d0d4f2c8f6a36e4d8fb792ec9315d3aebc588d9399b60554655731bc5d48c39e6920d56799d5990d5138e74829fe33ab3635c37360a542eecbf7f18be80324b409e77596096db4a5560597757006d75263af4943fd1825fe0ec27525bdaa0b87bd1ddbdd8b890fe8bb10cab1c59e1b75a66f15deab8e2a4b141545f26677ba91417fdb89837cbb4cd7e3bd65a7804854512a0f084f2f85714a75c1cb220f0213f08860d4fba062b238ac3813d7db948d49b20b4a8e8f7c345b2bca7071e038d48f5bda53d79dd055eea6f523ecbd0e8e6779da8c6e25b5edcc21a559de8c419ca4c4dbf14c3241c9f2bc0690c8326f89287811b77779b671d0ba8a233bc5e272169c4ff51da8e9906cd9f8f8459009daf5780a982d9cc0c430e2cd1994b09b5a97def4bb58f654bd68c16303318e82477463a10ebebf02bbbec118b7932d34004bc59942f0dead53f9a4cfcb899dc1da5801455274d2519cd089cd8add9cc375e1f374e9c4cd98f9def5d5ccb4193890160b89ea11adce7131cc654686c828e727ac03eaecd748da8f2de82c7d5531a1e73b337d82340859de3573a9b8604741cfa97a2708aa25d7b9ed5017e6849af8ac21ab9a30165865a08"
          }
        }
      ]
    }
  ]
}
{
  "type": "micro_block_reverted",
  "version": 1,
  "previous": "91fea1bfad29ff167785b87e6813427cef3bf256fcc351c6f437d890dc308f6a",
  "epoch": 95,
  "offset": 1,
  "view_change": 0,
  "view_change_proof": null,
  "pkey": "9069a834e26b5d7eef9a196f036ad2737315d4c2f64cedd860313b45520e570aa2d2579503f22bdd4d13b8254352ef00f1667fa7effd8a702c027538fb645a767d744639f799e2bdba726964226d52fd87cbf027072ec928c87c6e0de23d2784",
  "random": {
    "rand": "a1b8cb7a20ec652aac300307202271674ff0cf50c374617dcf6ed283dc908540",
    "proof": "c3aca57d14ccaed4965255291adbb89b184479384d6353f1e5cc5f86d358943ba1c426749e7bd78e53e1f65fc13e99a9"
  },
  "solution": "d8509988e7e42eff6dc8e03023ee547905d648996f56601e022587791e338f7b",
  "timestamp": "2019-09-27T12:40:56.511676995Z",
  "transactions_range_hash": "903b58175d87ff80f25d4b695b306c359b3de4e7649dc3f11bab173ed6efe6ae",
  "sig": "abe93960881f2f6c646947f20d230997f2720c16825eef0ea71c65ade25d6d364d9b7889b5448a38f48b74f57a587faa",
  "transactions": [
    {
      "type": "coinbase_transaction",
      "block_reward": 24000000,
      "block_fee": 0,
      "gamma": "097c6efc4e4ed16a788e97f0db4e7f62efc6590bd43327efd459f240f793f7f9",
      "txouts": [
        {
          "type": "payment_output",
          "recipient": "dev19rp03dcaar0gante3jutghx44maa5yc3mxa5ayhfcpy24zl6euzslz9vyv",
          "cloaking_hint": "2e563c8ef22fafd58c41a2258d92788888cd71b0a6d1ab0909ae4a7f0b769fc4",
          "proof": {
            "vcmt": "760138113651a380e271ed361c5aac2ce220d3eff307d24b9d02a6963e7edbf2",
            "proof": "40c075bc1d1f87f07f625be88566a18ea79d1f61f34bd2f23958d6570eb2304d5ad331dc3849724bb19387a8f3fdc82b698342cc298ba000e958a5e49e35b265089bacdf43ec372c87a36846a44acf2fbb3049f62151780ae8396ce085adfe6fb82b5045af2275c0343f5d15e1961332b262714b53a752be54af0d59b307ad2e6b2d172482c02455883969814d768d651bb5126d0e7a81380014b9f00ea1950d1d1d41dce0ebf5b218753a9579c1c5ac5011f8aaf8f80f66574536c2cc31350f5173ca125f9c7e273832a4036b77659857cb9209300a385857fc282709b54f076a70678eb6a525051e7d991035311ce2b3545db4b194cb03d4fe070e8d040702c858782faf5643eee47b7f40c4b385bf2eef2b00789ecb0456a5b42098d4775166c8296fa32a412574735c0cac0f0dd1eb83b250eb88f0db533dbcb9fb8de95a1c5049c10c70a6d8d40e2060f6fa3f31f706469950408e7c3db75f880ce96833562e26f30d96bdcefbdebb91a39248469321827f36f08f941f29fd38fbe09f22cc110feddb458215c0e03362cfdccf2f17d3fbaf39e1b939d71794beedf0004116fab7336712468a41b2219c1376b6e2785dc85f52c4b63ecc184d0b12fb65381618dd2c937260196d25b99c1d800c9dc2608271e60dbe636d32c3cb1602dc03f244d96fb9732325127fa34cabffc457a4765bb2818f06a3834478d7b583ac5bca13a348700c9c1b2f9a0e8c24809420d96870241a3c08dd1c12b6acbd2dca42ea791f632af1b822d967aaaddd39b138c8edf755b01ee4deb7a5fccc8c2f4d7b3a0e4ff1a59c6c7f3ece3b42513bb7a3b96b32a0896ad176c367ee4d2b6d66327336a8080cce80d323833d4aab2dd7b5797e5636c4138806bfcf701fff230701121a99570c7a1b9d60b8caec8807e66ad44edf978d79cd9f9a7467f0b70e8709"
          },
          "payload": {
            "ag": "0293da37550b5e73d9ce523476ad8ae6c9313819a5fabcaf3d70cdf555251480",
            "ctxt": "ec6e6e010d144e8a973f654484dab4fb49e1458985385ba3606a4138dd21404aeb22cb033113ace445c1b2a4203dcb5422c658fabad7718d386272578c00528923bb15b9bd86ce5477c1bf451feb42df65312d15559ff1ffbfc6e4aa63e0703eb512d6a34cdf2d579af881c5dc3ab6ef39c1b7c4c45ce9658b55305da958d08ae89aee23bfb02a5ea31fc9487f84db10a8cb7abdd9c6264a960b72fb31a1574c9415dacbdfa9488a4cb28219ca83ab447a67dd720ec7532c341e99fbd2783aaadeb596d0771baee98847a71356ef1b83a14ada464a515a37f033661cb8491307f65073e88423343f4f79167834926a21394df57efe68d22929a8b987482314a3c3724436946c8540a4a4f5f949fbd22c0811e0448e77fd5423bff7214f8de12c924208e4b6aaef3440e44afb6ac898869ff01de5aea01d4e10d78ad160d5729ed8a4097ef33ef1ef5d9b1269de6c711753baa6b6f1172cb7b98df2c0bcaf63129115905ccd858e7e7eee23d393a5a8b7ce095a88a8dfb6a5b22604740bed0f1b1ef6c1c174dd3e677ca490e7c66daca2df8660f3bac81221d185581c29dbaf73bcb59d8ec1bc9759d9130cab22db74111977775e1b9ee5cd55fc7d3a3d3fad689ff48164e72e9e5471c6af8ef2aafcc98d0e727eff312516238c32e890c8342be0e5763fadbd24a8ae58c55940756622d6c999bced8b9087e7b0b3cca5b379f9bbce66c759740070635148249b9592d81a7b5ac11cd417331b7cf03e7b1f6b902c8601cfafd620f923e6f90c1e1c13d5d5958000ccfa59989c25930d0fb5df7574382061e31b9d0d4f2c8f6a36e4d8fb792ec9315d3aebc588d9399b60554655731bc5d48c39e6920d56799d5990d5138e74829fe33ab3635c37360a542eecbf7f18be80324b409e77596096db4a5560597757006d75263af4943fd1825fe0ec27525bdaa0b87bd1ddbdd8b890fe8bb10cab1c59e1b75a66f15deab8e2a4b141545f26677ba91417fdb89837cbb4cd7e3bd65a7804854512a0f084f2f85714a75c1cb220f0213f08860d4fba062b238ac3813d7db948d49b20b4a8e8f7c345b2bca7071e038d48f5bda53d79dd055eea6f523ecbd0e8e6779da8c6e25b5edcc21a559de8c419ca4c4dbf14c3241c9f2bc0690c8326f89287811b77779b671d0ba8a233bc5e272169c4ff51da8e9906cd9f8f8459009daf5780a982d9cc0c430e2cd1994b09b5a97def4bb58f654bd68c16303318e82477463a10ebebf02bbbec118b7932d34004bc59942f0dead53f9a4cfcb899dc1da5801455274d2519cd089cd8add9cc375e1f374e9c4cd98f9def5d5ccb4193890160b89ea11adce7131cc654686c828e727ac03eaecd748da8f2de82c7d5531a1e73b337d82340859de3573a9b8604741cfa97a2708aa25d7b9ed5017e6849af8ac21ab9a30165865a08"
          }
        }
      ]
    }
  ]
}

Pop Micro Block

Pop the last micro block. For debug purposes only.

{
  "type": "pop_micro_block"
}
{
  "type": "micro_block_popped"
}

Escrow Information

Show UTXO in the escrow,

Request:

{
  "type": "escrow_info"
}

Response:

{
  "type": "escrow_info",
  "validators": [

    {
      "network_pkey": "c4dad2cd223433429ebd4bb25e25e447c6f1d97d9ac97336a02fe0321129224a6b30d69fe6f7c29e9af1e7328e033607a91e5d732673d4b


bbbd38e666ddf86d99a9dc709513b5537d7e723349ecacdb1992c861dce8e49ac6fb329f703646985",

      "active_stake": 100000000000,
      "expired_stake": 0,
      "stakes": [
        {
          "utxo": "2cc4cd0ba92efe9ee3f55fe7253ba2d8d2bbc488c3275c293ae084e30d94a58a",
          "account_pkey": "7fLGYDXAwrD4miZaFwSQ5Ts6RRGmZheFAdhVNhu6wqGcXyJXLcn",
          "active_until_epoch": 1200,
          "is_active": true,
          "amount": 100000000000
        }
      ]
    },


  ]
}

Election Information

Request:

{
  "type": "election_info"
}

Response:

{
  "type": "election_info",
  "epoch": 1199,
  "offset": 40,
  "view_change": 0,
  "slots_count": 1000,
  "current_leader": "ba6419bc26c8505a83222815a2c0459a43a377f9331b481c522aaa2473b0b3cd48cba7fd953b51303c45e018b17a310efce926b8ac11be8904a0ac74150ee8c503b616925a6742031668b421054aba0469e6fa223131a57a5370ac630a5091b5",
}

Enable Restaking

Request:

{
  "type": "enable_restaking"
}
{
  "type": "restaking_enabled"
}

Response:

{
  "type": "disable_restaking"
}
{
  "type": "restaking_disabled"
}

Use Cases

Transaction Tracking

  1. Initiate a new transaction by using payment , secure_payment or public_payment call:
{
  "type": "secure_payment",
  "recipient": "7eAYuCBLQJNomPM7dHEmAp3Ku7H3wv76MdqpRBiuYdJseNwqcfw",
  "amount": 1,
  "payment_fee": 1000,
  "comment": "",
  "with_certificate": false
}

See Payment for details.

  1. Wait until TX is created by the Wallet:
{
  "account_id": "1",
  "type": "transaction_created",
  "tx_hash": "3de346b3c41f173b931f18bb9baf300afaa4724052c01efa008333f8a0e881d4",
  "fee": 2000,
  "outputs": [
    {
      "output_type": "payment",
      "utxo": "17c6556fbe25ccc7e7e8adb3e2000366cdef08e19d36478b5716c24778ecb3b2",
      "amount": 1,
      "comment": "",
      "recipient": "dev1cn559rq08pvxkkkwdl5xcha33ql8g73npvgxkcjl57a34f8e856smqcgac",
      "is_change": false
    },
    {
      "output_type": "payment",
      "utxo": "eb05b05c5dd4c6f972b85f5848ccaa75fc7d49cb3b10009f6559e0274e92dd16",
      "amount": 999982699,
      "comment": "Change",
      "recipient": "dev14ehru5zmyjuc64m25t8k9kqv4q95h0y20cwm5csgkpgups9e2ersmdp3e4",
      "is_change": true
    }
  ],
  "inputs": [
    "299512da5957b689b0862ef080cc64e54593ab6d1db74b426608a60ce7f1df2f",
    "ae485d68ef6dbc4b17a6ad61befbb8ce072e10341eb2f827246bd321cf8b4b07"
  ],
  "status": "created"
}

TX has been created and sent to the Node. For Snowball ( secure_payment ) transactions you will also see intermediate snowball_status notifications between secure_payment request and transaction_created response:

{
  "account_id": "1",
  "type": "snowball_status",
  "state": "pool_wait"
}
{
  "account_id": "1",
  "type": "snowball_status",
  "state": "commitment"
}
{
  "account_id": "1",
  "type": "snowball_status",
  "state": "cloaked_vals"
}
{
  "account_id": "1",
  "type": "snowball_status",
  "state": "signature"
}
{
  "account_id": "1",
  "type": "snowball_status",
  "state": "succeeded"
}
  1. Wait until TX is accepted into a mempool:
{
  "account_id": "1",
  "type": "transaction_status",
  "tx_hash": "3de346b3c41f173b931f18bb9baf300afaa4724052c01efa008333f8a0e881d4",
  "status": "accepted"
}

TX has been accepted into Node’s mempool.

  1. Wait until the transaction is added to a block:
{
  "account_id": "1",
  "type": "transaction_status",
  "tx_hash": "3de346b3c41f173b931f18bb9baf300afaa4724052c01efa008333f8a0e881d4",
  "status": "prepared",
  "epoch": 1230,
  "offset": 56
}

TX has been added to the blockchain.

  1. Wait until TX is finalized by consensus:
{
  "account_id": "1",
  "type": "transaction_status",
  "tx_hash": "3de346b3c41f173b931f18bb9baf300afaa4724052c01efa008333f8a0e881d4",
  "status": "committed",
  "epoch": 1230,
}

TX has been finalized by PoS consensus.