FIO Relic

Table of Contents

Overview

FIO Relic is an application which connects to to the FIO Chain node to receive all transaction data, transforms this data into FIO Protocol specific data, inserts int into a relational database and makes the content available via HTTP API. The following document is intended to be functional specification for the FIO Relic System.

Components

Application Components

Data Pipeline

Data Pipeline (FIO.Chronicle) is a software application designed to connect to FIO Chain State History, receive the data and transform it to JSON. It is a fork of the EOSChronicle project.

  • receiver – a new receiver will be made that will meet RELIC specific needs. the receiver will process only relic relevant events from the fio state history node.

  • decoder – a decoder component will be made that meets relic specific needs, converting relic bin data collected and queued from history node receiver into json to be consumed by a relic specific exporter.

  • exporter – a new exporter will be made that will export data directly into the relic Postgres relational database.

Database

Postgres Relational Database to store FIO Chain information.

API

HTTP server to return information from database.

Push Notification System

This component will be developed in Phase 2.

This component allows an API user to subscribe to specific events and then receive notification if such event has occurred during data transformation.

Examples

  • “Notify supplied webhook on every new FIO Domain registration”

  • “Notify when a FIO Request for specific FIO Handle is observed”

Specification

Deployment Requirements

  • FIO Relic will likely be run on the same environment as the FIO Chain node. Therefore, it should be compatible with that environment

  • It should be very easy to configure and deploy FIO Relic as a product.

    • Avoid:

      • Long installation instructions

      • Requiring install of multiple components which may have their own versions and dependancies

    • Consider:

      • Clear instructions on installation and dependency requirementgs

      • Single repo

      • Single install and run script

Data Model

blocks

Add only. Every block is a new entry.

Field

Description

Relationship

Field

Description

Relationship

number

FROM CHAIN DATA Block number as generated by FIO Node

transactions → block_num

id

FROM CHAIN DATA Block ID as generated by FIO Node

 

timestamp

FROM CHAIN DATA Timestamp as generated by FIO Node

 

producer

FROM CHAIN DATA Account name of producer which produced the block

 

schedule_version

FROM CHAIN DATA Version of BP schedule

 

transactions

Add only. Every transaction is a new entry.

Field

Description

Relationship

Field

Description

Relationship

block_number

FROM CHAIN DATA Block which contained this transaction

blocks → number

id

FROM CHAIN DATA Transaction id

traces → transaction_id

action_account

FROM CHAIN DATA Account name for action

 

action_name

FROM CHAIN DATA Action name

 

account

FROM CHAIN DATA Account which executed the transaction

 

tpid

FROM CHAIN DATA TPID which was recorded in tranaction

 

fee

FROM CHAIN DATA FIO Chain fee paid for this transaction

 

request_data

FROM CHAIN DATA Raw request data for primary trace

 

response_data

FROM CHAIN DATA Raw response data for primary trace

 

status

FROM CHAIN DATA Transaction status

 

traces

Add only. Every trace is a new entry.

Field

Description

Relationship

Field

Description

Relationship

id

GENERATED Trace ID - generated.

 

transaction_id

FROM CHAIN DATA Transaction ID

transactions → id

receiver

FROM CHAIN DATA Receiver of trace

 

action_ordinal

FROM CHAIN DATA Sequential order of trace in transaction

 

action_account

FROM CHAIN DATA Account name for trace

 

action_name

FROM CHAIN DATA Action name fro trace

 

request_data

FROM CHAIN DATA Raw request data for trace

 

accounts

Add only. Every account created is a new entry.

Field

Description

Relationship

Field

Description

Relationship

account

FROM CHAIN DATA Account name

account_activity → account

domains → account

handles → account

token_transfers → payer_account

token_transfers → payee_account

token_staking → staker_account

fio_requests → payee_account

fio_requests → payer_account

fio_data → payee_account

fio_data → payer_account

public_key

FROM CHAIN DATA Primary public key

 

timestamp

FROM CHAIN DATA Block timestamp of when account was created

 

account_activity

Add only. Every activity is a new entry.

Field

Description

Relationship

Field

Description

Relationship

account

FROM CHAIN DATA Account name

accounts → account

transaction_id

FROM CHAIN DATA Transaction ID

transactions → id

type

DEFINED BY RULES Type of activity. Options:

  • sender

  • receiver

 

domains

Add and update. Represents current state of domains. Will be updated every time domain info changes. Records will not be removed, just marked burned.

Field

Description

Relationship

Field

Description

Relationship

domain

FROM CHAIN DATA Domain name

domain_activity → domain

account

FROM CHAIN DATA DEFINED BY RULES Account name of current owner

accounts → account

is_public

FROM CHAIN DATA Is domain public

 

expiration

FROM CHAIN DATA Timestamp of domain expiration

 

status

DEFINED BY RULES Current status of domain. Options:

  • active

  • burnt

 

domain_activity

Add only. Every activity is a new entry

Field

Description

Relationship

Field

Description

Relationship

domain

FROM CHAIN DATA Domain name

domains → domain

transaction_id

FROM CHAIN DATA Transaction ID

transactions → id

type

DEFINED BY RULES Type of activity. Options:

  • register

  • renew

  • transfer

  • wrap

  • unwrap

  • auto_burn

  • public

  • non-public

 

handles

Add and update. Represents current state of handles. Will be updated every time handle info changes. Records will not be removed, just marked burned.

Field

Description

Relationship

Field

Description

Relationship

handle

FROM CHAIN DATA Handle name

handle_activity → handle

pub_addresses → handle

nft_signatures → handle

fio_requests → payer_handle

fio_requests → payee_handle

fio_data → payer_handle

fio_data → payee_handle

domain

DEFINED BY RULES Domain on which handle is registered. Right of @ in user@domain

domains → domain

account

FROM CHAIN DATA Account name of current owner

accounts → account

encryption_key

FROM CHAIN DATA Encryption public key

 

encryption_key_set

DEFINED BY RULES Defines if encryption key was specifically set. Options:

  • false (default)

  • true

 

bundled_tx

FROM CHAIN DATA DEFINED BY RULES Bundled tx count

 

expiration

FROM CHAIN DATA DEFINED BY RULES Timestamp of handle expiration

 

status

DEFINED BY RULES Current status of handle. Options:

  • active

  • burnt

 

handle_activity

Add only. Every activity is a new entry

Field

Description

Relationship

Field

Description

Relationship

handle

FROM CHAIN DATA Handle name

handles → handle

transaction_id

FROM CHAIN DATA Transaction ID

transactions → id

type

DEFINED BY RULES Type of activity. Options:

  • register

  • renew

  • transfer

  • add_bundles

  • add_pubbadd

  • rem_pubbadd

  • rem_all_pubbadd

  • add_nft

  • rem_nft

  • rem_all_nft

  • upd_encryptkey

  • self_burn

  • new_request

  • cancel_request

  • record_obt

 

pub_addresses

Add, update, delete. Represents current state of mapped public addresses. Will be updated every time mapping changes. Records will be removed if needed.

Field

Description

Relationship

Field

Description

Relationship

handle

FROM CHAIN DATA Handle name

handles → handle

chain_code

FROM CHAIN DATA Chain code

 

token_code

FROM CHAIN DATA Token code

 

public_address

FROM CHAIN DATA Public Address

 

nft_signatures

Add, update, delete. Represents current state of NFT signatures. Will be updated every time signatures are changed. Records will be removed if needed.

Field

Description

Relationship

Field

Description

Relationship

handle

FROM CHAIN DATA Handle name

handles → handle

chain_code

FROM CHAIN DATA Chain code

 

contract_address

FROM CHAIN DATA Contract address

 

token_id

FROM CHAIN DATA Token ID

 

url

FROM CHAIN DATA url

 

hash

FROM CHAIN DATA hash

 

metadata

FROM CHAIN DATA metadata

 

token_transfers

Add only. Every transfer is a new entry. Includes internal transfers.

Field

Description

Relationship

Field

Description

Relationship

payer_account

FROM CHAIN DATA DEFINED BY RULES Account of payer (sender)

accounts → account

payee_account

FROM CHAIN DATA DEFINED BY RULES Account of payee (receiver)

accounts → account

transaction_id

FROM CHAIN DATA Transaction ID

transactions → id

amount

FROM CHAIN DATA DEFINED BY RULES Token amount in FIO

 

type

DEFINED BY RULES Type of transfer. Options:

  • transfer

  • transfer_locked

  • blockchain_fee

  • tpid_reward

  • staking_reward

  • bp_reward

  • foundation_reward

  • oracle_fee

  • unwrap

  • token_mint

  • wrap

  • retire

 

memo

FROM CHAIN DATA Memo in transfer

 

token_staking

Add only. Every stake or unstake is a new entry. Includes internal transfers.

Field

Description

Relationship

Field

Description

Relationship

staker_account

FROM CHAIN DATA Account of staker

accounts → account

transaction_id

FROM CHAIN DATA Transaction ID

transactions → id

amount

FROM CHAIN DATA DEFINED BY RULES Token amount in FIO, unstake will be negative

 

fio_requests

Add and update. Represents current state of requests. Will be updated every time request status changes. Records will not be removed.

Field

Description

Relationship

Field

Description

Relationship

id

FROM CHAIN DATA FIO Request ID

fio_data → request_id

payee_handle

FROM CHAIN DATA Handle of payer

handles → handle

payer_handle

FROM CHAIN DATA Handle of payee

handles → handle

content

FROM CHAIN DATA Encrypted blob

 

payee_pub_key

FROM CHAIN DATA Public Key of payee

 

payer_pub_key

FROM CHAIN DATA Public Key of payer

 

status

FROM CHAIN DATA DEFINED BY RULES Status of request. Options:

  • pending

  • cancelled

  • sent_to_blockchain

 

transaction_id

FROM CHAIN DATA Transaction ID

transactions → id

fio_data

Add and update. Represents current state of FIO Data. Will be updated every time request status changes. Records will not be removed.

Field

Description

Relationship

Field

Description

Relationship

request_id

FROM CHAIN DATA FIO Request ID (optional)

fio_requests → id

payee_handle

FROM CHAIN DATA Handle of payer

handles → handle

payer_handle

FROM CHAIN DATA Handle of payee

handles → handle

content

FROM CHAIN DATA Encrypted blob

 

payee_pub_key

FROM CHAIN DATA Public Key of payee

 

payer_pub_key

FROM CHAIN DATA Public Key of payer

 

status

FROM CHAIN DATA Status of data. Currently always “sent_to_blockchain”.

 

transaction_id

FROM CHAIN DATA Transaction ID

transactions → id

Parsing Rules

The parsing rules below are triggered by any of the following:

  • block

  • transaction

  • trace

  • specific account and name inside traceaction_tracesact. It will be presented as Trigger: action_account:action:name, e.g. Trigger: eosio:newaccount

  • table deltas

and are organized by defining the table where record needs to be added as well as data source, typically from the trace.

Please pay attention to sequence of traces to accommodate relationships, e.g. when transferring tokens to a new account, the account has to be inserted into accounts table, before transfer is recorded.

Trigger: every block

Table: blocks NEW RECORD

Field

Source Data

Field

Source Data

number

block_num

id

block_id

timestamp

block_timestamp

producer

producer

schedule_version

schedule_version

Trigger: every trace where action_ordinal = 1

Table: transactions NEW RECORD

Field

Source Data

Field

Source Data

block_number

block_num

id

traceid

action_account

traceaction_tracesactaccount

action_name

traceaction_tracesactname

account

traceaction_tracesactauthorizationactor

tpid

traceaction_tracesactdatatpid

fee

responsefee_collected / 1000000000

request_data

traceaction_tracesactdata

response_data

response

status

tracestatus

Table: account_activity ​NEW RECORD

Field

Source Data

Field

Source Data

account

traceaction_tracesactdataactor

transaction_id

Transaction ID

type

“sender”

Trigger: every trace where action_ordinal > 1

Table: traces NEW RECORD

Field

Source Data

Field

Source Data

id

Trace id. Auto-generated ID or transaction_id + action_ordinal, e.g. 770989df18fac96e48ca03d6702991d4462bebacceab8cf6b389507e998ca7fe-2

transaction_id

traceid

receiver

traceaction_tracesreceiver

action_ordinal

traceaction_tracesaction_ordinal

action_account

traceaction_tracesactaccount

action_name

traceaction_tracesactname

request_data

traceaction_tracesactdata

Trigger: fio.address:bind2eosio

Table: accounts NEW RECORD

Field

Source Data

Field

Source Data

account

traceaction_tracesactdataaccount

public_key

traceaction_tracesactdataclient_key

timestamp

block_timestamp

Table: account_activity NEW RECORD

Field

Source Data

Field

Source Data

account

traceaction_tracesactdataaccount

transaction_id

traceid

type

“receiver”

Trigger: fio.token:trnsfiopubky and action_ordinal = 1

Table: token_transfers NEW RECORD

Field

Source Data

Field

Source Data

payer_account

traceaction_tracesactdataactor

payee_account

traceaction_tracesactdatapayee_public_key hashed to account

transaction_id

traceid

amount

traceaction_tracesactdataamount / 1000000000

type

“transfer”

memo

 

Trigger: fio.token:trnsloctoks and action_ordinal = 1

Table: token_transfers NEW RECORD

Field

Source Data

Field

Source Data

payer_account

traceaction_tracesactdataactor

payee_account

traceaction_tracesactdatapayee_public_key hashed to account

transaction_id

traceid

amount

traceaction_tracesactdataamount / 1000000000

type

“transfer_locked”

memo

 

Trigger: fio.token:transfer and receiver = fio.token

Table: token_transfers NEW RECORD

Field

Source Data

Field

Source Data

payer_account

traceaction_tracesactdatafrom

payee_account

traceaction_tracesactdatato

transaction_id

traceid

amount

traceaction_tracesactdataquantity (strip " FIO")

type

If memo:FIO fee* type is “blockchain_fee”

If memo:Paying TPID from treasury. type is “tpid_reward”

If memo:Paying Staking Rewards type is “staking_reward”

If memo:Paying producer from treasury. type is “bp_reward”

If memo:Paying foundation from treasury. type is “foundation_reward”

If memo:Token Wrapping Oracle Fee type is “oracle_fee”

If memo:Token Unwrapping type is “unwrap”

memo

traceaction_tracesactdatamemo

Trigger: fio.token:issue and receiver = fio.token

Table: token_transfers NEW RECORD

Field

Source Data

Field

Source Data

payer_account

“eosio”

payee_account

traceaction_tracesactdatato

transaction_id

traceid

amount

traceaction_tracesactdataquantity (strip " FIO")

type

“token_mint”

memo

traceaction_tracesactdatamemo

Trigger: fio.token:wraptokens and action_ordinal = 1

Table: token_transfers NEW RECORD

Field

Source Data

Field

Source Data

payer_account

traceaction_tracesactdataactor

payee_account

“fio.oracle"

transaction_id

traceid

amount

traceaction_tracesactdataamount / 1000000000

type

“wrap”

memo

 

Trigger: fio.token:stakefio and action_ordinal = 1

Table: token_staking NEW RECORD

Field

Source Data

Field

Source Data

staker_account

traceaction_tracesactdataactor

transaction_id

traceid

amount

traceaction_tracesactdataamount / 1000000000

Trigger: fio.token:retire and action_ordinal = 1

Table: token_transfers ​NEW RECORD

Field

Source Data

Field

Source Data

payer_account

traceaction_tracesactdataactor

payee_account

 

transaction_id

traceid

amount

traceaction_tracesactdataquantity / 1000000000

type

“retire”

memo

traceaction_tracesactdatamemo

Trigger: fio.token:unstakefio and action_ordinal = 1

Table: token_staking NEW RECORD

Field

Source Data

Field

Source Data

staker_account

traceaction_tracesactdataactor

transaction_id

traceid

amount

Negative of (traceaction_tracesactdataamount / 1000000000)

Trigger: fio.address:regdomain and action_ordinal = 1

Table: domains NEW RECORD or update (if exists based on domain)

Field

Source Data

Field

Source Data

domain

traceaction_tracesactdatafio_domain

account

traceaction_tracesactdataowner_fio_public_key hashed to account

is_public

“false”

expiration

responseexpiration

status

“active"

Table: domain_activity NEW RECORD

Field

Source Data

Field

Source Data

domain

traceaction_tracesactdatafio_domain

transaction_id

traceid

type

“register”

Table: account_activity NEW RECORD

Only insert if traceaction_tracesactdataactor is not traceaction_tracesactdataowner_fio_public_key hashed to account.

Field

Source Data

Field

Source Data

account

traceaction_tracesactdataowner_fio_public_key hashed to account

transaction_id

traceid

type

“receiver”

Trigger: fio.address:renewdomain and action_ordinal = 1

Table: domains update

Field

Source Data

Field

Source Data

domain

traceaction_tracesactdatafio_domain

expiration

responseexpiration

Table: domain_activity NEW RECORD

Field

Source Data

Field

Source Data

domain

traceaction_tracesactdatafio_domain

transaction_id

traceid

type

“renew”

Trigger: fio.address:xferdomain and action_ordinal = 1

Table: domains update

Field

Source Data

Field

Source Data

domain

traceaction_tracesactdatafio_domain

account

traceaction_tracesactdatanew_owner_fio_public_key hashed to account

Table: domain_activity NEW RECORD

Field

Source Data

Field

Source Data

domain

traceaction_tracesactdatafio_domain

transaction_id

traceid

type

“transfer”

Table: account_activity NEW RECORD

Field

Source Data

Field

Source Data

account

traceaction_tracesactdatanew_owner_fio_public_key hashed to account

transaction_id

traceid

type

“receiver”

Trigger: fio.address:setdomainpub and action_ordinal = 1

Table: domains update

Field

Source Data

Field

Source Data

domain

traceaction_tracesactdatafio_domain

is_public

traceaction_tracesactdatais_public (1 - true; 0 - false)

Table: domain_activity NEW RECORD

Field

Source Data

Field

Source Data

domain

traceaction_tracesactdatafio_domain

transaction_id

traceid

type

is_public: 1 type is “public”

is_public: 0 type is “non-public”

Trigger: fio.address:wrapdomain and action_ordinal = 1

Table: domains update

Field

Source Data

Field

Source Data

domain

traceaction_tracesactdatafio_domain

account

“fio.oracle”

Table: domain_activity NEW RECORD

Field

Source Data

Field

Source Data

domain

traceaction_tracesactdatafio_domain

transaction_id

traceid

type

“wrap”

Table: account_activity NEW RECORD

Field

Source Data

Field

Source Data

account

“fio.oracle”

transaction_id

traceid

type

“receiver”

Trigger: fio.address:xferescrow

Table: domains update

Field

Source Data

Field

Source Data

domain

traceaction_tracesactdatafio_domain

account

traceaction_tracesactdatapublic_key hashed to account

Table: domain_activity NEW RECORD

Field

Source Data

Field

Source Data

domain

traceaction_tracesactdatafio_domain

transaction_id

traceid

type

“unwrap”

Table: account_activity ​NEW RECORD

Field

Source Data

Field

Source Data

account

traceaction_tracesactdatapublic_key hashed to account

transaction_id

traceid

type

“receiver”

Field

Source Data

Field

Source Data

account

“fio.oracle”

transaction_id

traceid

type

“sender”

Trigger: fio.address:regaddress and action_ordinal = 1

Table: handles NEW RECORD or update (if exists based on handle)

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

domain

Domain from (traceaction_tracesactdatafio_address) split by @ and take second param.

account

traceaction_tracesactdataowner_fio_public_key hashed to account

encryption_key

traceaction_tracesactdataowner_fio_public_key

encryption_key_set

“false”

bundled_tx

“100”

expiration

responseexpiration

status

“active"

Table: handle_activity NEW RECORD

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

transaction_id

traceid

type

“register”

Table: account_activity NEW RECORD

Only insert if traceaction_tracesactdataactor is not traceaction_tracesactdataowner_fio_public_key hashed to account.

Field

Source Data

Field

Source Data

account

traceaction_tracesactdataowner_fio_public_key hashed to account

transaction_id

traceid

type

“receiver”

Table: pub_addresses NEW RECORD

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

chain_code

“FIO”

token_code

“FIO”

public_address

traceaction_tracesactdataowner_fio_public_key

Trigger: fio.address:renewaddress and action_ordinal = 1

Table: handles update

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

bundled_tx

Increment current value by “100”

expiration

responseexpiration

Table: handle_activity NEW RECORD

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

transaction_id

traceid

type

“renew”

Trigger: fio.address:xferaddress and action_ordinal = 1

Table: handles update

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

account

traceaction_tracesactdatanew_owner_fio_public_key hashed to account

encryption_key

traceaction_tracesactdatanew_owner_fio_public_key

encryption_key_set

“false”

Table: handle_activity NEW RECORD

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

transaction_id

traceid

type

“transfer”

Table: account_activity ​NEW RECORD

Field

Source Data

Field

Source Data

account

traceaction_tracesactdatanew_owner_fio_public_key hashed to account

transaction_id

traceid

type

“receiver”

Table: pub_addresses DELETE and NEW RECORD

Remove all objects matching in traceaction_tracesactdatafio_address and add:

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

chain_code

“FIO”

token_code

“FIO”

public_address

traceaction_tracesactdatanew_owner_fio_public_key

Table: nft_signatures DELETE

Remove all objects matching in traceaction_tracesactdatafio_address

Trigger: fio.address:addbundles and action_ordinal = 1

Table: handles update

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

bundled_tx

Increment current value by traceaction_tracesactdatabundle_sets * 100

Table: handle_activity NEW RECORD

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

transaction_id

traceid

type

“add_bundles”

Trigger: fio.address:addaddress and action_ordinal = 1

Table: handle_activity NEW RECORD

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

transaction_id

traceid

type

“add_pubbadd”

Table: pub_addresses NEW RECORD or update (if exists)

For each object in traceaction_tracesactdatapublic_addresses update or insert new record

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

chain_code

traceaction_tracesactdatapublic_addresseschain_code

token_code

traceaction_tracesactdatapublic_addressestoken_code

public_address

traceaction_tracesactdatapublic_addressespublic_address

Table: handles update

Update only if encryption_key_set = false and chain_code = “FIO” and (token_code = “FIO” or token_code = “*”)

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

encryption_key

traceaction_tracesactdatapublic_addressespublic_address

Trigger: fio.address:remaddress and action_ordinal = 1

Table: handle_activity NEW RECORD

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

transaction_id

traceid

type

“rem_pubbadd”

Table: pub_addresses DELETE

Remove each object in traceaction_tracesactdatapublic_addresses which matches

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

chain_code

traceaction_tracesactdatapublic_addresseschain_code

token_code

traceaction_tracesactdatapublic_addressestoken_code

public_address

traceaction_tracesactdatapublic_addressespublic_address

Trigger: fio.address:remalladdr and action_ordinal = 1

Table: handle_activity NEW RECORD

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

transaction_id

traceid

type

“rem_all_pubbadd”

Table: pub_addresses DELETE

Remove all objects matching in traceaction_tracesactdatafio_address

Trigger: fio.address:addnft and action_ordinal = 1

Table: handle_activity NEW RECORD

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

transaction_id

traceid

type

“add_nft”

Table: nft_signatures NEW RECORD or update (if exists)

For each object in traceaction_tracesactdatanfts update or insert new record

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

chain_code

traceaction_tracesactdatanfts-> chain_code

contract_address

traceaction_tracesactdatanftscontract_address

token_id

traceaction_tracesactdatanftstoken_id

url

traceaction_tracesactdatanftsurl

hash

traceaction_tracesactdatanftshash

metadata

traceaction_tracesactdatanftsmetadata

Trigger: fio.address:remnft and action_ordinal = 1

Table: handle_activity NEW RECORD

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

transaction_id

traceid

type

“rem_nft”

Table: nft_signatures DELETE

Remove each object in traceaction_tracesactdatanfts which matches

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

chain_code

traceaction_tracesactdatanfts-> chain_code

contract_address

traceaction_tracesactdatanftscontract_address

token_id

traceaction_tracesactdatanftstoken_id

url

traceaction_tracesactdatanftsurl

hash

traceaction_tracesactdatanftshash

metadata

traceaction_tracesactdatanftsmetadata

Trigger: fio.address:remallnfts and action_ordinal = 1

Table: handle_activity NEW RECORD

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

transaction_id

traceid

type

“rem_all_nft”

Table: nft_signatures DELETE

Remove all objects matching in traceaction_tracesactdatafio_address

Trigger: fio.address:updcryptkey and action_ordinal = 1

Table: handles update

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

encryption_key

traceaction_tracesactdataencrypt_public_key

encryption_key_set

“true”

Table: handle_activity NEW RECORD

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

transaction_id

traceid

type

“upd_encryptkey”

Trigger: fio.address:regdomadd and action_ordinal = 1

Execute same as for trigger fio.address:regdomain and fio.address:regaddress except insert only once into account_activity with type “receiver”.

Trigger: fio.address:burnaddress and action_ordinal = 1

Table: handles update

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

status

“burnt”

Table: handle_activity NEW RECORD

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

transaction_id

traceid

type

“self_burn”

Table: pub_addresses DELETE

Remove all objects matching in traceaction_tracesactdatafio_address

Table: nft_signatures DELETE

Remove all objects matching in traceaction_tracesactdatafio_address

Trigger: fio.address:newfundsreq and action_ordinal = 1

Table: handle_activity NEW RECORD

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatapayee_fio_address

transaction_id

traceid

type

“new_request”

Table: account_activity NEW RECORD

Field

Source Data

Field

Source Data

account

traceaction_tracesactdataactor

transaction_id

traceid

type

“receiver”

Field

Source Data

Field

Source Data

account

Look-up handlesaccount where handle is traceaction_tracesactdatapayer_fio_address

transaction_id

traceid

type

“receiver”

Table: fio_requests NEW RECORD

Field

Source Data

Field

Source Data

id

responsefio_request_id

payee_handle

traceaction_tracesactdatapayee_fio_address

payer_handle

traceaction_tracesactdatapayer_fio_address

content

traceaction_tracesactdatacontent

payee_pub_key

Look-up accountsencrypt_key where account is owner of traceaction_tracesactdatapayee_fio_address

payer_pub_key

Look-up accountsencrypt_key where account is owner of traceaction_tracesactdatapayer_fio_address

status

“pending”

transaction_id

traceid

Trigger: fio.address:cancelfndreq and action_ordinal = 1

Table: handle_activity NEW RECORD

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

transaction_id

traceid

type

“cancel_request”

Table: fio_requests UPDATE

Field

Source Data

Field

Source Data

id

traceaction_tracesactdatafio_request_id

status

“cancelled”

Trigger: fio.address:recordobt and action_ordinal = 1

Table: handle_activity NEW RECORD

Field

Source Data

Field

Source Data

handle

traceaction_tracesactdatafio_address

transaction_id

traceid

type

“record_obt”

Table: account_activity NEW RECORD

Field

Source Data

Field

Source Data

account

traceaction_tracesactdataactor

transaction_id

traceid

type

“receiver”

Field

Source Data

Field

Source Data

account

Look-up handlesaccount where handle is traceaction_tracesactdatapayer_fio_address

transaction_id

traceid

type

“receiver”

Table: fio_data NEW RECORD

Field

Source Data

Field

Source Data

request_id

traceaction_tracesactdatafio_request_id

payee_handle

traceaction_tracesactdatapayee_fio_address

payer_handle

traceaction_tracesactdatapayer_fio_address

content

traceaction_tracesactdatacontent

payee_pub_key

Look-up accountsencrypt_key where account is owner of traceaction_tracesactdatapayee_fio_address

payer_pub_key

Look-up accountsencrypt_key where account is owner of traceaction_tracesactdatapayer_fio_address

status

“sent_to_blockchain”

transaction_id

traceid

Table: fio_requests UPDATE

Update only if traceaction_tracesactdatafio_request_id is present

Field

Source Data

Field

Source Data

id

traceaction_tracesactdatafio_request_id

status

“sent_to_blockchain”

Trigger: Table Deltas: added:false and kvo->table:domains

Secondary conditions (all must be true):

  • There must be a transaction in the block_num which has action_name: burnexpired

  • is_public for kvovaluename in domains table has not changed

  • expiration for kvovaluename in domains table has not changed

Table: domains update

Field

Source Data

Field

Source Data

domain

kvovaluename

status

“burnt”

Table: domain_activity NEW RECORD

Field

Source Data

Field

Source Data

domain

kvovaluename

transaction_id

transaction id of transaction with action_name: burnexpired

type

“auto_burn”

Trigger: Table Deltas: added:false and kvo->table:fionames

Secondary conditions (all must be true):

  • There must be a transaction in the block_num which has action_name: burnexpired and its traces do not have a trace with action_name: burnaddress and action_ordinal = 1

  • pubaddreses has not changed

  • bundlecount has not changed

  • encryoption_key has not changed

Table: handles update

Field

Source Data

Field

Source Data

handle

kvovaluename

status

“burnt”

Table: handle_activity NEW RECORD

Field

Source Data

Field

Source Data

handle

kvovaluename

transaction_id

transaction id of transaction with action_name: burnexpired

type

“auto_burn”

API

/get_blocks

Returns block information.

Request

Parameter

Description

Parameter

Description

time_start

OPTIONAL Filters block by timestamp

time_end

OPTIONAL Filters block by timestamp

producer

OPTIONAL Filters block by producer

sort

OPTIONAL Sorting:

  • block_num_asc (default)

  • block_num_desc

  • timestamp_asc (default)

  • timestamp_desc

Query

Return records from blocks which match all request parameters.

Sort by:

  • block_num_asc: blocksnumber ASC

  • block_num_desc: blocksnumber DESC

  • timestamp_asc: blockstimestamp ASC

  • timestamp_desc: blockstimestamp DESC

Response

Group

Field

Source Data

Group

Field

Source Data

blocks

number

blocksnumber

blocks

id

blocksid

blocks

timestamp

blockstimestamp

blocks

producer

blocksproducer

blocks

schedule_version

blocksschedule_version

pagination

limit

Supplied limit

pagination

offset

Supplied offset

pagination

total_records

Total number of transactions which meet the criteria

pagination

next_offset

Offset to supply for next set of records: supplied offset + limit

pagination

previous_offset

Offset to supply for previous set of records: supplied offset - limit

Example
{ "blocks": [ { "number": "2", "id": "00000002953a8ab87a1855c0c40786e6a910a86cb2dd160f181418d05d233ea7", "timestamp": "2020-03-25T00:05:21.000", "producer": "eosio", "schedule_version": "1" } ], "pagination": { "limit": 100, "offset": 0, "total_records": 1, "next_offset": "", "previous_offset": "" } }

/get_transactions

Returns transaction information.

Request

Parameter

Description

Parameter

Description

time_start

OPTIONAL Filters block by timestamp

time_end

OPTIONAL Filters block by timestamp

block_number

OPTIONAL Filters block by block_number

action_account

OPTIONAL Filters block by action_account

action_name

OPTIONAL Filters block by action_name

impacted_account

OPTIONAL Filters by impacted account (see below)

impacted_account_direction

OPTIONAL Filters by impacted account direction (see below)

  • both (default)

  • sender

  • receiver

include_traces

OPTIONAL If true include traces

  • true (default)

  • false

sort

OPTIONAL Sorting of results:

  • timestamp_asc (default)

  • timestamp_desc

limit

OPTIONAL Number of results to include. Default: 100

offset

OPTIONAL Offset for pagination. Default: 0

Query

Return records from transactions which match all request parameters except:

  • impacted_account is supplied:

    • impacted_account_direction is supplied and is “sender”

      • Records from transactions where impacted_account = account_activity->account and type is “sender”

    • impacted_account_direction is supplied and is “receiver”

      • Records from transactions where impacted_account = account_activity->account and type is “receiver”

    • impacted_account_direction is supplied and is “both” or not supplied

      • Records from transactions where impacted_account = account_activity->account

    • Please note: a single transaction can be affecting the same account as sender and receiver! In this case the same transaction should be returned twice.

Also include related data from:

  • blocks

    • timestamp

  • traces

    • All traces for transaction

  • token_transfers

    • id matches transaction_id

    • Include

      • payer_account

      • payee_account

      • amount

      • type

      • memo

  • domain_activity

    • id matches transaction_id

    • Include

      • domain

      • type

  • handle_activity

    • id matches transaction_id

    • Include

      • handle

      • type

  • token_staking

    • id matches transaction_id

    • Include

      • staker_account

      • amount

  • fio_requests

    • id matches transaction_id

    • Include

      • id

      • payee_handle

      • payer_handle

      • content

      • payee_pub_key

      • payer_pub_key

      • status

  • fio_data

    • id matches transaction_id

    • Include

      • request_id

      • payee_handle

      • payer_handle

      • content

      • payee_pub_key

      • payer_pub_key

      • status

Sort by:

  • timestamp_asc: blockstimestamp ASC

  • timestamp_desc: blockstimestamp DESC

Response

Group

Field

Source Data

Group

Field

Source Data

transactions

id

transactionsid

transactions

block_number

transactionsblock_number

transactions

timestamp

blockstimestamp

transactions

action_account

transactionsaction_account

transactions

action_name

transactionsaction_name

transactions

sender_account

account_activityaccount where type is “sender”

transactions

receiver_account

account_activityaccount where type is “receiver”

transactions

impacted_account_direction

See impacted_account above:

  • “sender”

  • “receiver”

Blank if impacted_account not supplied.

transactions

tpid

transactionstpid

transactions

fee

transactionsfee

transactions

request_data

transactionsrequest_data

transactions

request_data

transactionsresponse_data

transactions

status

transactionsstatus

transactions

type_specific_data

This element contains data which is specific to certain types of transactions from the joint tables:

  • token_transfers

    • payer_account

    • payee_account

    • amount

    • type

    • memo

  • domain_activity

    • domain

    • type

  • handle_activity

    • handle

    • type

  • token_staking

    • staker_account

    • amount

  • fio_requests

    • payee_handle

    • payer_handle

    • content

    • payee_pub_key

    • payer_pub_key

    • status

  • fio_data

    • payee_handle

    • payer_handle

    • content

    • payee_pub_key

    • payer_pub_key

    • status

transactions

traces array

traces where tracestransaction_id matches.

For each trace:

  • id

  • receiver

  • action_ordinal

  • action_account

  • action_name

  • request_data

pagination

limit

Supplied limit

pagination

offset

Supplied offset

pagination

total_records

Total number of transactions which meet the criteria

pagination

next_offset

Offset to supply for next set of records: supplied offset + limit

pagination

previous_offset

Offset to supply for previous set of records: supplied offset - limit

Example
{ "transactions": [ { "id": "d3dcd291eb7caadab12f2b9bcacdc5df6b8a5c1455072d9454a3b43956677b6e", "block_number": "259024750", "timestamp": "2024-05-03T17:00:02.500", "action_account": "fio.address", "action_name": "regaddress", "sender_account": "xghrmfdenyu5", "receiver_account": "1hpxnziaw2ec", "impacted_account_direction": "", "tpid": "tpid@opera", "fee": "55.399150882", "request_data": { "fio_address": "turandb@opera", "owner_fio_public_key": "FIO5PJdEsMQ5Qd2otKVFSXru72KcMx4G2Vafo9MZ6NHttqYCiV5JP", "max_fee": 55399150882, "actor": "xghrmfdenyu5", "tpid": "tpid@opera" }, "response_data": "{\"status\": \"OK\",\"expiration\":\"2105-02-07T06:28:15\",\"fee_collected\":55399150882}", "status": "executed", "type_specific_data": { "token_transfers": [ { "payer_account": "xghrmfdenyu5", "payee_account": "fio.treasury", "amount": "55.399150882", "type": "blockchain_fee", "memo": "FIO fee: register_fio_address" }, { "payer_account": "eosio", "payee_account": "fio.treasury", "amount": "22.159660352", "type": "token_mint", "memo": "New tokens produced from reserves" } ], "domain_activity": [], "handle_activity": [ { "handle": "turandb@opera", "type": "register" } ], "token_staking": [], "fio_requests": [], "fio_data": [] }, "traces": [ { "id": "d3dcd291eb7caadab12f2b9bcacdc5df6b8a5c1455072d9454a3b43956677b6e-2", "receiver": "eosio", "action_ordinal": 2, "action_account": "eosio", "action_name": "newaccount", "request_data": { "creator": "fio.address", "name": "1hpxnziaw2ec", "owner": { "threshold": 1, "keys": [ { "key": "FIO5PJdEsMQ5Qd2otKVFSXru72KcMx4G2Vafo9MZ6NHttqYCiV5JP", "weight": 1 } ], "accounts": [], "waits": [] }, "active": { "threshold": 1, "keys": [ { "key": "FIO5PJdEsMQ5Qd2otKVFSXru72KcMx4G2Vafo9MZ6NHttqYCiV5JP", "weight": 1 } ], "accounts": [], "waits": [] } } }, { "id": "d3dcd291eb7caadab12f2b9bcacdc5df6b8a5c1455072d9454a3b43956677b6e-3", "receiver": "fio.token", "action_ordinal": 3, "action_account": "fio.token", "action_name": "transfer", "request_data": { "from": "xghrmfdenyu5", "to": "fio.treasury", "quantity": "55.399150882 FIO", "memo": "FIO fee: register_fio_address" } }, { "id": "d3dcd291eb7caadab12f2b9bcacdc5df6b8a5c1455072d9454a3b43956677b6e-4", "receiver": "fio.treasury", "action_ordinal": 4, "action_account": "fio.treasury", "action_name": "fdtnrwdupdat", "request_data": { "amount": 2769957544 } }, { "id": "d3dcd291eb7caadab12f2b9bcacdc5df6b8a5c1455072d9454a3b43956677b6e-5", "receiver": "fio.token", "action_ordinal": 5, "action_account": "fio.token", "action_name": "mintfio", "request_data": { "to": "fio.treasury", "amount": 22159660352 } }, { "id": "d3dcd291eb7caadab12f2b9bcacdc5df6b8a5c1455072d9454a3b43956677b6e-6", "receiver": "fio.tpid", "action_ordinal": 6, "action_account": "fio.tpid", "action_name": "updatebounty", "request_data": { "amount": 22159660352 } }, { "id": "d3dcd291eb7caadab12f2b9bcacdc5df6b8a5c1455072d9454a3b43956677b6e-7", "receiver": "fio.tpid", "action_ordinal": 7, "action_account": "fio.tpid", "action_name": "updatetpid", "request_data": { "tpid": "tpid@opera", "owner": "xghrmfdenyu5", "amount": 27699575440 } }, { "id": "d3dcd291eb7caadab12f2b9bcacdc5df6b8a5c1455072d9454a3b43956677b6e-8", "receiver": "fio.treasury", "action_ordinal": 8, "action_account": "fio.treasury", "action_name": "bppoolupdate", "request_data": { "amount": 33239490529 } }, { "id": "d3dcd291eb7caadab12f2b9bcacdc5df6b8a5c1455072d9454a3b43956677b6e-9", "receiver": "fio.staking", "action_ordinal": 9, "action_account": "fio.staking", "action_name": "incgrewards", "request_data": "48fd823903000000" }, { "id": "d3dcd291eb7caadab12f2b9bcacdc5df6b8a5c1455072d9454a3b43956677b6e-10", "receiver": "eosio", "action_ordinal": 10, "action_account": "eosio", "action_name": "incram", "request_data": { "accountmn": "xghrmfdenyu5", "amount": 2560 } }, { "id": "d3dcd291eb7caadab12f2b9bcacdc5df6b8a5c1455072d9454a3b43956677b6e-11", "receiver": "fio.token", "action_ordinal": 11, "action_account": "xghrmfdenyu5", "action_name": "transfer", "request_data": { "from": "xghrmfdenyu5", "to": "fio.treasury", "quantity": "55.399150882 FIO", "memo": "FIO fee: register_fio_address" } }, { "id": "d3dcd291eb7caadab12f2b9bcacdc5df6b8a5c1455072d9454a3b43956677b6e-12", "receiver": "fio.treasury", "action_ordinal": 12, "action_account": "xghrmfdenyu5", "action_name": "transfer", "request_data": { "from": "xghrmfdenyu5", "to": "fio.treasury", "quantity": "55.399150882 FIO", "memo": "FIO fee: register_fio_address" } }, { "id": "d3dcd291eb7caadab12f2b9bcacdc5df6b8a5c1455072d9454a3b43956677b6e-13", "receiver": "eosio", "action_ordinal": 13, "action_account": "eosio", "action_name": "updlocked", "request_data": { "owner": "xghrmfdenyu5", "amountremaining": 165900009925342 } }, { "id": "d3dcd291eb7caadab12f2b9bcacdc5df6b8a5c1455072d9454a3b43956677b6e-14", "receiver": "fio.token", "action_ordinal": 14, "action_account": "fio.token", "action_name": "issue", "request_data": { "to": "fio.treasury", "quantity": "22.159660352 FIO", "memo": "New tokens produced from reserves" } }, { "id": "d3dcd291eb7caadab12f2b9bcacdc5df6b8a5c1455072d9454a3b43956677b6e-15", "receiver": "eosio", "action_ordinal": 15, "action_account": "fio.token", "action_name": "issue", "request_data": { "to": "fio.treasury", "quantity": "22.159660352 FIO", "memo": "New tokens produced from reserves" } }, { "id": "d3dcd291eb7caadab12f2b9bcacdc5df6b8a5c1455072d9454a3b43956677b6e-16", "receiver": "fio.treasury", "action_ordinal": 16, "action_account": "fio.token", "action_name": "issue", "request_data": { "to": "fio.treasury", "quantity": "22.159660352 FIO", "memo": "New tokens produced from reserves" } }, { "id": "d3dcd291eb7caadab12f2b9bcacdc5df6b8a5c1455072d9454a3b43956677b6e-17", "receiver": "eosio", "action_ordinal": 17, "action_account": "eosio", "action_name": "crautoproxy", "request_data": { "proxy": "2m11cvdizsrg", "owner": "xghrmfdenyu5" } } ] } ], "pagination": { "limit": 100, "offset": 0, "total_records": 1, "next_offset": "", "previous_offset": "" } }

/get_accounts

Returns account information.

Request

Parameter

Description

Parameter

Description

time_start

OPTIONAL Filters accounts by timestamp

time_end

OPTIONAL Filters accounts by timestamp

sort

OPTIONAL Sorting:

  • timestamp_asc (default)

  • timestamp_desc

limit

OPTIONAL Number of results to include. Default: 100

offset

OPTIONAL Offset for pagination. Default: 0

Query

Return records from accounts which match all request parameters.

Sort by:

  • timestamp_asc: timestamp ASC

  • timestamp_desc: timestamp DESC

Response

Group

Field

Source Data

Group

Field

Source Data

accounts

account

accountsaccount

accounts

public_key

accountspublic_key

accounts

timestamp

accountstimestamp

pagination

limit

Supplied limit

pagination

offset

Supplied offset

pagination

total_records

Total number of transactions which meet the criteria

pagination

next_offset

Offset to supply for next set of records: supplied offset + limit

pagination

previous_offset

Offset to supply for previous set of records: supplied offset - limit

Example
{ "accounts": [ { "account": "1hpxnziaw2ec", "public_key": "FIO5PJdEsMQ5Qd2otKVFSXru72KcMx4G2Vafo9MZ6NHttqYCiV5JP" } ], "pagination": { "limit": 100, "offset": 0, "total_records": 1, "next_offset": "", "previous_offset": "" } }

/get_domains

Returns domain information.

Request

Parameter

Description

Parameter

Description

account

OPTIONAL Account of domain owner

is_public

OPTIONAL is_public flag. Default is not present (both are returned)

  • true

  • false

status

OPTIONAL Status of domain

  • active (default)

  • burnt

  • both

sort

OPTIONAL Sorting:

  • alphabetical (default)

  • expiration_asc

  • expiration_desc

limit

OPTIONAL Number of results to include. Default: 100

offset

OPTIONAL Offset for pagination. Default: 0

Query

Return records from domains which match all request parameters.

Sort by:

  • alphabetical: domain ASC

  • expiration_asc: expiration ASC

  • expiration_asc: expiration DESC

Response

Group

Field

Source Data

Group

Field

Source Data

domains

domain

domainsdomain

domains

account

domainsaccount

domains

is_public

domainsis_public

domains

expiration

domainsexpiration

domains

status

domainsstatus

pagination

limit

Supplied limit

pagination

offset

Supplied offset

pagination

total_records

Total number of transactions which meet the criteria

pagination

next_offset

Offset to supply for next set of records: supplied offset + limit

pagination

previous_offset

Offset to supply for previous set of records: supplied offset - limit

Example

/get_handles

Returns handle information.

Request

Parameter

Description

Parameter

Description

handle

OPTIONAL Handle name

account

OPTIONAL Account of handle owner

domain

OPTIONAL Domain of handle

status

OPTIONAL Status of handle

  • active (default)

  • burnt

  • both

bundled_tx_max

OPTIONAL Maximum number of bundled_tx. When supplied only handles which have less than or equal number of bundled_tx will be returned.

limit

OPTIONAL Number of results to include. Default: 100

offset

OPTIONAL Offset for pagination. Default: 0

Query

Return records from handles which match all request parameters.

Sort by:

  • alphabetical: handle ASC

Response

Group

Field

Source Data

Group

Field

Source Data

handles

handle

handleshandle

handles

account

handlesaccount

handles

domain

handlesdomain

handles

encryption_key

handlesencryption_key

handles

encryption_key_set

handlesencryption_key_set

handles

bundled_tx

handlesbundled_tx

handles

expiration

handlesexpiration

handles

status

handlesstatus

pagination

limit

Supplied limit

pagination

offset

Supplied offset

pagination

total_records

Total number of transactions which meet the criteria

pagination

next_offset

Offset to supply for next set of records: supplied offset + limit

pagination

previous_offset

Offset to supply for previous set of records: supplied offset - limit

Example

/get_pub_addresses

Returns pub_addresses information.

Request

Parameter

Description

Parameter

Description

handle

OPTIONAL Handle name

account

OPTIONAL Account of handle owner

chain_code

OPTIONAL Chain code

token_code

OPTIONAL Token code

public_address

OPTIONAL Public Address

limit

OPTIONAL Number of results to include. Default: 100

offset

OPTIONAL Offset for pagination. Default: 0

Query

Return records from pub_addresses which match all request parameters.

account requires join on handles

handle status must be active

Sort by:

  • alphabetical: handle ASC

Response

Group

Field

Source Data

Group

Field

Source Data

handles

handle

handleshandle

handles

account

handlesaccount

handles → pub_addresses

chain_code

pub_addresseschain_code

handles → pub_addresses

token_code

pub_addressestoken_code

handles → pub_addresses

public_address

pub_addressespublic_address

pagination

limit

Supplied limit

pagination

offset

Supplied offset

pagination

total_records

Total number of transactions which meet the criteria

pagination

next_offset

Offset to supply for next set of records: supplied offset + limit

pagination

previous_offset

Offset to supply for previous set of records: supplied offset - limit

Example

/get_nft_signatures

Returns nft_signatures information.

Request

Parameter

Description

Parameter

Description

handle

OPTIONAL Handle name

account

OPTIONAL Account of handle owner

chain_code

OPTIONAL Chain code

contract_address

OPTIONAL Contract Address

token_id

OPTIONAL Token ID

limit

OPTIONAL Number of results to include. Default: 100

offset

OPTIONAL Offset for pagination. Default: 0

Query

Return records from nft_signatures which match all request parameters.

account requires join on handles

handle status must be active

Sort by:

  • alphabetical: handle ASC

Response

Group

Field

Source Data

Group

Field

Source Data

handles

handle

handleshandle

handles

account

handlesaccount

handles → nft_signatures

chain_code

nft_signatureschain_code

handles → nft_signatures

contract_address

nft_signaturescontract_address

handles → nft_signatures

token_id

nft_signaturestoken_id

handles → nft_signatures

url

nft_signaturesurl

handles → nft_signatures

hash

nft_signatureshash

handles → nft_signatures

metadata

nft_signaturesmetadata

pagination

limit

Supplied limit

pagination

offset

Supplied offset

pagination

total_records

Total number of transactions which meet the criteria

pagination

next_offset

Offset to supply for next set of records: supplied offset + limit

pagination

previous_offset

Offset to supply for previous set of records: supplied offset - limit

Example

/get_token_transfers

Returns token_transfers information.

Request

Parameter

Description

Parameter

Description

time_start

OPTIONAL Filters by timestamp of associated transaction

time_end

OPTIONAL Filters by timestamp of associated transaction

payer_account

OPTIONAL Payer account

payee_account

OPTIONAL Payee account

type

OPTIONAL Tranfser type

limit

OPTIONAL Number of results to include. Default: 100

offset

OPTIONAL Offset for pagination. Default: 0

Query

Return records from token_transfers which match all request parameters.

timestamp requires join on transactions

Sort by:

  • alphabetical: timestamp ASC

Response

Group

Field

Source Data

Group

Field

Source Data

token_transfers

transaction_id

transactionsid

token_transfers

timestamp

transactionstimestamp

token_transfers

payer_account

token_transferspayer_account

token_transfers

payee_account

token_transferspayee_account

token_transfers

amount

token_transfersamount

token_transfers

type

token_transferstype

token_transfers

memo

token_transfersmemo

pagination

limit

Supplied limit

pagination

offset

Supplied offset

pagination

total_records

Total number of transactions which meet the criteria

pagination

next_offset

Offset to supply for next set of records: supplied offset + limit

pagination

previous_offset

Offset to supply for previous set of records: supplied offset - limit

Example

/get_fio_requests

Returns fio_request information.

Request

Parameter

Description

Parameter

Description

time_start

OPTIONAL Filters by timestamp of associated transaction

time_end

OPTIONAL Filters by timestamp of associated transaction

payee_handle

​​OPTIONAL Payee FIO Handle

payer_handle

​​OPTIONAL Payer FIO Handle

payee_account

​​OPTIONAL Payee account

payer_account

​​OPTIONAL Payer account

status

​​OPTIONAL Request status

limit

​​OPTIONAL Number of results to include. Default: 100

offset

​​OPTIONAL Offset for pagination. Default: 0

Query

Return records from fio_request which match all request parameters.

timestamp requires join on transactions

payee_account and payer_account requires join on handles

Sort by:

  • alphabetical: timestamp ASC

Response

Group

Field

Source Data

Group

Field

Source Data

fio_requests

id

fio_requestsid

fio_requests

timestamp

transactionstimestamp

fio_requests

payer_account

handlesaccount

fio_requests

payee_account

handlesaccount

fio_requests

payee_handle

fio_requestspayee_handle

fio_requests

payer_handle

fio_requestspayer_handle

fio_requests

content

fio_requestscontent

fio_requests

payee_pub_key

fio_requestspayee_pub_key

fio_requests

payer_pub_key

fio_requestspayer_pub_key

fio_requests

status

fio_requestsstatus

fio_requests

transaction_id

transactionsid

pagination

limit

Supplied limit

pagination

offset

Supplied offset

pagination

total_records

Total number of transactions which meet the criteria

pagination

next_offset

Offset to supply for next set of records: supplied offset + limit

pagination

previous_offset

Offset to supply for previous set of records: supplied offset - limit

Example

/get_fio_data

Returns fio_data information.

Request

Parameter

Description

Parameter

Description

time_start

​​OPTIONAL Filters by timestamp of associated transaction

time_end

​​OPTIONAL Filters by timestamp of associated transaction

payee_handle

​​​OPTIONAL Payee FIO Handle

payer_handle

​​​OPTIONAL Payer FIO Handle

payee_account

​​​OPTIONAL Payee account

payer_account

​​​OPTIONAL Payer account

status

​​​OPTIONAL Data status

limit

​​​OPTIONAL Number of results to include. Default: 100

offset

​​​OPTIONAL Offset for pagination. Default: 0

Query

Return records from fio_data which match all request parameters.

timestamp requires join on transactions

payee_account and payer_account requires join on handles

Sort by:

  • alphabetical: timestamp ASC

Response

Group

Field

Source Data

Group

Field

Source Data

fio_data

request_id

fio_datarequest_id

fio_data

timestamp

transactionstimestamp

fio_data

payer_account

handlesaccount

fio_data

payee_account

handlesaccount

fio_data

payee_handle

fio_datapayee_handle

fio_data

payer_handle

fio_datapayer_handle

fio_data

content

fio_datacontent

fio_data

payee_pub_key

fio_datapayee_pub_key

fio_data

payer_pub_key

fio_datapayer_pub_key

fio_data

status

fio_datastatus

fio_data

transaction_id

transactionsid

pagination

limit

Supplied limit

pagination

offset

Supplied offset

pagination

total_records

Total number of transactions which meet the criteria

pagination

next_offset

Offset to supply for next set of records: supplied offset + limit

pagination

previous_offset

Offset to supply for previous set of records: supplied offset - limit

Example

/get_domain_activity

Returns domain_activity information.

Request

Parameter

Description

Parameter

Description

time_start

​​OPTIONAL Filters by timestamp of associated transaction

time_end

​​OPTIONAL Filters by timestamp of associated transaction

domain

​​​OPTIONAL Domain name

type

​​​OPTIONAL Type

owner_account

​​​OPTIONAL Domain owner account

limit

​​​OPTIONAL Number of results to include. Default: 100

offset

​​​OPTIONAL Offset for pagination. Default: 0

Query

Return records from domain_activity which match all request parameters.

timestamp requires join on transactions

owner_account requires join on domains

Sort by:

  • alphabetical: timestamp ASC

Response

Group

Field

Source Data

Group

Field

Source Data

domain_activity

domain

domain_activitydomain

domain_activity

transaction_id

transactionsid

domain_activity

timestamp

transactionstimestamp

domain_activity

account

domainsaccount

domain_activity

type

domain_activitytype

pagination

limit

Supplied limit

pagination

offset

Supplied offset

pagination

total_records

Total number of transactions which meet the criteria

pagination

next_offset

Offset to supply for next set of records: supplied offset + limit

pagination

previous_offset

Offset to supply for previous set of records: supplied offset - limit

Example

/get_handle_activity

Returns handle_activity information.

Request

Parameter

Description

Parameter

Description

time_start

​​OPTIONAL Filters by timestamp of associated transaction

time_end

​​OPTIONAL Filters by timestamp of associated transaction

handle

​​​OPTIONAL Handle name

type

​​​OPTIONAL Type

owner_account

​​​OPTIONAL Handle owner account

limit

​​​OPTIONAL Number of results to include. Default: 100

offset

​​​OPTIONAL Offset for pagination. Default: 0

Query

Return records from handle_activity which match all request parameters.

timestamp requires join on transactions

owner_account requires join on handles

Sort by:

  • alphabetical: timestamp ASC

Response

Group

Field

Source Data

Group

Field

Source Data

handle_activity

domain

handle_activityhandle

handle_activity

transaction_id

transactionsid

handle_activity

timestamp

transactionstimestamp

handle_activity

account

handle_activityaccount

handle_activity

type

handle_activitytype

pagination

limit

Supplied limit

pagination

offset

Supplied offset

pagination

total_records

Total number of transactions which meet the criteria

pagination

next_offset

Offset to supply for next set of records: supplied offset + limit

pagination

previous_offset

Offset to supply for previous set of records: supplied offset - limit

Example