in-solana by Supanode

What Is Commitment in Solana?

Commitment is the level of certainty that a transaction or account state will not be reverted. Solana RPC methods accept a commitment parameter with three levels.

Commitment levels

LevelMeaningLatency
processedTransaction was processed by the connected RPC node~0.5s
confirmedTransaction was confirmed by a supermajority of the cluster~0.5-2s
finalizedTransaction was finalized (rooted), cannot be rolled back~12-15s

Which to use

  • confirmed — the default for most applications. It is fast and provides strong guarantees. Rollbacks at the confirmed level are extremely rare.
  • finalized — use when you need absolute certainty: financial settlement, cross-chain bridges, irreversible actions.
  • processed — fastest but least reliable. The transaction may be in a fork that gets abandoned. Useful for UI updates where eventual consistency is acceptable.

In RPC calls

Most RPC methods default to finalized if no commitment is specified. To get faster responses at lower certainty:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getBalance",
  "params": [
    "vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg",
    { "commitment": "confirmed" }
  ]
}

Updated: