| Schema | Description | Tables |
|---|---|---|
| Raw | Raw blockchain data. | blocks, transactions, inputs, outputs |
| Assets | Bitcoin ordinals transfers. | ordinals\_transfers, btc\_credit\_debit, balances, balances\_latest |
| NFTs | BTC inscription trades and mints. Includes metadata on ordinals inscription and collections. | trades, mints, ordinals\_inscription, ordinals\_collection |
| Assets | Description |
|---|---|
| Inscription Transfers | Transfer of inscriptions between Bitcoin addresses. |
| Balances | utxo balances of bitcoin wallets at change block heights |
| Balances Latest | Latest utxo balances of bitcoin wallets |
| Credit Debit | Double entry book of bitcoin transaction input/outputs |
| Transfers | BTC transfers. N.A - see below |
| Column Name | Description | Example |
|---|---|---|
| platform | The platform used to faciliate the mint. NULL for standard mints | magiceden |
| protocol | The protocol of the platform. | premint\_sale |
| trade\_type | Type of trade. SINGLE\_TRADE for single token mint or BUNDLE\_TRADE when more than 1 token is minted in a transaction. | SINGLE\_TRADE |
| order\_match\_type | Type of order. | MINT |
| buyer\_address | Pubkey of the buyer, defined as the party sending the funds | 3NQFMfMLXQDjesdbH3UndorSSpRxePLjHr |
| seller\_address | Pubkey of the seller, defined as the party sending the NFT | bc1pv224sdmtw7a6l9n6t2psshn8k5uu65t0yyf5u44xry85fxhelppsxxq84u |
| \_nft\_recipient | Pubkey of the party receiving the NFT. May be different from buyer\_address | bc1phyjlwz5cjwntte4d5txqze79kv4mk4ww3thapr0hpmvawqyq9wzqglf5yy |
| \_sales\_proceeds\_recipient | Pubkey of the party receiving the funds. May be different from seller\_address | 3Gg5VKGRzZ7Xx5afc39pqRexZ17zjkQN8Z |
| currency\_address | Address of the currency used in the mint. | NULL |
| currency\_symbol | Symbol of the currency used in the mint. | BTC |
| raw\_gas\_fee | Gas fee of the trade in satoshis. For multi-transaction batch mints, this would be the sum of the following components: 1. gas fee any common transactions divided by size of batch mints 2. gas fee of the individual reveal txn | 50088 |
| gas\_fee | Gas fee of the trade normalized | 0.00050088 |
| usd\_gas\_fee | USD value of the gas fee | 13.471162591 |
| raw\_price | Price of the NFT in number of satoshis. (includes fees) | 450000 |
| price | Price of the NFT normalized by dividing raw\_price by the number of decimals. (includes fees) | 0.0045 |
| usd\_price | USD price paid for the NFTs in this mint. The USD value of the mint is calculated by multiplying the hourly exchange rate of the currency (e.g. BTC) with the price oracle data source from exchanges. | 122.65245 |
| buyer\_fees | Fees paid by the NFT buyer. It might be "unimplemented" if we haven't parse the fees for that protocol yet. Otherwise, it will be a json with 9 columns. "creator" fees are the ones paid to the nft creator (royalties); "platform" fees are paid to the marketplace; "total" fees are the sum of both fees Use this syntax to access a specific fee:buyer\_fees\['usd\_total']::double. And don't worry about the unimplemented ones, they will become null | `{ "creator": 0.625, "platform": null, "raw_creator": "625000000000000000", "raw_platform": null, "raw_total": "625000000000000000", "total": 0.625, "usd_creator": 0.40125, "usd_platform": null, "usd_total": 0.40125 }` |
| seller\_fees | Fees paid by the NFT seller. Similar in structure to buyer\_fees | `{ "creator": 0.625, "platform": null, "raw_creator": "625000000000000000", "raw_platform": null, "raw_total": "625000000000000000", "total": 0.625, "usd_creator": 0.40125, "usd_platform": null, "usd_total": 0.40125 }` |
| agg\_fees | Sum of the fees paid by the NFT buyer and the seller. Similar in structure to buyer\_fees | `{ "creator": 0.625, "platform": null, "raw_creator": "625000000000000000", "raw_platform": null, "raw_total": "625000000000000000", "total": 0.625, "usd_creator": 0.40125, "usd_platform": null, "usd_total": 0.40125 }` |
| total\_mint\_quantity | Total number of mints at the transaction level for a batch mint. total\_mint\_quantity = sum(item\_quantity at the same txn\_id) | 2 |
| item\_quantity | Number of mints at the row level, associated with the movement of a single utxo. In some cases, 2 inscriptions can be in the same utxo, resulting in a bundle trade. | 1 |
| inscription\_id | inscription id, composed of the genesis transaction hash with a i0 suffix to represent the first inscription in the tx | 1f4301eb3189723067f94a6d336f363419095719c85fed44f482df4c4b668452i0 |
| inscription\_name | The inscription name, if available. | bitCroSkull #160 |
| inscription\_number | The inscription number, sometimes known as index, if available | 810280 |
| collection\_name | The collection name, if available. | bitCroSkull |
| collection\_slug | The collection slug, if available. The collection slug is a human-readable, unique identifier. | bitcroskull |
| content\_type | Content type of the inscription | image/png |
| content\_tag | Content tag, which is a reclassification of the raw content\_type field to make it easy to analyze. | image video application audio text model others |
| content\_length | Number of bytes of the inscription content | 4410 |
| content\_protocol | (For json inscriptions with a p key)The protocol of the inscription, derived with json\_content\['p'] | brc-20 |
| content\_parsed | (For textual inscriptions) The parsed content of the inscription, could be a utf-8 string or a json object |
|
| is\_brc20 | Derived with content\_protocol = 'brc-20'. To be deprecated for is\_token + content\_protocol | true |
| is\_token | Used to identify token-like standards. Derived with | true |
| token\_tick | The tick of the token-like inscription. Derived with content\_parsed\['tick'] | ordi |
| token\_amt | The amout specified in the token-like inscription. Derived with content\_parsed\['amt'] | 100 |
| sats\_per\_token\_tick | Satoshis per token-like amount. Only valid for launchpad mints. Derived with satoshi of the launch / token\_amt | 1000000 |
| usd\_per\_token\_tick | USD per token-like amount. Only valid for launchpad mints. Derived with USD of the launch / token\_amt | 1.50 |
| domain\_protocol | Domain name protocol used to parse the content | sns bitmap |
| domain\_name | the domain name (portion before the . ) | abc |
| domain\_namespace | the domain namespace (portion after the . ) | sats |
| domain\_valid | true/false - domains are invalid if they are not the first or are unstable inscriptions | true/false |
| domain\_meta | the metadata of the domain op, such as about, rev, avatar fields. | `{"avatar":"cfab194b924f7785c6e453728e1c264b89b74843633278cda3ad3f57576c1e93i0","op":"reg"}` |
| is\_domain | true/false - whether the domain name/namespace fit the requirements of sns/bitmap protocols.
| true/false |
| genesis\_fee | Genesis fee of the inscription when it was inscribed. If there are multiple inscriptions created in the tx, this number is divided by the total number of inscriptions created in the transaction. | 3455 |
| satoshi\_timestamp | The timestamp of the satoshi when it was mined. | 40628.07531 |
| transaction\_hash | Transaction hash of where this mint occurred. | b3fc902f3e4c5971e07d34342b20ce50a041dcfa74375d754421c5cbe8f68da3 |
| transaction\_index | Index of the transaction within the block | 89 |
| block\_timestamp | Block timestamp of the mint. | 45064.58436 |
| block\_number | Block number of the mint. | 790330 |
| block\_hash | Block hash of the mint. | 0000000000000000000554007bb5de9e5a64921be93a15950f73cf7696bccd11 |
| unique\_id | Unique ID of this mint. | 1f4301eb3189723067f94a6d336f363419095719c85fed44f482df4c4b668452i0 |
| Column Name | Description | Example |
|---|---|---|
| index | Index of the inscription. | 4,051,600 |
| inscription\_id | Inscription ID assigned. [https://ordinals.com/](https://ordinals.com/) | a997f335430dc852e42dddeca28ddb4b915cc09d07ed16794bee6d25aeee9db1i0 |
| inscription\_name | Inscription name, if available | BTC Moonbirds 4984 |
| status | Status of the inscription. Often inclue the rarity of the inscription (Common, Uncommon, Rare, Legendary, Founders Edition, Lengendary), if applicable. | Uncommon |
| rank | Rank of the inscription based on rarity, if applicable. | |
| attributes | Attiributes of the inscription. | |
| genesis\_height | Block height at the genesis of inscription. | 788540 |
| genesis\_timestamp | Timestamp of the inscription | 2023-05-06 17:10:56 |
| content\_type | Type of content inscribed. Includes text, audio, image, video, application & etc. Note that there is no standard format enforced for the type of content inscribed. | image/webp |
| content\_tag | Content tag, which is a reclassification of the raw content\_type field to make it easy to analyze. | image video application audio text model others |
| content\_length | Content length of the inscription in bytes | 420 |
| parsed\_inscription | The parsed output of the txwitness data. it would include fields such as content\_type, content\_length & content | `{ "content": "7b2270223a226272632d3230222c226f70223a226d696e74222c227469636b223a2272737363222c22616d74223a2231303030227d", "content_length": 106, "content_type": "text/plain;charset=utf-8", "pretty_content": "{"p":"brc-20","op":"mint","tick":"rssc","amt":"1000"}" }` |
| parsed\_content | (For textual inscriptions) The parsed content of the inscription, could be a utf-8 string or a json object |
|
| content\_protocol | (For json inscriptions with a p key)The protocol of the inscription, derived with json\_content\['p'] | brc-20 |
| is\_unstable | Indicates if the inscription is considered unstable. The definition might change overtime as the ordinals ecosystem evolves Currently, an inscription is considered unstable is input index > 0 | true/false |
| genesis\_fee | The tx paid during the inscription of the ordinal, in satoshis | 19384 |
| satoshi\_timestamp | Timestamp where the satoshi was minted in the coinbase block | 2023-05-10 14:25:01 |
| collection\_name | Collection name of the inscription, if applicable. | ordfish |
| collection\_slug | Collection slug of the inscription, if applicable.
| ordfish |
| collection\_supply | Collection supply, if applicable. | 100 |
| collection\_icon | Collection icon, if applicable. | 5b182278c42d5a74ab4dd9f43826a0a2fce0158000001ed3bdf44873f1378d93i0 |
| collection\_description | Description of the collection, if applicable. | Ordinary literary fish. Look up an ordfish by entering its satoshi code into ordinals.com or aesthetic.computer |
| collection\_twitter\_link | Collection Twitter link, if applicable. | [https://twitter.com/digitpain](https://twitter.com/digitpain) |
| collection\_discord\_link | Collection Discord link, if applicable. | [https://discord.gg/aesthetic-computer](https://discord.gg/aesthetic-computer) |
| collection\_website\_link | Collection Website link, if applicable. | [https://aesthetic.computer](https://aesthetic.computer) |
| is\_brc20 | Derived with content\_protocol = 'brc-20'. To be deprecated for is\_token + content\_protocol | FALSE |
| is\_token | Used to identify token-like standards. Derived with | TRUE |
| token\_op | Operation: Type of event (mint, transfer, reg, deploy). | mint |
| token\_tick | The tick of the token-like inscription. Derived with content\_parsed\['tick'] | ordi |
| token\_amt | The amout specified in the token-like inscription. Derived with content\_parsed\['amt'] | 1000 |
| domain\_protocol | Domain name protocol used to parse the content | sns bitmap |
| domain\_name | the domain name (portion before the . ) | abc |
| domain\_namespace | the domain namespace (portion after the . ) | sats |
| domain\_valid | true/false - domains are invalid if they are not the first or are unstable inscriptions | true/false |
| domain\_meta | the metadata of the domain op, such as about, rev, avatar fields. | `{"avatar":"cfab194b924f7785c6e453728e1c264b89b74843633278cda3ad3f57576c1e93i0","op":"reg"}` |
| is\_domain | true/false - whether the domain name/namespace fit the requirements of sns/bitmap protocols.
| true/false |
| output\_address | The receiver address of the ordinal in the inscription tx | bc1pq5e2zyzc486jwzlnfxtxvg6qutgffeulp3meuyrfc24v3sdyta5s2juu6r |
| output\_utxo\_id | The output utxo id of the ordinal in the inscription tx | 7dfc561a916935c6e27510e8a463b74bfa948ff1467f404b61892817d27804ca:0 |
| spent\_transaction\_hash | The transaction\_hash of the spent input utxo in the inscription tx | 80de7ec2cbcf7fa9b14a9833107efe5a453be772abb5e3e697668da9b755f6b1 |
| spent\_output\_index | The output index of the spent input utxo in the inscription tx | 8 |
| input\_addresses | The owner(s) of the spent input utxo in the inscription tx | bc1p9qtz90zjg85s458uw453ycnlt32xq5tg5fau5cp7gn6nv0me6xsq70y8xr |
| input\_address0 | input\_addresses\[0] | bc1p9qtz90zjg85s458uw453ycnlt32xq5tg5fau5cp7gn6nv0me6xsq70y8xr |
| spent\_utxo\_id | The utxo id of the spent input utxo in the inscription tx | 80de7ec2cbcf7fa9b14a9833107efe5a453be772abb5e3e697668da9b755f6b1:8 |
| value | The value of the spent input utxo | 853 |
| transaction\_hash | The transaction\_hash of the inscription tx | 7dfc561a916935c6e27510e8a463b74bfa948ff1467f404b61892817d27804ca |
| block\_hash | The block\_hash of the inscription tx | 00000000000000000003992047db606364ba3d7fda5d343fc9a3155961a4f976 |
| block\_number | The block\_number of the inscription tx | 785817 |
| block\_timestamp | The block\_timestamp of the inscription tx | 2023-04-17 14:57:25.000 |
| unique\_id | Unique ID of the inscription. | a997f335430dc852e42dddeca28ddb4b915cc09d07ed16794bee6d25aeee9db1i0 |
| Marketplace |
|---|
| ordwallet |
| ordswap |
| openordex |
| magiceden |
| gamma |
| unisat |
| okx |
Fees paid by the NFT buyer.
It might be "unimplemented" if we haven't parse the fees for that protocol yet. Otherwise, it will be a json with 9 columns.
"creator" fees are the ones paid to the nft creator (royalties); "platform" fees are paid to the marketplace; "total" fees are the sum of both fees
Use this syntax to access a specific fee:buyer\_fees\['usd\_total']::double. And don't worry about the unimplemented ones, they will become null
| `{ "creator": 0.625, "platform": null, "raw\_creator": "625000000000000000", "raw\_platform": null, "raw\_total": "625000000000000000", "total": 0.625, "usd\_creator": 0.40125, "usd\_platform": null, "usd\_total": 0.40125 }` | | seller\_fees | Fees paid by the NFT seller. Similar in structure to `buyer_fees` | `{ "creator": 0.625, "platform": null, "raw\_creator": "625000000000000000", "raw\_platform": null, "raw\_total": "625000000000000000", "total": 0.625, "usd\_creator": 0.40125, "usd\_platform": null, "usd\_total": 0.40125 }` | | agg\_fees | Sum of the fees paid by the NFT buyer and the seller. Similar in structure to `buyer_fees` | `{ "creator": 0.625, "platform": null, "raw\_creator": "625000000000000000", "raw\_platform": null, "raw\_total": "625000000000000000", "total": 0.625, "usd\_creator": 0.40125, "usd\_platform": null, "usd\_total": 0.40125 }` | | raw\_fee | Fee of the trade in number of satoshis. (deprecated) | 100000 | | fee | Fee of the trade normalized. (deprecated) | 0.001 | | usd\_fee | USD value of the feeade. The USD value of the feede is calculated by multiplying the hourly exchange rate of the currency (e.g. BTC) with the price oracle data source from exchanges during the hour of the trade. (deprecated) | 22.21803 | | item\_quantity | Number of NFTs traded within this utxo. As each row in the table is a transfer of 1 UTXO, in some cases, 2 inscriptions can be in 1 UTXO, resulting in a bundle trade. | 1 | | inscription\_id | inscription id, composed of the genesis transaction hash with a i0 suffix to represent the first inscription in the tx | 83f84267835b46aa44ab9f6e829c1363f2c5bc882d04242d20b832a034633779i0 | | inscription\_name | The inscription name, if available. | | | inscription\_number | The inscription number, sometimes known as index, if available | 1980222 | | collection\_name | The collection name, if available. | Bitcoin Punks | | collection\_slug | The collection slug, if available | bitcoin-punks | | content\_type | Content type of the inscription | text/plain | | content\_tag | Content tag, which is a reclassification of the raw `content_type` field to make it easy to analyze. |image
video
application
audio
text
model
others
(For json inscriptions with a p key)
The protocol of the inscription, derived with json\_content\['p']
(For textual inscriptions)
The parsed content of the inscription, could be a utf-8 string or a json object
hello world
`{"p":"brc-20","op":"transfer","tick":"pepe","amt":"500"}`
Used to identify token-like standards.
Derived with content\_protocol = 'brc-20' or 'orc-20' or 'orc20'
The tick of the token-like inscription.
Derived with content\_parsed\['tick']
The amout specified in the token-like inscription.
Derived with content\_parsed\['amt']
Satoshis per token-like amount.
Derived with satoshi of the trade / token\_amt
USD per token-like amount.
Derived with USD of the trade / token\_amt
sns
bitmap
true/false - whether the domain name/namespace fit the requirements of sns/bitmap protocols.
Malformed/illegal formats of inscriptions are removed here. There may be some edge cases because sns allows text inscriptions which have lots of noise.
| Raw | Description |
|---|---|
| blocks | Blocks data, including block size, difficulty and confirmations. |
| transactions | Transactions level data. |
| inputs | Input data of Bitcoin transactions. |
| outputs | Output data of Bitcoin transactions. |
| Column Name | Description | Example |
|---|---|---|
| timestamp | Timestamp of the block. | 2023-05-18 02:56:03 |
| number | Block number or block height. | 790,250 |
| hash | Block hash. | 0000000000000000000222dfc9297b2bb90481bfa28fd04ac2e8a4dfdaab5a15 |
| confirmations | The number of confirmations, or -1 if the block is not on the main chain. A confirmation indicates that a Bitcoin transaction has been added to a block on the blockchain. | 2 |
| version | The block version. | 538,968,064 |
| merkle\_root | The root node of a Merkle tree, where leaves are transaction hashes. | 93878cb1f1f39c03b22be799f520ed0203deb6b95db372962a60fb02e58f7ff5 |
| median\_time | The median block time expressed in UNIX epoch time. | 1,684,374,147 |
| nonce | A 32-bit number that miners change to try to get a valid block hash. | e0e8d097 |
| bits | The difficulty threshold specified in block header. | 1705dd01 |
| difficulty | The estimated amount of work done to find this block relative to the estimated amount of work done to find block 0. | 48,005,534,313,578.80 |
| chainwork | Expected number of hashes required to produce the current chain. | 000000000000000000000000000000000000000048d25064eab6183fd989af8a |
| transaction\_count | Total number of transactions in the block. | 2,958 |
| previous\_blockhash | The block hash of the previous block. | 000000000000000000026f3c94574a40692053865a537c480609f6a5c451009a |
| next\_blockhash | The block hash of the next block, if applicable. | 0000000000000000000085aae10b84ae22c3f41399a0aa6018351e803739455b |
| stripped\_size | The block size excluding witness data. | 804,075 |
| size | Size of the block mined. | 1,585,359 |
| weight | The block weight as defined in BIP 141. | 3,997,584 |
| \_stg\_created\_at | Data creation timestamp at staging level. | 2023-05-18 03:03:18 |
| \_created\_at | Data creation timestamp. | 2023-05-18 05:03:07 |
| Column Name | Description | Example |
|---|---|---|
| hash | Transaction hash. | af840d1abd0b6857c197ec0e1bdc5b852db03f0bc9aac2f9472b5513155d9330 |
| size | The serialized transaction size. | 223 |
| virtual\_size | The virtual transaction size (differs from size for witness transactions). Virtual size is a way of measuring the size of a transaction that takes into account the amount of data needed to create the transaction, as well as the priority of the transaction. | 141 |
| version | The transaction version number. | 1 |
| lock\_time | The transaction lock time. | 0 |
| block\_hash | Unique hash of the transaction. | 00000000000000000001e89fb4c1b662debc5200b58e53295f509c98416818c2 |
| block\_number | Block hash of the transaction. | 779,762 |
| block\_timestamp | Block number or block height of the transaction input. | 2023-03-07 16:59:59 |
| input\_count | The total number of inputs in the transaction. | 1 |
| output\_count | The total number of outputs in the transaction. | 2 |
| output\_value | Total value of outputs in the transaction in satoshi. | 4,300,103 |
| is\_coinbase | The transaction is a coinbase transaction, which is the first transaction in a block | FALSE |
| fee | The transaction fee paid to the miner in bitcoin. Calculated by the substracting the input\_value with the output\_value. | 2,961 |