0% found this document useful (0 votes)
87 views17 pages

Database Document

Database Document

Uploaded by

nguyetnga311002
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
87 views17 pages

Database Document

Database Document

Uploaded by

nguyetnga311002
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Datasets

Datasets Overview
There are two types of Centic
Centic's data collection process begins with the acquisition of raw data from provider nodes
across various blockchain networks. This invaluable data is meticulously decoded and then
seamlessly integrated into our comprehensive knowledge graph. Beyond blockchain data,
we also curate a wealth of off-chain information from a multitude of sources, expertly
synthesizing it into our ever-expanding knowledge graph. The relationships between entities
emerge, originating from both on-chain transactions and events, as well as the dynamic
off-chain connections that interlace these entities.
In summary:
- Raw data: This encompasses the unprocessed and subsequently decoded
blockchain data.
- Knowledge graph: This intricate structure encapsulates both on-chain and off-chain
entities within the Web3 domain, while also mapping the intricate relationships that
bind them together.

Available Chains
- EVM Chains
+ Ethereum (0x1)
+ BNB Chain (0x38)
+ Polygon (0x89)
+ Fantom (0xfa)
+ Arbitrum One (0xa4b1)
+ Optimism (0xa)
+ Avalanche C-Chain (0xa86a)

- Non-EVM Chains (Coming Soon)

1. Raw Data
Raw data provides unprocessed and decoded information for each blockchain network
supported by Centic. Raw data consists of data generated and stored within blockchain
ledgers, containing the fundamental details of all blockchain activities. This data has been
decoded to make it easily comprehensible for users to understand what has occurred in a
transaction or an event.

EVM Raw Data


- Blocks: Blocks are the base unit that all transactions fit into.
- Transactions: Transactions are cryptographically signed instructions from accounts.
- Internal Transactions: Internal transactions are the consequence of smart contract
logic that is triggered by an external transaction.
- Event Transfers: Event transfers are event logs generated by smart contracts through
the transfer method.
- Lending Protocol Events: Lending protocol events are event logs created by smart
contracts within lending protocols.

1.1. Blocks
Blocks are data structures within the blockchain, where transaction data in a cryptocurrency
blockchain are permanently recorded. A block records some or all of the most recent
transactions not yet validated by the network. Once the data is validated, the block is closed.
Then, a new block is created for new transactions to be entered into and validated.

Collections
Chain Collection Notes

Ethereum ethereum_blockchain_etl.blocks

BNB Chain blockchain_etl.blocks

Polygon polygon_blockchain_etl.blocks

Fantom ftm_blockchain_etl.blocks

Arbitrum One arbitrum_blockchain_etl.blocks

Optimism optimism_blockchain_etl.blocks

Avalanche C-Chain avalanche_blockchain_etl.blocks

Example
{
"_id":
"block_0xa45c7a1b734add5384ce194970a0aecc943c7b0ee7554b8d19469a188
d7ddae1",
"type": "block",
"number": 30358901,
"hash":
"0xa45c7a1b734add5384ce194970a0aecc943c7b0ee7554b8d19469a188d7ddae
1",
"parent_hash":
"0xa5a2389ed885d2c71a604c766f810c8a45929e8332d45af44ecb44e6fa08c9c
e",
"nonce": "0x0000000000000000",
"transactions_root":
"0x299fd88926ed472b9eca569799b6858f42bfbb797d73d1246d83a92a742a56f
9",
"state_root":
"0x220c2f1425504cc7488ba4d5c8c427da1b0bc3cac14ff13512aaad118218c6d
e",
"receipts_root":
"0x717f0ae59e87e0c1e598974bdc1877c1e1c2cc1fcca15685858351dafb5799d
a",
"miner": "0xef0274e31810c9df02f98fafde0f841f4e66a1cd",
"difficulty": "2",
"total_difficulty": "60327185",
"size": "32660",
"gas_limit": "140000000",
"gas_used": "10887760",
"timestamp": 1690551200,
"transaction_count": 127,
"item_timestamp": "2023-07-28T13:33:20Z"
}

Description
Field Data type Description

_id String Document ID

type String Type of collection

number Int32 The height of that block on blockchain

hash String A unique identifier for that block

parent_hash String The unique identifier for the prior block

nonce String The block nonce is used to demonstrate


the proof of work during mining

miner String The address of the miner

difficulty String The effort required to mine the block

total_difficulty String Total difficulty of the chain until this block

size String This block's size in bytes (limited by gas


limit)

gas_limit String The gas limit of the current block

gas_used String The gas used in this block

timestamp Int32 Timestamp when that block closed

transaction_count Int32 The number of transactions in that block

item_timestamp String Block timestamp in human readable


format
1.2. Transactions
Transactions are signed messages recorded on blockchains. An account will initiate a
transaction to update the state of the blockchain. Transactions will always originate from
externally owned accounts.
A transaction could either be a payment or a request to run some sort of program on the
blockchain. Ethereum and other virtual machines are like computers that can run programs
like this, while other blockchains like Bitcoin can only handle payments.

Collections
Chain Collection Notes

Ethereum ethereum_blockchain_etl.transactions

BNB Chain blockchain_etl.transactions

Polygon polygon_blockchain_etl.transactions

Fantom ftm_blockchain_etl.transactions

Arbitrum One arbitrum_blockchain_etl.transactions

Optimism optimism_blockchain_etl.transactions

Avalanche C-Chain avalanche_blockchain_etl.transactions

Example
{
"_id":
"transaction_0xa869864515ae1fcac78d83a6b62182a3b3803c04d86237b8340
8b718fdb810bd",
"type": "transaction",
"hash":
"0xa869864515ae1fcac78d83a6b62182a3b3803c04d86237b83408b718fdb810b
d",
"nonce": 0,
"transaction_index": 0,
"from_address": "0x7490bfa6fd4dc05712af7a8ba47f7f928c25baa6",
"to_address": "0xd75c02aa3c430876c9ae1084d0f23845d2e39c26",
"value": "0",
"gas": "500000",
"gas_price": "10000000000",
"input":
"0x095ea7b300000000000000000000000013f4ea83d0bd40e75c8222255bc855a
974568dd40000000000000000000000446c3b15f99268000000000000000000000
0000000",
"block_timestamp": 1690551488,
"block_number": 30358997,
"block_hash":
"0x6c059f49e0fabd5c17b3e0e57b4040688f7c921c42160f86c175bd66d06fe33
0",
"receipt_cumulative_gas_used": "44151",
"receipt_gas_used": "44151",
"receipt_contract_address": null,
"receipt_root": null,
"receipt_status": 1,
"item_timestamp": "2023-07-28T13:38:08Z"
}

Description
Field Data type Description

_id String Document ID

type String Type of collection

hash String The hash of the transaction

nonce Int32 The transaction nonce, unique to that


wallet

transaction_index Int32 The transactions index position in the


block

from_address String Address of the sender

to_address String Address of the receiver. null when its a


contract creation transaction

value String The amount of native token sent in this


transaction in wei. Note that ERC20
tokens do not show up here

gas String The gas limit in wei

gas_price String The gas price in wei

input String Can either be empty, a hex encoded


message or instructions for a smart
contract call

block_timestamp Int32 The time when the block was mined that
includes this transaction

block_number Int32 The length of the blockchain in blocks

block_hash String A unique identifier for that block

receipt_gas_used String The gas consumed by the transaction in


wei

receipt_contract_address String Address of contract created


receipt_status Int32 A value that shows if the transaction
succeeded

item_timestamp String Block timestamp in human readable


format

1.3. Internal transactions


An internal transaction is the consequence of smart contract logic that is triggered by an
external transaction. Internal transactions lack a cryptographic signature and are typically
stored off-chain, meaning they are not a part of the blockchain itself. Some are stored
on-chain, although this necessitates the use of additional gas, therefore it isn't being used
very often. Internal transactions like this always transfer Ether exclusively, affecting address
balances.

Collections
Chain Collection Notes

Ethereum ethereum_blockchain_etl.internal_transactions

BNB Chain blockchain_etl.internal_transactions

Polygon polygon_blockchain_etl.internal_transactions

Fantom ftm_blockchain_etl.internal_transactions

Arbitrum One arbitrum_blockchain_etl.internal_transactions

Optimism optimism_blockchain_etl.internal_transactions

Avalanche C-Chain avalanche_blockchain_etl.internal_transactions

Example
{
"_id":
"transaction_0x21c24926245108343a7cd574cdd7713ee49d94f7a32d2ceb915
6667841afcf09",
"block_number": 17789772,
"hash":
"0x21c24926245108343a7cd574cdd7713ee49d94f7a32d2ceb9156667841afcf0
9",
"internal_transactions": [
{
"from": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
"to": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d",
"value": "91095282179790939",
"contract_address": "",
"input": "",
"type": "call",
"gas": "2300",
"gas_used": "83",
"trace_id": "0_1_1",
"is_error": 0,
"err_code": ""
},
{
"from": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d",
"to": "0x6134ec94936de22c8d770c3614eaf12324d683ee",
"value": "91095282179790939",
"contract_address": "",
"input": "",
"type": "call",
"gas": "82600",
"gas_used": "0",
"trace_id": "0_1",
"is_error": 0,
"err_code": ""
}
]
}

Description
Field Data type Description

_id String Document ID

block_number Int32 The length of the blockchain in blocks

hash String The hash of the external transaction

internal_transactions Array List of internal transactions

internal_transactions.from String Address of internal transaction sender

internal_transactions.to String Address of internal transaction receiver

internal_transactions.value String The amount of native token sent in this


transaction in wei

internal_transactions.contra String Address of contract created


ct_address

internal_transactions.input String Can either be empty, a hex encoded


message or instructions for a smart
contract call

internal_transactions.type String Type of internal transaction

internal_transactions.gas String The gas limit in wei


internal_transactions.gas_u String The gas consumed by the transaction in
sed wei

internal_transactions.trace_i String Trace ID of internal transaction in


d external transaction

internal_transactions.is_erro Int32 A value that shows if the transaction


r error

internal_transactions.err_co String Error code


de

1.4. Transferring events


Transferring events are event logs generated by smart contracts via the transfer method.
This event must be triggered when the tokens are transferred from one account to another
account. Even if the number of tokens is zero, the event must trigger. When new tokens are
created or minted, the event should use 0x0 as the from address.
In addition, NFT transferring events are also collected and stored.

Tables
Chain Table Notes

Ethereum chain_0x1.token_transfer

BNB Chain chain_0x38.token_transfer

Polygon chain_0x89.token_transfer

Fantom chain_0xfa.token_transfer

Arbitrum One chain_0xa4b1.token_transfer

Optimism chain_0xa.token_transfer

Avalanche C-Chain chain_0xa86a.token_transfer

Example

Description
Field Data type Description
contract_address text Address of interacted contract

transaction_hash text The hash of the transaction

log_index bigint The logs index position in the block

block_number bigint The length of the blockchain in blocks

from_address text Address of the sender

to_address text Address of the receiver

value double precision The amount of token sent in this transfer.


The value has been divided by token
decimals.

1.5. Lending events


Lending events are event logs generated by smart contracts of lending protocols. These
events include actions such as deposit, withdrawal, borrow, repay, and liquidate.

Collections
Chain Collection Notes

Ethereum ethereum_blockchain_etl.lending_events

BNB Chain blockchain_etl.lending_events

Polygon polygon_blockchain_etl.lending_events

Fantom ftm_blockchain_etl.lending_events

Arbitrum One arbitrum_blockchain_etl.lending_events

Optimism optimism_blockchain_etl.lending_events

Avalanche C-Chain avalanche_blockchain_etl.lending_events

Example
{
"_id": "17812114_282",
"amount": 1.08,
"block_number": 17812114,
"block_timestamp": 1690795931,
"contract_address":
"0x87870bca3f3fd6335c3f4ce8392d69350b4fa4e2",
"event_type": "DEPOSIT",
"log_index": 282,
"on_behalf_of": "0x719bd84af4f2a08f3aa83037a3728cade5a43c3f",
"reserve": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
"transaction_hash":
"0xb19d0a21590c553ec48e627b3a09e69d9a5de9f45384110536545cc66c1893b
b",
"type": "event",
"user": "0xd322a49006fc828f9b5b37ab215f99b4e5cab19c",
"wallet": "0x719bd84af4f2a08f3aa83037a3728cade5a43c3f"
}

Description
Field Data type Description

_id String Document ID

type String Type of collection

amount Double The amount of reserve in action. The


value has been divided by token
decimals.

block_timestamp Int32 The time when the block was mined that
includes this transaction

block_number Int32 The length of the blockchain in blocks

transaction_hash String The hash of the transaction

contract_address String Address of interacted contract

event_type Type of lending event

log_index Int32 The logs index position in the block

on_behalf_of String Address of wallet that received lending


event result

user String Event's input wallet address

wallet String Address of wallet made the transaction

reserve String Address of reserve token

2. KLG data
Knowledge graph represents a network of Web3 entities–i.e. wallets, tokens, smart
contracts, or projects—and illustrates the relationship between them. In this process,
on-chain data related to cryto wallets and smart contracts is aggregated from the decoded
raw data. Off-chain data about the entities is gathered from various sources and added to
each entity on the knowledge graph. The relationships between entities on the knowledge
graph are established using both on-chain transactions and events, as well as the off-chain
relationships between these entities.
2.1. Projects
A project refers to blockchain initiatives, encompassing all projects deployed on blockchain,
offering blockchain services, or conducting blockchain data analysis from any of the
blockchain networks we support. These projects span diverse domains such as exchanges,
DeFi, NFTs, or tokens.

Example
{
"_id": "aave-v2",
"name": "AAVE V2",
"imgUrl": "https://icons.llama.fi/aave-v2.png",
"tvl": 2935898293.830274,
"deployedChains": ["0x1", "0x89", "0xa86a"],
"tvlChangeLogs": {"1691028000": 2943819900.059697, "1691031601":
2942073760.450257, "1691035201": 2935898293.830274},
"sources": ["defillama"],
"category": "Lending"
"coinId": "aave",
"tokenAddresses": {
"0x1": "0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9",
"0x89": "0xd6df932a45c0f255f85145f286ea0b292b21c90b",
"0xa86a": "0x63a72806098bd3d9520cc43356dd78afe5d386d9"
},
"description": "Aave is an Open Source and Non-Custodial
protocol to earn interest on deposits and borrow assets",
"contractAddresses": {
"0x1_0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9": "Aave:
Lending Pool V2",
"0x1_0xd784927ff2f95ba542bfc824c8a8a98f3495f6b5": "Aave:
Incentives Controller",
"0x1_0x028171bca77440897b824ca71d1c56cac55b68a3": "Aave: aDAI
Token V2"
},
"socialAccounts": {
"website": "https://aave.com",
"twitter": "https://twitter.com/AaveAave",
"telegram": "https://t.me/Aavesome",
"reddit": "https://www.reddit.com/r/Aave_Official",
"github": "https://github.com/aave"
},
"parentProtocol": "aave",
"tvlByChains": {"0x1": 2775200083.629346, "0xa86a":
38363179.10059328, "0x89": 122335031.10033514}
}

Description
Field Data type Description

_id String Document ID

name String Name of project

description String Project introduction

category String Project category

imgUrl String Link to project avatar

deployedChains Array Supported blockchains of project

socialAccounts Object Website and social marketing accounts


of project

parentProtocol String Parent project

coinId String ID of token issued by the project

tokenAddresses Object Address of tokens issued by the project

contractAddresses Object Address of project’s contracts

tvl Double Total value locked by project

tvlChangeLogs Object History of total value locked by project

tvlByChains Object Total value locked by project in each


deployed chain

sources Object Data sources

2.2. Smart contracts


A smart contract is a transaction protocol designed to autonomously execute, control, or
record events and actions in accordance with the terms of a contract or agreement. Each
smart contract is deployed by individuals or organizations (blockchain projects) on a specific
blockchain network and can be interacted with by users on that blockchain. Depending on
the code, a smart contract can take on various forms, such as a token (ERC20), NFT
(ERC721), or a specialized-function smart contract within blockchain projects.

Example
{
"_id": "0x1_0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9",
"address": "0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9",
"chainId": "0x1",
"keyABI": "erc20_abi",
"name": "Aave",
"imgUrl":
"https://assets.coingecko.com/coins/images/12645/large/AAVE.png",
"tags": ["token"],
"createdAt": 1600945588,
"numberOfLastDayCalls": 752,
"numberOfLastDayActiveUsers": 289,
"numberOfDailyCalls": {"1690761600": 35, "1690848000": 934,
"1690934400": 752},
"numberOfDailyActiveUsers": {"1690848000": 361, "1690934400":
289},
"symbol": "aave",
"decimals": 18,
"idCoingecko": "aave",
"tokenHealth": 577,
"price": 64.08,
"marketCap": 928825537,
"tradingVolume": 120685346,
"totalSupply": 16000000,
"tokenDailyTransfers": {"1690761600": 2126, "1690848000": 2298,
"1690934400": 1476},
"categories": ["Yield Farming", "Decentralized Finance (DeFi)",
"Governance"],
"priceChangeLogs": {"1691036143": 64.24, "1691037044": 64.16,
"1691037942": 64.08},
"marketCapChangeLogs": {"1691036143": 931425025, "1691037044":
931117114, "1691037942": 928825537},
"tradingVolumeChangeLogs": {"1691036143": 120652302,
"1691037044": 126905985, "1691037942": 120685346},
"numberOfHolders": 152672,
"socialAccounts": {
"website": "https://app.aave.com/",
"twitter": "https://twitter.com/AaveAave",
"telegram": "https://t.me/Aavesome",
"reddit": "https://www.reddit.com/r/Aave_Official",
"github": "https://github.com/aave"
}
}

Description
Field Data type Description

_id String Document ID

address String Address of contract

chainId String Blockchain ID

keyABI String ID of contract abi


name String Name of contract

imgUrl String Link to smart contract avatar

tags Array List tags of contract

createdAt Int32 Timestamp when the contract was


created

numberOfLastDayCalls Int32 The number of times the contract was


called yesterday

numberOfLastDayActiveUsers Int32 The number of users who called the


contract yesterday

numberOfDailyCalls Object Number of times the contract is called


daily

numberOfDailyActiveUsers Object Number of users calling the contract daily

If the contract has tags that includes token, the record may have the following additional
fields:

Field Data type Description

symbol String Token symbol

decimals Int32 Token decimals

idCoingecko String ID of token in CoinGecko

tokenHealth Int32 Token Health

price Double Token price

marketCap Int32 Market capitalize of token

tradingVolume Int32 Trading volume 24h of token

totalSupply Int32 Total supply of token

tokenDailyTransfers Object Daily token transfers

categories Array Categories of token

priceChangeLogs Object History of token price

marketChangeLogs Object History of token market cap

tradingVolumeChangeLogs Object History of token trading volume 24h

numberOfHolders Int32 Number of token’s holders

socialAccounts Object Website and social marketing accounts


of token
2.3. Wallets
Crypto wallets store your private keys, keeping your crypto safe and accessible. They also
allow you to send, receive, and spend cryptocurrencies like Bitcoin and Ethereum.Centic
stores the asset status and tracks the activities of electronic wallets based on the
transactions conducted by those wallets. We also utilize transfer and lending events to
provide a more precise calculation of users' assets.

Example
{
"_id": "0x38_0x01c952174c24e1210d26961d456a77a39e1f0bb0",
"address": "0x01c952174c24e1210d26961d456a77a39e1f0bb0",
"chainId": "0x38",
"balanceInUSD": 3729624.9644285426,
"balanceChangeLogs": {"1690934400": 4494451.188273331,
"1691020800": 3729624.9644285426},
"tokens": {
"0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82": 15512.3111,
"0x1d2f0da169ceb9fc7b3144628db156f3f6c60dbe": 662.1
},
"tokenChangeLogs": {
"0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82": {
"1689984000": {"amount": 1.956474577907406, "valueInUSD":
3.012970849977405},
"1690070400": {"amount": 1.956474577907406, "valueInUSD":
2.973841358419257}
}
},
"depositInUSD": 21.814046586576744,
"depositChangeLogs": {"1676246400": 21.73238186765593,
"1679270400": 21.814046586576744},
"depositTokens": {"0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82":
0.07085473279818347},
"depositTokenChangeLogs": {
"0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82": {
"1676246400": {"amount": 0.07058947564769523, "valueInUSD":
21.73238186765593},
"1679270400": {"amount": 0.07085473279818347, "valueInUSD":
21.814046586576744}
}
},
"borrowInUSD": 1.891,
"borrowChangeLogs": {"1676246400": 7.164, "1679270400": 1.891},
"borrowTokens": {"0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82":
0.07085473279818347},
"borrowTokenChangeLogs": {
"0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82": {
"1689984000": {"amount": 1.956474577907406, "valueInUSD":
3.012970849977405},
"1690070400": {"amount": 1.956474577907406, "valueInUSD":
2.973841358419257}
}
},
"dailyAllTransactions": {"1690675200": 1369, "1690934400":
1579},
"dailyNumberOfTransactions": {"1690761600": 1369, "1691020800":
1578},
"dailyTransactionAmounts": {"1690588800": 1548479.7544996615,
"1690675200": 3891267.483325918},
"numberOfLiquidation": 0,
"totalValueOfLiquidation": 0,
"liquidationLogs": {}
}

Description
Field Data type Description

_id String Document ID

address String Address of wallet

chainId String Blockchain ID

balanceInUSD Double Wallet balance in USD

balanceChangeLogs Object History of wallet balance

tokens Object Amount of tokens that the wallet is


holding

tokenChangeLogs Object History of tokens that the wallet is


holding

depositInUSD Double Wallet deposit in USD

depositChangeLogs Object History of wallet deposit

depositTokens Object Amount of tokens that the wallet is


depositing

depositTokenChangeLogs Object History of tokens that the wallet is


depositing

borrowInUSD Double Wallet borrow in USD

borrowChangeLogs Object History of wallet borrow

borrowTokens Object Amount of tokens that the wallet is


borrowing

borrowTokenChangeLogs Object History of tokens that the wallet is


borrowing

dailyAllTransactions Object Number of transactions the wallet


address interacts daily

dailyNumberOfTransactions Object Number of transactions that the wallet


address generates daily

dailyTransactionAmounts Object The amount that the wallet address


receives every day

numberOfLiquidation Int32 Number of times the wallet address has


been liquidated

totalValueOfLiquidation Double The amount of the wallet address has


been liquidated

liquidationLogs Object Wallet liquidation history

2.4. Relationships
The relationships between entities in the knowledge graph are constructed from both
on-chain transactions and events, as well as the off-chain connections between these
entities.

You might also like