Skip to main content

[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

Migration Required

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: events schema
  • 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- or indexed_type-based filtering with the Web3 Data API eventType parameter.
  • If you previously filtered with indexed_type, use the full event type string in eventType.
  • Remove GraphQL order_by logic. Web3 Data API does not provide a separate ordering option and returns results by default in transactionVersion desc, then eventIndex desc order.
  • Replace GraphQL pagination logic with rpp, page, or cursor.
  • 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 fromDate and toDate for date-based queries.
  • If you need the total number of matched items, use withCount: true to include count in 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 type or indexed_type.
  • Review any parsing logic that depends on snake_case field names.

Field Mapping

Indexer API events schemaWeb3 Data API fieldNotes
account_addressaccountAddressEvent owner account address
creation_numbercreationNumberEvent handle creation number
sequence_numbersequenceNumberEvent sequence within the handle
typeeventTypeFull Move event type
indexed_typeeventTypeTruncated type-filter field; Use the full event type string in eventType
datadataEvent payload structure is preserved as JSON
event_indexeventIndexEvent position within the transaction
transaction_versiontransactionVersionTransaction version
transaction_block_heightblockHeightBlock 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