One label cannot describe every chain
A transaction can be observed, included and settled at different times. Solana uses commitment levels for reads and subscriptions. Robinhood Chain combines early sequencer confirmation with Ethereum settlement. Hyperliquid market-data messages follow their own API and exchange-state semantics; an EVM block tag is not a generic label for those messages.
Write an acceptance table
| Action | Example policy question |
|---|---|
| Trading signal | Can the strategy tolerate a later rollback or reconciliation? |
| Portfolio display | Should a recent observation be shown as provisional? |
| Payment credit | Which network settlement evidence is required before balance becomes withdrawable? |
| Historical analytics | How will reverted or replaced observations be removed? |
Choose the answer for the application rather than inheriting an SDK default. Store the acceptance stage with each record.
Solana commitment
Processed provides a node's early view, confirmed reflects cluster voting progress, and finalized is the strongest standard commitment. A stronger commitment can take longer. Keep the same commitment when comparing responses and remember that method support differs; getTransaction supports confirmed/finalized, not a processed transaction lookup.
Robinhood settlement
A sequencer acknowledgement or recent L2 head gives early ordering information. Batches posted to Ethereum and subsequent parent-chain finalization provide stronger evidence. Follow Robinhood's current finality documentation for safe/finalized behavior and withdrawal rules. Test monitoring against observed block hashes and stage transitions; avoid hardcoding a fixed number of seconds as a universal finality guarantee.
Verify the policy in your application
- Create one test transaction and store its initial observation as provisional.
- Poll the network-specific confirmation or settlement signal and record every state transition with a block hash or slot.
- Allow the application action only after the required acceptance stage is reached.
- Test delayed observations and a temporarily unavailable endpoint. A timeout should preserve an unresolved state instead of granting final settlement.