Problem
When recovering historical IBC orphan packets (or doing forensic analysis), users need to find Osmosis archive nodes with full tx-index — going back to the original send_packet/write_acknowledgement events. Currently there's no documented way to discover such endpoints; chain-registry's apis.rpc[].address list contains only operators whose tx-index has been pruned to ~h=41M+ (roughly 6 months).
I recently exhausted ~30 public Osmosis RPC endpoints from chain-registry, restake.app, and validators.cosmos.directory while trying to recover 12 stuck IBC packets at h<41M. None retain tx-index that far back. Some endpoints advertise earliest_block_height=0 in /status but querying block_results?height=37000000 returns "lowest height is 41066117" — earliest_block_height reports state-archive depth, not tx-index depth.
Discussion + tracker: osmosis-labs/osmosis#9682
Proposal
Add an optional tx_index_earliest_block_height field to the apis schema, or document a convention/community list of true archive endpoints with full tx-index. This would help anyone doing:
- IBC orphan recovery (any IBC operator may eventually need this)
- Cross-chain forensic analysis
- Reproducing historical chain state for debugging
It would also make explicit which providers commit to long-term tx-index retention vs. which prune for cost reasons.
Alternatives
A separate archives.json file per chain could list endpoints retaining state + tx-index for various depths (e.g., 6mo, 1y, full). Operators could opt in.
Specific ask (Osmosis)
If anyone reading this operates an Osmosis archive with tx-index from 2024, please reply with the endpoint or post the result of:
curl 'https://YOUR_RPC/tx_search?query=%22send_packet.packet_src_channel%3D%27channel-232%27%20AND%20send_packet.packet_sequence%3D%2751441%27%22'
That would unblock a small batch of stuck IBC packets (~$60-600 in user funds across 12 seqs).
Cross-posted at:
Problem
When recovering historical IBC orphan packets (or doing forensic analysis), users need to find Osmosis archive nodes with full tx-index — going back to the original
send_packet/write_acknowledgementevents. Currently there's no documented way to discover such endpoints; chain-registry'sapis.rpc[].addresslist contains only operators whose tx-index has been pruned to ~h=41M+ (roughly 6 months).I recently exhausted ~30 public Osmosis RPC endpoints from chain-registry, restake.app, and validators.cosmos.directory while trying to recover 12 stuck IBC packets at h<41M. None retain tx-index that far back. Some endpoints advertise
earliest_block_height=0in/statusbut queryingblock_results?height=37000000returns "lowest height is 41066117" —earliest_block_heightreports state-archive depth, not tx-index depth.Discussion + tracker: osmosis-labs/osmosis#9682
Proposal
Add an optional
tx_index_earliest_block_heightfield to the apis schema, or document a convention/community list of true archive endpoints with full tx-index. This would help anyone doing:It would also make explicit which providers commit to long-term tx-index retention vs. which prune for cost reasons.
Alternatives
A separate
archives.jsonfile per chain could list endpoints retaining state + tx-index for various depths (e.g., 6mo, 1y, full). Operators could opt in.Specific ask (Osmosis)
If anyone reading this operates an Osmosis archive with tx-index from 2024, please reply with the endpoint or post the result of:
That would unblock a small batch of stuck IBC packets (~$60-600 in user funds across 12 seqs).
Cross-posted at: