receiptthesis
hash3ec025f394aa780487c21687b8a513eeebfcf8613f59708e6787da4ea3a181bf
prev hash82b53760f703162d6d2e7217cad95e6cabe0667a05caad8fd15902db5b11ff10
signature6e28626659a1aa82a051583a368d107f17e1f9ad5c1cd409209505295da29e6bcfb891b75f2bc7a6923d8a7f325cb96294d26d764f8705e762f337e701a4ef00
public keyf25f03fbc22533bc1b707bdcd9a452968c8724afa039cebd6d485dc741f63975
hash = sha256(prev hash + the canonical payload JSON); the signature is Ed25519 over the lowercase hex hash. Change one character of the payload and every entry after this one stops verifying.
what was claimed
LP BTC/USDC, 30 days
at1789899202195
session13421bd53e474846b8726d42
tthesis
text_chars20
thesis_sha256c1cf6c3a4b3f2ddb22509b5342628058fe32cb74c595ec4ec2a93d5d2b763de9
ticket_sha256335a190fb59642460c9007ed22d62529fc2f3741924028a83afab7331192446f
v1
wallet_boundfalse
target
{
"asset": "BTC",
"constraints": {
"defined_risk": false,
"delta_neutral": false,
"hands_off": false,
"keep_dry_powder": false,
"no_cex": false,
"no_sell_holdings": false
},
"horizon": "months",
"injection": 0.02,
"view": "range"
}ticket
{
"legs": [
{
"coin": "BTC/USDC",
"kind": "lp",
"note": "Concentrated band 74,113-86,583 (15.5% wide), from 4x the daily ATR (the 14-bar 1h ATR scaled by sqrt(24), because this prototype only fetches 1h candles) over a months horizon. At 80,348 it mints 48.1% BTC and the rest USDC. Divergence-loss figures use the concentrated-range value function for this exact band (Uniswap-v3 geometry), not the full-range constant-product formula. fee APR 6.33% today, 17.27% 30-day mean total APY (fees and rewards), $488k TVL on project-x (DefiLlama, today).",
"notionalUsd": 1000,
"range": {
"high": 86583,
"low": 74113
},
"side": "deposit"
}
],
"riskUsd": 1000,
"template": "range_lp"
}Shown as it was signed, with the wallet taken out: a field named
address or walletNote reads [redacted], any 0x address inside any other field reads 0x… (a vault link keeps its own, which is a public contract), and a clause quoting what a wallet holds is cut and says so. Those bytes are unchanged in the signed entry — /ledger/72 serves it verbatim, and that is what the verifier hashes.check it yourself
Nothing here asks you to trust this page. Run the independent verifier: it refetches every entry, recanonicalises each payload, recomputes the chain and checks each signature against the published key.
node scripts/verify_ledger.mjs https://think.ascendants.io
The head is at /ledger/head, this entry's raw JSON at /ledger/72, and the public key at /.well-known/thesis-terminal-pubkey.json.