2026-03-17Service

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 Data API endpoints below.

Replacement APIs

Impact

  • Service Affected: Aptos Indexer API
  • Effective Date: March 24, 2026
  • Deprecated Item: events schema
  • Recommended Alternative: Data API event query endpoints

What You May Need to Update

  • Rename parsed response fields from snake_case GraphQL fields to the Data API camelCase fields.
  • Replace any type- or indexed_type-based filtering with the Data API eventType parameter.
  • If you previously filtered with indexed_type, use the full event type string in eventType.
  • Remove GraphQL order_by logic. 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 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 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 schemaData 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 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, 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: 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 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: 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