Blueprints
A blueprint is an API that provides access to on-chain data in a user-friendly format. There's no need for ABIs, decoding, RPC, or web3 knowledge to fetch blockchain data. Every chain exposes the default blueprints below:
Events BlueprintCopied!
Blockchain events offers developers a powerful way to track and analyze blockchain events emitted by smart contracts. This endpoint provides access to detailed event information, such as the address of the contract that generated the event, the transaction that triggered it, and when and where the event occurred on the blockchain. By offering data points like event topics, block numbers, and transaction hashes, developers can easily filter and search for specific event types, such as token transfers or contract executions. With precise timestamps and block references, the Events Blueprint ensures that developers have real-time access to critical on-chain activity, enabling them to build responsive, high-performance applications that can monitor, analyze, and react to blockchain events seamlessly. Whether working on DeFi, NFTs, or general dApps, this endpoint helps unlock the full potential of blockchain data in any project.
Blueprint Details
Name |
Description |
Example |
---|---|---|
Address |
The |
If the event is related to an ERC-20 token transfer, the address would be the smart contract address of the token. For instance, if you’re tracking events for the USDT token, the address would be the contract address of USDT on Ethereum. |
Chain ID |
The |
Ethereum’s mainnet has a chain_id of 1, while Binance Smart Chain has a chain_id of 56. This field ensures you know which network the event is coming from, which is crucial when interacting with multiple EVM chains. |
Data |
The |
In an ERC-20 Transfer event, the data might include the number of tokens transferred in raw hexadecimal format. For instance, if 1000 USDT were transferred, this value would be encoded in the event’s data field. |
Log Index |
The log_index is the order of the log (event) in the list of all events within the block. It helps you pinpoint exactly where this event is located in the block. |
If multiple events occurred within the same block (e.g., multiple token transfers), the log_index tells you the sequence of this particular event. For example, it might be the 3rd event in the block. |
Topics |
The |
In an ERC-20 Transfer event, the first topic would be the hash of the event signature |
Transaction Hash |
The |
If you transfer 1 ETH to another wallet, the transaction hash might be 0x5c7b6f... which uniquely identifies that transaction. Using this hash, you can look up the transaction in any block explorer (e.g., Etherscan) to see all the details. |
Transaction Index |
The |
If a block contains 100 transactions, the transaction_index might indicate that this event was triggered by the 45th transaction in the block. This is useful for debugging or tracing the order of execution. |
Block Hash |
A |
If you wanted to verify that a particular transaction or event was part of a block, you could use the block hash to check its integrity. Think of it as a digital signature for the entire block, such as 0x91d… representing all transactions within that specific block. |
Block Number |
The |
Block number 12,345,678 on Ethereum might contain transactions from a particular moment, such as the transfer of 10 ETH between two accounts. You can think of block numbers like page numbers in a ledger. |
Block Timestamp |
The |
If block 12,345,678 was mined on July 1, 2023, at 12:30 PM UTC, the timestamp will reflect this exact moment. This helps you pinpoint when an event, such as a token transfer, actually happened in real time. |
Transactions BlueprintCopied!
Transaction data equips developers with the tools they need to interact with blockchain data efficiently and effectively. By providing clear, actionable insights into each transaction, the API helps streamline tasks like monitoring smart contract interactions, tracking asset transfers, and debugging. Developers can rely on this endpoint to access essential transaction details, enabling faster troubleshooting and more informed decision-making. Whether building DeFi platforms, dApps, or blockchain-based analytics tools, transaction data is the essence for all interactions with any chains.
Blueprint Details
Name |
Description |
Example |
---|---|---|
From Address |
This is the address that initiated the transaction. It represents the sender who paid for the gas to execute the transaction. |
If a user sends 1 ETH from their wallet, the |
To Address |
This is the recipient of the transaction. It could be another wallet or a smart contract. |
If sending ETH to a friend, their wallet address, like |
Hash |
The unique identifier (hash) of the transaction. This hash can be used to look up and verify the transaction on the blockchain. |
A transaction might have a hash like |
Value |
This is the amount of cryptocurrency (in wei) being transferred in the transaction. |
If transferring 1 ETH, the |
Gas |
This is the maximum amount of gas units the sender is willing to pay for the transaction to be processed. It limits how much work the transaction can perform on the blockchain. |
A simple ETH transfer might require 21,000 gas, while calling a complex smart contract function could require significantly more, such as 100,000 gas. |
Gas Price |
The price per gas unit the sender is willing to pay, expressed in wei (the smallest unit of ETH). The total transaction cost is calculated as |
If the |
Max Fee Per Gas |
This is the maximum amount of gas fees (in wei) the sender is willing to pay for each gas unit. It was introduced in EIP-1559 to provide a cap on gas costs. |
If |
Max Priority Fee Per Gas |
This is the maximum additional fee the sender is willing to pay to incentivize miners to prioritize their transaction. Also introduced in EIP-1559. |
A transaction might specify a |
Data |
The |
In a call to a DeFi contract's |
Nonce |
The nonce is the number of transactions sent from the sender’s address. It ensures that transactions are processed in the correct order and prevents double-spending. |
If the |
Transaction Index |
The position of the transaction within the block. It indicates the order in which the transaction was included relative to other transactions |
If the |
Transaction Type |
The type of transaction, typically either legacy (type |
A |
Access List |
The |
When a transaction interacts with a smart contract, the |
Chain ID |
The |
On Ethereum mainnet, the chain ID is |
Block Hash |
This is the unique identifier (or "fingerprint") of the block that includes this transaction. The hash ensures that the block hasn't been altered. |
If the transaction is included in block |
Block Number |
The block number indicates the specific position of the block in the blockchain that contains the transaction. |
If a transaction is included in block |
Block Timestamp |
This is the exact time when the block containing the transaction was mined and added to the blockchain. |
If the transaction was confirmed on July 1, 2023, at 12:30 PM UTC, the block timestamp will reflect this moment. It's useful for analyzing when specific activities (like token transfers) occurred. |
r, s, v |
These are the cryptographic components of the transaction signature. They prove that the transaction was signed by the private key associated with the sender's address. |
The |
Tokens BlueprintCopied!
Tokens on blockchain can be of different standards, but ones of the most widely used ones are:
-
ERC-20 for fungible tokens
-
ERC-721 and ERC-1155 for NFTs
This endpoint provides access to such tokens’ balances information for a given owner address.
Blueprint Details
ERC-20 balances of an address
GET
/v1/{clientId}/tokens/erc20/:ownerAddress
Path Parameters:
-
ownerAddress
(required) -
clientId
Successful response schema:
-
[application/json]
[ { "tokenAddress": "…", "balance": "…" } ]
ERC-721 tokens of an address
GET
/v1/{clientId}/tokens/erc721/:ownerAddress
Path Parameters:
-
ownerAddress
(required) -
clientId
Successful response schema:
-
[application/json]
[ { "collectionAddress": "…", "tokenId": "…", "balance": "…" } ]
ERC-721 tokens of an address
GET
/v1/{clientId}/tokens/erc1155/:ownerAddress
Path Parameters:
-
ownerAddress
(required) -
clientId
Successful response schema:
-
[application/json]
[ { "collectionAddress": "…", "tokenId": "…", "balance": "…" } ]