Feeder Gateway Deprecation

TL;DR

The Starknet feeder gateway, a temporary solution for querying the sequencer’s state, is being replaced by Starknet full nodes (Pathfinder, Juno, Papyrus) and RPC services. It will stop serving most queries by November (on Testnet), retaining only synchronization-related endpoints.

Motivation

The Starknet feeder gateway serves as a gateway for querying the centralized sequencer on the state of Starknet. It was meant to be used as a temporary solution until full nodes that support Starknet’s JSON-RPC mature and are able to meet the needs of the ecosystem. Starknet will have three different full-node implementations in production (Pathfinder, Juno, and soon Papyrus). Consequently, it is time to deprecate the feeder gateway and migrate to RPC providers.

Schedule

The feeder gateway will stop supporting most queries in the following schedule -

  • Integration: November 8
  • Testnet: November 19
  • Mainnet: December 11

The feeder gateway will continue to support queries required for full nodes to synchronize on the state of Starknet.

Full list of endpoints

Methods that will continue to be supported are:

  • get_oldest_transaction_age
  • get_number_of_transactions_in_backlog
  • get_block
  • get_block_hash_by_id
  • get_block_id_by_hash
  • get_contract_addresses
  • get_class_by_hash
  • get_compiled_class_by_class_hash
  • get_state_update
  • get_transaction
  • get_transaction_status
  • get_signature
  • get_public_key

Methods that will be removed are:

  • call_contract
  • estimate_fee
  • estimate_fee_bulk
  • estimate_message_fee
  • simulate_transaction
  • get_class_hash_at
  • get_code
  • get_full_contract
  • get_nonce
  • get_storage_at
  • get_transaction_hash_by_id
  • get_transaction_id_by_hash
  • get_transaction_receipt
  • get_transaction_trace (Starting in v0.13.2)
  • get_block_trace (Starting in v0.13.2)

Additionally, the feeder will accommodate historical data until the inception of Starknet v0.12.3. The upcoming RPC version 0.5.0 will provide extended support, allowing the RPC to supply all the information that was previously available from the feeder gateway.

To adapt, users should transition to using RPC providers.

StarkWare will be running an open RPC endpoint (based on Papyrus) for the Integration environment, and Nethermind will be operating an open RPC endpoint (Juno based) for the Integration environment as well.

Hey guys, I created Pathfinder-based interactive examples that are counterparts to the feeder gateway deprecated methods. Feel free to check them out https://docs.chainstack.com/reference/getting-started-starknet

Should the average user do something?

I don’t get it, should we, as an average Starknet enjoyer, change our wallet RPC’s? When we change the RPC’s on Argent X and Braavos wallets, it immediately changes our wallet addr. What to do? Average users doesn’t get this announcements.

This post is targeted for wallets, other infra tools (e.g. full nodes and indexers), and dapp developers. If you’re only interacting with Starknet via wallets, then this is a no-op on your end (wallets will have to make sure they transition to use RPC providers on their latest version).

Starting in v0.13.2, two trace endpoints of the feeder gateway will be deprecated. The original post has been edited to reflect this change. You can read more about version 0.13.2 in the pre-release notes.