How Exchanges and Indexers Can Ingest Scheduled Transactions on Flow

The Forte upgrade on October 22 introduced Scheduled Transactions on Flow. Scheduled transactions allow smart contracts to schedule autonomous execution in the future without requiring any external trigger. This enables powerful use cases such as recurring payments, automated arbitrage, maintenance operations, and other time-based contract logic.

You can read more about Scheduled Transactions here:
https://developers.flow.com/build/tools/flow-cli/scheduled-transactions


How Exchanges and Block Explorers Should Ingest Scheduled Transactions

  1. gRPC Access API

If you are already tracking all transactions using the gRPC Access API, scheduled transactions may or may not be automatically ingested based on the way you ingest transactions.

  1. If you use GetTransaction or GetTransactionResult:
    You can query any transaction by ID. This includes:
  • User submitted transactions

  • Scheduled transactions

  • System transactions

This behavior is part of the Access API changes introduced in Height Coordinated Upgrade on Nov 20th, 2025. See the section “Access API changes for Scheduled Transactions” in patch notes here: https://github.com/onflow/flow-go/releases/tag/v0.44.0.

  1. GetBlockGetCollectionGetTransaction will NOT include Scheduled Transactions:

    If you ingest all transactions by querying for each block, then querying for collections in each block and finally querying for transactions in each collection, Schedule Transactions will not be retrieved since the GetCollection call does not include the System Collection that contains the scheduled transactions. Please switch to using the bulk query GetTransactionsByBlockID to receive ScheduleTransactions.

  2. If you use GetTransactionsByBlockID or GetTransactionResultsByBlockID:
    You will receive all transactions and results that are executed in that block, including scheduled transactions. This has been the case since the Forte release on Oct 22nd, 2025.

  3. If you want to query scheduled transactions directly:

The following gRPC methods are available for direct lookup by callback ID:

  • GetScheduledTransaction

  • GetScheduledTransactionResult

These return the same TransactionResponse and TransactionResultResponse types as for regular transactions.

2. REST API

Updates to the REST Access API mirror the gRPC changes:

  • Get Transaction by ID

  • Get Transaction Result by ID

Both endpoints now support querying any transaction by ID, including:

  • Submitted transactions

  • Scheduled transactions

  • System transactions

No additional flags are required. If you already integrate with these endpoints, you will automatically see scheduled transactions once they are executed and indexed.

3. Client libraries

If you are using the flow go sdk, FCL, or the Python SDK, you will receive scheduled transactions automatically. These SDKs use the GetTransaction calls, which now return scheduled transactions as part of the response unless you are using the GetBlock → GetCollection ->GetTransaction method described above.

Please let us know if you have any questions.

Thank you,

Flow Team