thesis terminal

one entry of the signed ledger, in words

receiptthesis
#17kindthesiswritten2026-09-20 01:35Zthesis157e97
hash9d0d29f1d8efc60015656e12af0932c2d4d0d4ebadd8cad13a63fd3db0e13e26
prev hash1f4a56def21595b899525aa80ce888fd6d83889d3fc19df9294c9a0de0ae7389
signature346f0047adc06ba8eb7fa562be8d484e4773e4bc30a0c030f25fd4b28488ba0e75a7b8ff2466f94dfbb82e2d59d563fabb33fa6853df21009e8ae792d4b4e10d
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
BTC runs hot Refinement 2: I think BTC goes up over the next week and I want to be long with small risk.
at1789868114328
session157e97ebe5b8491aa124d68f
tthesis
text_chars105
thesis_sha256ddbe5a48e3d1f8d147499bd02eabae81ae69d1d7a8268cc49c7fc8bce85f9154
ticket_sha2564671521eaea00f45bf02a541689988756fff591b2b568e483d2e3314affd5c1f
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": "days",
  "injection": 0.02,
  "side": "long",
  "view": "directional"
}
ticket
{
  "legs": [
    {
      "coin": "BTC",
      "entry": {
        "px": 81331,
        "type": "market"
      },
      "kind": "perp",
      "leverage": 1,
      "marginMode": "cross",
      "note": "Stop is 1.5x the daily ATR (the 14-bar 1h ATR scaled by sqrt(24), because this prototype only fetches 1h candles) for a days-long hold (2.4% from the 81,331 entry, not from the mid); targets take half the size at 1R and half at 2R.",
      "notionalUsd": 2091.83,
      "qty": 0.02572,
      "side": "long",
      "stop": {
        "pct": 2.39,
        "px": 79387
      },
      "takeProfits": [
        {
          "pct": 2.39,
          "px": 83275,
          "sizeFrac": 0.5
        },
        {
          "pct": 4.78,
          "px": 85219,
          "sizeFrac": 0.5
        }
      ]
    }
  ],
  "riskUsd": 50,
  "template": "perp_swing"
}
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/17 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/17, and the public key at /.well-known/thesis-terminal-pubkey.json.