# getVoteAccounts

> Returns the current and delinquent vote accounts, with their stake and voting history.

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

`getVoteAccounts` returns every known vote account, split into `current` (within an acceptable slot distance of the tip) and `delinquent` (fallen behind). Each entry carries activated stake, commission, last voted slot, and recent epoch credits.

This walks the full vote-account set on every call; `votePubkey` narrows it to a single validator.

- 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: Staking & Inflation
- Availability: All plans
- Rate limits: Free 5/s · Operator 50/s · Blade Runner 200/s · Nexus 500/s

## Parameters

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

- `config` (object, optional): Optional configuration.
  - `commitment` (string, optional, one of `finalized`, `confirmed`, `processed`, default `"finalized"`): Bank state to read vote accounts from.
  - `votePubkey` (string, optional): Restrict the result to a single validator's vote account, base-58 encoded.
  - `keepUnstakedDelinquents` (boolean, optional, default `false`): When true, includes delinquent vote accounts that currently have no activated stake. By default these are filtered out.
  - `delinquentSlotDistance` (integer, optional): Number of slots a validator's last vote can trail the tip before it's classified delinquent instead of current. Defaults to the cluster's built-in delinquency threshold.

## Result

- `result` (object, optional): Vote accounts split into current and delinquent lists. Both arrays use the same vote-account-info shape.
  - `current` (object[], required): Vote accounts voting within the delinquency threshold.
    - `votePubkey` (string, required): Vote account address, base-58 encoded.
    - `nodePubkey` (string, required): Validator identity address, base-58 encoded.
    - `activatedStake` (integer, required): Total stake, in lamports, delegated to this vote account.
    - `epochVoteAccount` (boolean, required): Whether this vote account is staked for the current epoch.
    - `commission` (integer, required, min 0, max 100): Percentage of rewards the validator keeps before distributing the rest to delegators.
    - `lastVote` (integer, required): Most recent slot this vote account voted on.
    - `epochCredits` (integer[][], required): Recent epoch voting-credit history, newest last.
    - `rootSlot` (integer, required): Most recent slot this vote account rooted (finalized locally).
  - `delinquent` (object[], required): Vote accounts that have fallen behind the delinquency threshold. Items use the same shape as `current`.

## Example: Get all current and delinquent vote accounts

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": "getVoteAccounts", "params": [] }'
```

Response:

```json
{
  "jsonrpc": "2.0",
  "result": {
    "current": [
      {
        "votePubkey": "3S3BeBYmLJJi3zHSJdGWeow5tDSLa4dN4BoUfjXxjcp6",
        "nodePubkey": "5Qm5c1VmENbxYeLB6G5nP35zcF85nV2E3ZucMdTa6otc",
        "activatedStake": 28451903822104812,
        "epochVoteAccount": true,
        "commission": 5,
        "lastVote": 447947988,
        "epochCredits": [
          [
            1034,
            385412200,
            385327932
          ],
          [
            1035,
            385498104,
            385412200
          ],
          [
            1036,
            172004921,
            385498104
          ]
        ],
        "rootSlot": 447947957
      }
    ],
    "delinquent": [
      {
        "votePubkey": "8DoZohhtb7zFbUmfuLiDEyDUaRnScj5qLAoEKJ5fLNoC",
        "nodePubkey": "6fAvjESqSTgz2zjo88as1z2oPLRaBNp1DEa5Pe7PQG6Z",
        "activatedStake": 502881004512,
        "epochVoteAccount": true,
        "commission": 100,
        "lastVote": 447712004,
        "epochCredits": [
          [
            1034,
            380221004,
            380141852
          ],
          [
            1035,
            380221004,
            380221004
          ],
          [
            1036,
            380221004,
            380221004
          ]
        ],
        "rootSlot": 447711980
      }
    ]
  },
  "id": 1
}
```

_Long arrays in this example were trimmed._

## Notes

- A real mainnet-beta response lists well over a thousand `current` vote accounts; this example is trimmed to one per bucket.
- `activatedStake` is in lamports, not SOL; dividing by 1e9 gives SOL.
- A `commission` of 100 usually marks an inactive or test validator deliberately unattractive to delegate to, not one in trouble.

