docs: treasury settlement release — peg, Mint/Burn, chain_id, fee model - #1
Merged
Conversation
…, fees) Documents the fully-reserved CLT model (1 USD = 1,000,000 CLT), the new Mint/Burn/ChainInit transaction types, chain_id in the signed transaction preimage/wire format, the flat tx_fee replacing block rewards, bps/floor referrer fees, get_chain_info, and the SDK's bigint amounts and verifyUnsignedTransaction. Rewrites clt-economics.md's emission model entirely per the shipped design; corrects graphql.md/api-reference.md scalar types (Int -> String / bigint) for the new peg's overflow risk. Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Documents the breaking release across clutchprotocol/clutch-node#9, clutch-hub-api#3, clutch-hub-sdk-js#4, clutch-explorer#5, clutch-deploy#1 and clutch-hub-demo-app#1.
Merge this before those merges publish the new APIs — otherwise docs.clutchprotocol.io describes a protocol that no longer exists.
What the release changed, and why the docs had to move with it
CLT became a fully-reserved, redeemable claim: every unit in circulation must be backed 1:1 by off-chain reserve. Peg is 1 USD = 1,000,000 CLT, so CLT is an integer micro-dollar with no decimals. That one decision drove everything else, and several pages documented the previous economic model as fact.
clt-economics.mdpresented per-block emission as the model; minting unbacked CLT permanently breaks the reserve invariant, so validator income is now a flattx_feecredited to the block author — which also gives the chain its first spam cost, since transactions used to be free.Mint(tag 6) andBurn(tag 7) are the on- and off-ramps, and the only operations that change supply. Mint is authority-gated with an exactly-oncecredit_ref; Burn is permissionless with an optionalredemption_ref.ChainInit(tag 9) carries consensus parameters into genesis state, so they are committed to by the genesis hash — and a node configured differently is refused at the p2p handshake rather than silently diverging.chain_idis inside the signed payload, so a testnet transaction cannot be replayed on another network.String—Intis 32-bit and overflows at roughly a $2,147 fare at this peg.bigintamounts and verifies the hub-returned transaction before signing.Scope
21 files — the 17 that referenced changed surfaces, plus
json-rpc.mdand bothsubscriptions.mdpages found stale while grepping.Highest-consequence page is
reference/signing-and-encoding.md, since anyone writing a client implementation follows it byte-for-byte: it now carries the 4-item preimage, the 8-item wire layout withchain_idat index 2 encoded minimal big-endian, and the full non-contiguous RLP tag table.Accuracy
Ground truth came from reading the actual source on each repo's
treasury-breakbranch rather than from the change description, which caught two errors in my own brief:createUnsignedMint. Mint is node-only — it is signed by the treasury authority, never built by the hub. Documenting a hub mutation for it would have sent integrators looking for an endpoint that does not exist.Transferis faucet-only (server-side),Mintis treasury-side,ChainInitis genesis-only.One boundary is stated explicitly rather than glossed: the chain enforces mint authority and exact supply accounting, but it cannot verify that off-chain reserve exists. That is enforced by process and reconciliation, not consensus, and the docs no longer imply otherwise.
Verification
npm run buildpasses. Docusaurus fails the build on broken internal links, which surfaced one stale self-anchor — fixed.Two items flagged for a human decision
faucet_amount_cltwas $0.001 — exactly onetx_fee— so a funded test account could send one zero-value transaction and reach zero without ever affording a ride. Confirmed on a live stack. Raised to $100 in clutch-hub-api#3 and clutch-deploy#1.chainInfoomitslatest_block_index, which the node'sget_chain_infoRPC does return. Documented as-is rather than adding a field with no consumer; worth deciding whether the hub should expose it.🤖 Generated with Claude Code