{
  "status": "unknown",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-10",
  "slug": "bounded-counter",
  "term": "Bounded counter",
  "aliases": [
    "Bounded Counter CRDT"
  ],
  "definition": "A bounded counter is a replicated counter that distributes update rights to preserve a numeric bound.",
  "note": "Local rights: Decrements consume rights; transfers move them between replicas. Monotonically increasing accounting entries merge by componentwise maximum, so merging the same state twice does not duplicate rights. [bounded-2015]\n\nExecution: Operations on each local counter must be serializable. If local rights are insufficient, a request can fail although rights remain elsewhere. Transfers across a partition cannot complete until communication permits. [bounded-2015]",
  "related": [
    "escrow-transactions",
    "invariant-confluence",
    "network-partition",
    "serializability"
  ],
  "citations": [
    {
      "id": "bounded-2015",
      "title": "Balegas et al. Extending Eventually Consistent Cloud Databases for Enforcing Numeric Invariants (2015), sections III-IV.",
      "url": "https://arxiv.org/pdf/1503.09052v1",
      "accessed": "2026-11-10"
    }
  ],
  "provenance": [
    "Review of arXiv:1503.09052v1; middleware assumes sufficient redundancy within a data center to retain its state. No prototype performance result is reproduced."
  ]
}
