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
- Node is up and running
- Any WebSocket client library or a browser.
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:
- Remote Procedure Calls (RPC) from a client to the server.
- 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:
stg
- MainNetstt
- TestNetstr
- DevNetdev
- tests
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:
- Locked accounts doesn’t store sensitive information in RAM, such as the secret key, balance, history, etc. Locked accounts can’t create transactions and spend tokens. Since the secret key is not loaded, a locked account cannot receive notifications about incoming payments.
- Unlocked accounts have the secret key loaded into memory. Unlocked accounts can create transactions, receive notification about incoming payments and perform other actions. A password is needed to to unlock an account. Accounts are not locked automatically after a timeout but we may add this feature in the future.
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
}
last_public_address_id
- ID of the last created public address. Remember this number if you want to recover public addresses.
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
}
last_public_address_id
(optional) - ID of the last created public address if any.
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
}
payment
- balance of PaymentUTXO.public_payment
- balance of PublicPaymentUTXO.stake
- balance of StakeUTXO.is_final
- true if this state has been finalized by consensus.current
- total amount, including in-flight transactions and locked UTXO.available
- amount available to spent.
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
}
type
payment
- cloaked outputs, but without using Snowball.secure_payment
- cloaked outputs + Snowball (recommended).public_payment
- Public (uncloaked) outputs.
recipient
- recipient’s address.amount
- amount in μSTG.payment_fee
- desired fee per created UTXO.comment
- a commentary, up to 880 chars.with_certificate
- generate a proof of payment.
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"
}
tx_hash
- a hash of created transaction.fee
- the total fee for all outputs.output_type
:payment
public_payment
stake
(see Stake)
amount
- amount in μSTG.comment
- a commentary.rvalue
- saved encryption key (only if with_certificate).is_change
- the UTXO is a changestatus
- transaction status:create
accepted
- accepted into the local mempool.rejected
- rejected by the local mempool.prepared
- added to the blockchain.committed
- finalized by the consensus.conflicted
- rejected because of conflict with another TX.
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"
}
rvalue
- UTXO encryption key, created bypayment
call when called withwith_certificate
option. See Payment for details.
Response:
{
"type": "certificate_valid",
"epoch": 1181,
"block_hash": "5e8a4429338ac775b40472d0cee6a439cbf0542c966bca9a089f1a84bdb2e680",
"is_final": true,
"timestamp": "2019-08-21T13:05:53.045364692Z",
"amount": 100
}
epoch
- an epoch number when this UTXO was added to the blockchain.block_hash
- a hash of the block.is_final
- this block has been finalized.timestamp
- a timestamp from the block.amount
- decrypted amount.
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
}
epoch
,offset
- starting epoch and offset.
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
- Initiate a new transaction by using
payment
,secure_payment
orpublic_payment
call:
{
"type": "secure_payment",
"recipient": "7eAYuCBLQJNomPM7dHEmAp3Ku7H3wv76MdqpRBiuYdJseNwqcfw",
"amount": 1,
"payment_fee": 1000,
"comment": "",
"with_certificate": false
}
See Payment for details.
- 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"
}
- 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.
- 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.
- 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.