{
 "number": 33741,
 "input_hash": "2ac2ae4d205bf180",
 "model": "openrouter/google/gemini-3.8-flash",
 "batch": false,
 "created": "2026-09-17T16:16:43+00:00",
 "provider": "Google",
 "stop_reason": "end_turn",
 "usage": {
  "input_tokens": 27736,
  "cache_creation_input_tokens": 0,
  "cache_read_input_tokens": 0,
  "output_tokens": 2593
 },
 "cost_usd": 0.03052575,
 "error": null,
 "result": {
  "display": {
   "goal": [
    "Allow RPC callers to request feerate outputs in sat/vB instead of BTC/kvB across several node and mempool RPCs."
   ],
   "reviewability": [
    "Ready for review.",
    "Rebased cleanly with passing CI and resolved review comments."
   ],
   "agreement": [
    "Positive support for backwards-compatible sat/vB reporting (jonatack, musaHaruna, w0xlt).",
    "glozow questioned the parameter approach over new return fields, but did not follow up after author response."
   ],
   "categories": [
    {
     "name": "rpc",
     "why": [
      "P3 because it improves caller ergonomics by providing widely-used sat/vB units directly without client-side conversion.",
      "It is purely optional and backwards-compatible, but does not fix broken functionality or unblock core features."
     ]
    }
   ]
  },
  "summary": "This pull request adds an optional `sat_vb` boolean parameter to `getmempoolinfo`, `getnetworkinfo`, `estimatesmartfee`, and `estimaterawfee` RPCs. When enabled, feerate figures are returned formatted in sat/vB instead of BTC/kvB. It also introduces a `ValueFromFeeRate` helper in `core_io` to format feerates with fixed decimal precision without using floating-point types.",
  "problem": "Bitcoin Core RPCs historically express feerates in BTC/kvB, whereas modern tooling and users standardly expect sat/vB. Forcing external consumers to perform unit conversions is inconvenient and introduces potential calculation errors, especially with sub-1 sat/vB rates.",
  "discussion": {
   "open_concerns": [],
   "resolved_concerns": [
    "maflcko pointed out that floating point arithmetic must not be used for currency representation, resolved by formatting fixed-point strings in ValueFromFeeRate.",
    "w0xlt noted that estimaterawfee was leaving bucket ranges in sat/kvB while converting the top-level feerate, resolved by updating bucket ranges consistently.",
    "jonatack recommended snake_case sat_vb per naming conventions, which the author adopted."
   ],
   "author_status": "active"
  },
  "reviewability": {
   "state": "Ready",
   "label": "Ready",
   "reason": "The branch is clean, CI passes, and all reviewer feedback has been addressed in recent force-pushes."
  },
  "agreement": {
   "state": "Positive",
   "summary": "Positive; multiple Concept ACKs with design discussion from glozow left unanswered.",
   "reason": "Reviewers agree on the utility of standardizing feerate units in sat/vB. glozow suggested returning distinct fields rather than adding an RPC parameter to avoid configuration hazards, but the author clarified defaults will not change and glozow did not pursue the objection.",
   "evidence": [
    "w0xlt provided Concept ACK and detailed review comments.",
    "musaHaruna Concept ACKed backwards-compatible migration to sat/vB.",
    "jonatack Concept ACKed and gave naming guidance.",
    "glozow discussed whether distinct field keys would be safer than an argument, but did not object to moving forward."
   ]
  },
  "dependencies": {
   "depends_on": [],
   "enables": []
  },
  "categories": [
   {
    "name": "rpc",
    "member": true,
    "evidence": "Adds RPC arguments and modifies JSON output formatting across several RPC commands.",
    "band": "P3",
    "reason_tag": "user request",
    "score": 0.35,
    "factors": {
     "security_stability": 0,
     "bug_severity": 0,
     "performance": 0,
     "user_value": 2,
     "leverage": 0
    },
    "rationale": "It delivers a long-requested usability improvement for RPC consumers who work in sat/vB. Because it is an opt-in parameter on existing RPCs rather than a bug fix or architectural requirement, it is useful but deferrable."
   },
   {
    "name": "mempool",
    "member": false,
    "evidence": "Touches RPC presentation of mempool feerate limits and estimates, but does not touch mempool data structures, policy, or validation rules.",
    "band": "Unranked",
    "reason_tag": "",
    "score": 0.0,
    "factors": {
     "security_stability": 0,
     "bug_severity": 0,
     "performance": 0,
     "user_value": 0,
     "leverage": 0
    },
    "rationale": "Mempool policy and consensus rules remain untouched; this change strictly alters RPC output formatting."
   }
  ],
  "confidence": "high",
  "uncertainties": [],
  "needs": [],
  "card": "This PR adds an optional sat_vb flag to several RPCs (getmempoolinfo, getnetworkinfo, estimatesmartfee, estimaterawfee) to output feerates in sat/vB rather than BTC/kvB. This addresses user frustration and conversion mistakes caused by Bitcoin Core returning legacy BTC/kvB units. The approach is opt-in, non-breaking, and formats numbers using fixed-point math. Concept support is positive across several contributors with no open blocking objections."
 },
 "raw_text": null
}