receiptthesis
hash097e4483286021fc8cea1516b38be7c9da687ca13d5a66402b3b0c2092a69e99
prev hash7f9123d944c65c565c2471a83d2b51127fdf65b01b43c6a20d3364d452dcc250
signaturea77e3a843fa47ecf9f01c869323c30f94c81936c998e1ae09e11f3995f89a571d47208ed23c0590ddfcc14d1283df8fcec6b8a9e1a20e35a1b53fcd7206b7602
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
SOL runs into the weekend, I want to be long but I can't watch it, keep the risk small
at1789968756044
session14a39821244847e895c1245e
tthesis
text_chars86
thesis_sha256a2ae0da58ac9f8e57dd29f56a5ef4473db3349c915900df89290f6b6716d8f2b
ticket_sha256fd6eaf8de1a29dec11b56c54a3020515b7f68a1b1d771fd9f63d60cc0460f2f8
v1
wallet_boundfalse
target
{
"asset": "SOL",
"constraints": {
"defined_risk": false,
"delta_neutral": false,
"hands_off": true,
"keep_dry_powder": false,
"no_cex": false,
"no_sell_holdings": false
},
"horizon": "days",
"injection": 0.03,
"side": "long",
"view": "directional"
}ticket
{
"legs": [
{
"coin": "SOL",
"entry": {
"px": 112.34,
"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 (8.4% from the 112 entry, not from the mid); targets take half the size at 1R and half at 2R.",
"notionalUsd": 594.28,
"qty": 5.29,
"side": "long",
"stop": {
"pct": 8.41,
"px": 102.89
},
"takeProfits": [
{
"pct": 8.41,
"px": 121.79,
"sizeFrac": 0.5
},
{
"pct": 16.82,
"px": 131.24,
"sizeFrac": 0.5
}
]
}
],
"riskUsd": 49.99,
"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/130 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/130, and the public key at /.well-known/thesis-terminal-pubkey.json.