# getBlockCommitment

> Returns the stake-weighted vote commitment history for a specific block.

Source: https://docs.constant-k.com/rpc/http/getblockcommitment/

`getBlockCommitment` returns how much stake, bucketed by confirmation depth, voted on a given slot, plus the cluster's total active stake.

Most applications rely on the higher-level `confirmationStatus` field from `getSignatureStatuses` instead of this lower-level, per-slot view.

- Transport: HTTP, JSON-RPC 2.0 `POST` to `https://rpc-newyork.constant-k.com/?api-key=YOUR_API_KEY` (New York) or `https://rpc-frankfurt.constant-k.com/?api-key=YOUR_API_KEY` (Frankfurt) or `https://rpc-amsterdam.constant-k.com/?api-key=YOUR_API_KEY` (Amsterdam). The key also works as an `x-api-key` header.
- Category: Blocks
- Availability: All plans
- Rate limits: Free 2/s · Operator 5/s · Blade Runner 50/s · Nexus 100/s

## Parameters

`params` is a positional JSON array, in this order:

- `slot` (integer, required): Slot number to check commitment for.

## Result

- `result` (object, optional): Commitment info for the slot. Not wrapped in a context/value envelope.
  - `commitment` (integer[] | null, required): Null once the slot has fallen out of the node's recent-vote tracking window (typically because it's already finalized and aged out) — see Notes.
    - `option 1` (integer[], optional): A 32-element array: index N is the amount of stake, in lamports, that has voted on this slot with N confirmations.
    - `option 2` (null, optional)
  - `totalStake` (integer, required): Total active stake on the network, in lamports, at the time of the response.

## Example: Get commitment for an already-finalized slot

Request:

```bash
curl "https://rpc-newyork.constant-k.com/?api-key=YOUR_API_KEY" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getBlockCommitment",
    "params": [447946420]
  }'
```

Response:

```json
{
  "jsonrpc": "2.0",
  "result": {
    "commitment": null,
    "totalStake": 439761082744931200
  },
  "id": 1
}
```

## Notes

- `commitment` is `null` for almost every real call: the node only keeps per-confirmation-depth data for recent, unrooted slots, and reverts to null once a slot finalizes and ages out (though `totalStake` keeps being reported). A populated array is only observable within seconds of the slot being produced.
- This is a per-slot view; `getSignatureStatuses` reports a specific transaction's confirmation progress instead.

