Indexed IoTeXBlockchain Data
IoTeX, a proof-of-stake Layer 1 built for DePIN, pairs an EVM with a native action model, and writes the same account as io1 in one place and 0x in another.
How to query IoTeX data with SonarX
Instant Data Share
Enabled on requestSnowflake, and file dumps to your object storage
Query IoTeX blockchain data with plain SQL from a live database inside your own Snowflake account, populated with the indexed chain dataset. There is no pipeline to build and no second copy to store. The same dataset ships as file dumps to your own object storage for lakes and warehouses that are not Snowflake.
- Full history as a Snowflake data-share
- File dumps to S3 or your own object storage
Used for:
- Analytics teams already on Snowflake that want IoTeX data beside their existing tables
- Fund accounting and treasury reporting that reconciles against a fixed history
- Cross-chain questions answered in one SQL statement instead of one query per chain
- Loading IoTeX history into BigQuery, Databricks, Redshift or a Spark lake
- Replacing a self-hosted indexer and the engineering time that keeps it running
- Serving one governed dataset to several desks without copying it per team
Kafka Streaming
Enabled on requestEvent stream
Consume IoTeX activity as a continuous stream of normalized records, produced as the chain is indexed instead of polled for.
Used for:
- Trading and execution systems that act on IoTeX activity within seconds
- Fraud and anomaly detection that has to fire before settlement
- Live dashboards and alerting on IoTeX wallet or protocol activity
- Feeding a stream processor that already reads from Kafka
- Keeping an internal store hot without waiting for a batch window
- Event-driven services that would otherwise poll on a timer
Balances
Enabled on requestTables and REST
Read what a IoTeX address held, either as it stands now or exactly as it stood at a past block or timestamp.
- Point-in-time balance tables, as at any block or timestamp
- Real-time balances API for latest and historical balances
- Batch API for wallets, tokens and balances in bulk
Used for:
- Reconstructing IoTeX portfolios and NAV as at a reporting date
- Audit and reconciliation work that has to be repeatable months later
- Wallet and portfolio products that render IoTeX balances on page load
- Compliance checks that read one IoTeX address at one block height
- Refreshing holdings for a whole book of accounts on a schedule
- Tax and cost-basis workflows that need holdings at each event
Realtime API
Enabled on requestREST over the indexed dataset
Query indexed IoTeX records over REST, reading the same dataset the share reads, with no warehouse in the path.
Used for:
- Applications that need one answer rather than a table scan
- Customer-facing screens where query latency is visible to a user
- Services that have no data warehouse and do not want to run one
- Prototyping against production data before committing to a share
- Backend checks that run per request instead of per batch
- Teams that want indexed IoTeX data behind their own API layer
IoTeX data: frequently asked questions
What is IoTeX?
IoTeX has produced blocks as its own Layer 1 since 2019, the year IOTX stopped being an ERC-20 and became the native token of the chain. Consensus is Roll-DPoS: delegates are elected by stake, a verifiable random function draws a committee from them each round, and that committee finalizes blocks under a PBFT vote. Execution is EVM-compatible, so Solidity contracts deploy unchanged and the chain’s fungible token standard, XRC-20, matches ERC-20 field for field. IoTeX was built for DePIN, the class of networks that pay for physical work such as sensing, mapping and wireless coverage. One property shapes every query against it: an account has a bech32 form beginning io1 and a twenty-byte 0x form, and both are the same keys. Token standards and contract shapes come from Ethereum, the identity model does not.
IoTeX data on SonarX
SonarX indexes IoTeX blocks and headers, transactions and receipts, decoded event logs, execution traces including internal value transfers, and token transfers and balances. Native actions that move value without a contract call are indexed beside the EVM records.
Full historical coverage is provisioned for IoTeX on request. Balance tables and the balance APIs can be enabled for IoTeX on request. Kafka streaming can be enabled for IoTeX on request.
How SonarX indexes IoTeX
Two encodings of one account are the standing problem. Every address appears as io1 in native tooling and as 0x in EVM tooling, so a holder view built from one form alone splits a single owner in two, and both are normalized to one account before balances are derived. The second problem is that not everything is a contract call. Transfers, staking buckets and reward claims are typed native actions with their own payloads, so a history assembled from decoded logs would miss the value that never entered the EVM.
What teams build with IoTeX data
Reward accounting is the recurring workload, because delegation, epoch rewards and the release of matured buckets are protocol records a fund has to derive rather than read off a transfer log, and staking analytics is the solution area it belongs to. Token-flow analysis is the second, following XRC-20 assets and the bridged supply that arrived from Ethereum. Address-level research is the third, and it is where the two encodings matter most, since a study that treats io1 and 0x forms as separate wallets will double its population. Teams tracking networks that pay for physical or computational work usually pull Akash Network into the same warehouse.
Getting IoTeX data from SonarX
Tell us the delivery target, how far back you need and how fresh it has to be, and the share is scoped against that. IoTeX coverage is provisioned on request, so tell us the history depth and the delivery target and we will scope it. The published coverage matrix for every network SonarX indexes lives in the data documentation, and the rest of the catalogue is at all indexed chains.
Is there an IoTeX data API?
Real-time and batch APIs over indexed IoTeX data are enabled on request: the same indexed dataset the Snowflake share reads, served over REST once provisioned. Tell us the lookup pattern you need.
How do I get IoTeX data into Snowflake?
SonarX provisions a data-share into your own Snowflake account. The share appears as a database you query with SQL, so there is no pipeline to build and no second copy to store, and it stays current as SonarX advances the indexing pipeline.
How far back does IoTeX coverage go?
The historical data-share and file delivery cover the chain from its 2019 mainnet forward, and are provisioned on request. That span begins where IOTX stopped being an ERC-20 and became a native asset, so token history from before the migration sits on Ethereum rather than here.
Why does one IoTeX account have two addresses?
Because the chain carries two encodings of the same keys. Native tooling writes an account in bech32 with an io1 prefix, while EVM tooling writes the same twenty bytes as a 0x address, and neither is an alias of a different account. Any holder count or balance history that reads one encoding alone will split a single owner into two, so SonarX resolves both to one account before deriving balances.
How does IoTeX record staking and rewards?
As typed native actions rather than as contract calls. Stake is locked into buckets with an amount and a duration, and delegation and reward claims are protocol-level records with their own payloads, not ERC-20 events. An address history built only from decoded logs therefore misses value that moved without ever entering the EVM, which is why SonarX indexes the native action set beside the contract records.