Get account reputation

Returns the reputation aggregate for a single account — raw counters derived from that account's on-chain lease activity.

Returns the reputation aggregate for a single account: a set of raw counters derived from that account's on-chain lease activity, as provider and as consumer.

GET/accounts/{address}/reputation

address is the account's hex-encoded ed25519 public key.

curl https://<node>/accounts/<address>/reputation

The CLI wraps the same endpoint:

xe reputation <address>

Response

{
  "version": 2,
  "leases_accepted_as_provider": 0,
  "leases_settled_as_provider": 0,
  "lease_hours_settled_as_provider": 0,
  "leases_unfulfilled_as_provider": 0,
  "leases_accepted_as_consumer": 0,
  "leases_settled_as_consumer": 0,
  "leases_cancelled_as_consumer": 0,
  "lease_hours_settled_as_consumer": 0,
  "leases_unfulfilled_as_consumer": 0,
  "first_activity_at": 0,
  "last_activity_at": 0
}
FieldMeaning
versionSchema version of the aggregate. Currently 2.
leases_accepted_as_providerLeases this account accepted as the provider.
leases_settled_as_providerLeases this account settled as the provider.
lease_hours_settled_as_providerSum of settled lease durations, in seconds, despite the field name.
leases_unfulfilled_as_providerLeases accepted as provider but never settled — a negative signal.
leases_accepted_as_consumerLeases accepted by a provider where this account was the consumer.
leases_settled_as_consumerLeases settled where this account was the consumer.
leases_cancelled_as_consumerLeases this account cancelled as the consumer.
lease_hours_settled_as_consumerSum of settled lease durations, in seconds, as consumer.
leases_unfulfilled_as_consumerLeases where the provider abandoned this account's lease.
first_activity_atUnix nanoseconds of the first reputation event for this account.
last_activity_atUnix nanoseconds of the most recent reputation event.

The counters are raw event tallies — the node does not compose them into a single score. They rise with lease activity, and are decremented again if the block that produced an event is later reorged out of the chain.

first_activity_at and last_activity_at are min/max reductions over the events actually applied; they are not restored on a reorg undo.

Errors

An account with no lease activity has no aggregate at all:

{ "error": "no reputation activity" }

That response carries HTTP 404.

Consistency

Reputation is node-local derived state, not consensus state: it is rebuilt from the node's lease records on startup and updated as blocks are applied. Two nodes can therefore report slightly different counters for a short window after a settle propagates. Do not treat a reputation read as a consensus fact.