thesis terminal

one entry of the signed ledger, in words

receiptthesis
#69kindthesiswritten2026-09-20 10:03Zthesis6f02ff
hash18395c315c24a201d25fab82aef407296f125b8773bfd5c63b1091470d5584bc
prev hash49bb9c2a38603dbce8a3834f946d6885cd6a104643196dbdf0804ffb2e423c81
signature15e487d58d1bf91db372ed1d5a9eeaf1e549a6719101e414c0ce672d00c24d2eebbe4f547181aa10f44fd716e093f5993e06628fb95c86c013a2079d6235470c
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
ETH outperforms BTC into the Fed meeting, but I don't want to be exposed to the whole market dumping
at1789898610147
session6f02ffc7262c4d8eb8993b0c
tthesis
text_chars100
thesis_sha256c41ec79581f52d3853104e6cfb8b0ec9bea5d21f45358106f4fcd0b6c9eb8144
ticket_sha256fb98d70c078c369bfce2aab22f87a5f3f35a48ab5fd0b98a7fa7f863804df3c7
v1
wallet_boundfalse
target
{
  "asset": "ETH",
  "asset2": "BTC",
  "constraints": {
    "defined_risk": false,
    "delta_neutral": true,
    "hands_off": false,
    "keep_dry_powder": false,
    "no_cex": false,
    "no_sell_holdings": false
  },
  "horizon": "days",
  "injection": 0.02,
  "side": "long",
  "view": "relative"
}
ticket
{
  "legs": [
    {
      "coin": "ETH",
      "entry": {
        "px": 2587.9,
        "type": "market"
      },
      "kind": "perp",
      "leverage": 1,
      "marginMode": "cross",
      "note": "Long leg. v0 approximates a spread stop with per-leg stops; take both legs off together.",
      "notionalUsd": 1072.94,
      "qty": 0.4146,
      "side": "long",
      "stop": {
        "pct": 4.66,
        "px": 2467.3
      },
      "takeProfits": [
        {
          "pct": 4.66,
          "px": 2708.5,
          "sizeFrac": 0.5
        },
        {
          "pct": 9.32,
          "px": 2829.1,
          "sizeFrac": 0.5
        }
      ]
    },
    {
      "coin": "BTC",
      "entry": {
        "px": 80270,
        "type": "market"
      },
      "hedgeOf": 0,
      "kind": "perp",
      "leverage": 1,
      "marginMode": "cross",
      "note": "Short leg, beta-weighted: ETH beta 0.30 / BTC beta 1.00 = 0.30x the long leg. v0 approximates a spread stop with per-leg stops; take both legs off together.",
      "notionalUsd": 321.08,
      "qty": 0.004,
      "side": "short",
      "stop": {
        "pct": 2.91,
        "px": 82606
      },
      "takeProfits": [
        {
          "pct": 2.91,
          "px": 77934,
          "sizeFrac": 0.5
        },
        {
          "pct": 5.82,
          "px": 75598,
          "sizeFrac": 0.5
        }
      ]
    }
  ],
  "riskUsd": 59.34,
  "template": "pair_trade"
}
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/69 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/69, and the public key at /.well-known/thesis-terminal-pubkey.json.