[Service] 2026-03-17
Posted: March 17, 2026
Starting March 24, 2026, the events schema in the Nodit Aptos Indexer API will be deprecated.
This change follows the Aptos Foundation's deprecation direction. If you are currently using the events schema, please migrate to the Web3 Data API endpoints below.
Replacement APIs
If you are currently using the Aptos Indexer API events schema, you should migrate to the Web3 Data API before March 24, 2026.
This notice includes the field mapping, query examples, and migration notes you need for the update.
Impact
- Service Affected: Aptos Indexer API
- Effective Date: March 24, 2026
- Deprecated Item:
eventsschema - Recommended Alternative: Web3 Data API event query endpoints
What You May Need to Update
- Rename parsed response fields from snake_case GraphQL fields to the Web3 Data API camelCase fields.
- Replace any
type- orindexed_type-based filtering with the Web3 Data APIeventTypeparameter. - If you previously filtered with
indexed_type, use the full event type string ineventType. - Remove GraphQL
order_bylogic. Web3 Data API does not provide a separate ordering option and returns results by default intransactionVersion desc, theneventIndex descorder. - Replace GraphQL pagination logic with
rpp,page, orcursor. - If your integration depended on explicit ordering, verify your downstream logic against the default Web3 Data API sort order.
- If you previously used block-based range conditions only, you can also migrate to
fromDateandtoDatefor date-based queries. - If you need the total number of matched items, use
withCount: trueto includecountin the response. - Validate any downstream storage or parser code before March 24, 2026.
Migration Guide
If you currently query the Aptos Indexer API events schema, you can migrate most integrations by replacing the GraphQL event query with one of the Web3 Data API endpoints below:
- Use Get Events by Account when your existing query filters by event account address.
- Use Get Events by Type when your existing query filters by
typeorindexed_type. - Review any parsing logic that depends on snake_case field names.
Field Mapping
Indexer API events schema | Web3 Data API field | Notes |
|---|---|---|
account_address | accountAddress | Event owner account address |
creation_number | creationNumber | Event handle creation number |
sequence_number | sequenceNumber | Event sequence within the handle |
type | eventType | Full Move event type |
indexed_type | eventType | Truncated type-filter field; Use the full event type string in eventType |
data | data | Event payload structure is preserved as JSON |
event_index | eventIndex | Event position within the transaction |
transaction_version | transactionVersion | Transaction version |
transaction_block_height | blockHeight | Block height containing the event |
The Web3 Data API response also includes additional fields such as transactionHash, blockTimestamp, objectAddress, and objectOwnerAddress. Numeric fields may also be returned as integers rather than the string-based values commonly used in GraphQL responses.
Unlike the GraphQL events schema, Web3 Data API does not support a separate ordering option. Results are returned from newest to oldest by default in transactionVersion desc and eventIndex desc order. It instead provides additional flexibility through block-based and date-based range filters such as fromDate and toDate, and can return the total number of matched items by setting withCount to true.
Query Migration Examples
1. Querying events by account
If your existing GraphQL query filters by account_address, switch to Get Events by Account.
Before: Aptos Indexer API
query {
events(
where: {
account_address: { _eq: "0x7e783b349d3e89cf5931af376ebeadbfab855b3fa239b7ada8f5a92fbea6b387" }
}
order_by: { transaction_version: desc, event_index: desc }
) {
account_address
creation_number
sequence_number
transaction_block_height
type
data
event_index
transaction_version
}
}
After: Web3 Data API
curl --request POST \
--url 'https://web3.nodit.io/v1/aptos/mainnet/blockchain/getEventsByAccount' \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: {YOUR_API_KEY}' \
--data '{
"accountAddress": "0x7e783b349d3e89cf5931af376ebeadbfab855b3fa239b7ada8f5a92fbea6b387",
"fromDate": "2026-01-01T00:00:00Z",
"toDate": "2026-02-01T00:00:00Z",
"rpp": 10
}'
2. Querying events by type
If your existing GraphQL query filters by type or indexed_type, switch to Get Events by Type.
Use the Web3 Data API eventType parameter with the full event type string. If you currently use indexed_type, migrate that filter to eventType.
Before: Aptos Indexer API
query {
events(
where: {
type: { _eq: "0x1::fungible_asset::Withdraw" }
}
order_by: { transaction_version: desc, event_index: desc }
) {
account_address
creation_number
sequence_number
transaction_block_height
type
data
event_index
transaction_version
}
}
After: Web3 Data API
curl --request POST \
--url 'https://web3.nodit.io/v1/aptos/mainnet/blockchain/getEventsByType' \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: {YOUR_API_KEY}' \
--data '{
"eventType": "0x1::fungible_asset::Withdraw",
"fromDate": "2026-01-01T00:00:00Z",
"toDate": "2026-02-01T00:00:00Z",
"rpp": 10
}'
Please review your integration and update any logic that depends on the existing Aptos Indexer API events schema before the effective date.
Nodit Team