Get delegation weights

Returns the vote weight delegated to each representative, in micro-XE, plus the network total.

Returns the vote weight currently delegated to each representative, in micro-XE, plus the sum across all representatives.

GET/delegation
curl https://<node>/delegation

Response

{
  "weights": {
    "<representative address>": 0
  },
  "total_weight": 0
}
FieldMeaning
weightsRepresentative address → delegated vote weight in micro-XE.
total_weightSum of every representative's weight, in micro-XE.

Representatives with zero weight are omitted from weights.

How weight is derived

Every block carries an optional representative field. An account's chosen representative accrues that account's XE balance as vote weight; a block that leaves representative empty keeps the account's existing delegation.

Only XE confers weight. XUSD is mintable by an authorized minter, so counting it would let minting manufacture consensus weight.

Because weight tracks the XE balance, it moves on every balance change: a send subtracts the old balance from the old representative and adds the new balance to the current one.

Divergence signal

The weights are maintained incrementally in memory and re-derived from the ledger on startup. GET /node reports delegation_underflows — a running count of times a subtraction would have driven a representative's weight below zero. Any non-zero value means the in-memory weights have diverged from the ledger and are feeding quorum math; it is an alert condition, not a warning.