About Gratitoonie
A small experiment in gratitude, AI, and digital currency.
How it works
- Earn: write something you’re grateful for. If it’s accepted, you get 1–5 Gratitoonies (GTNY) and a gratitude record. Your words stay private unless you choose to publish them.
- Send: pass Gratitoonies on to another member (pick them from the member list), or email a cheque to someone who isn’t a member yet.
- See what others are grateful for: read the expressions people have chosen to share publicly.
Gratitoonie is invite-only and for people 21 or older: you join with an invite code, or with a cheque a member emails you. An account is just a username and a password; there’s no email address, phone number, or real name (see Privacy and the Terms of Use).
Proof of Gratitude
Proof of Gratitude is the rule this app uses to decide when new Gratitoonies (GTNY) are created. It is not a proof that anyone is sincere — just a careful, consistent way of deciding.
- You write an expression of gratitude.
- It is compared with expressions already accepted (from everyone, though nobody else can see yours), first for exact copies and then for similar meaning.
- A language model reads it and scores whether it is recognizable gratitude, how specific and meaningful it is, and how novel it is compared with similar accepted expressions. It also checks that it doesn’t make damaging claims about anyone or share someone else’s private details; if it does, it isn’t accepted, and you’re asked to rewrite it.
- Fixed rules — not the model — decide the outcome and the reward. The model never chooses an amount and never has access to the minting key.
- If accepted, 1–5 GTNY and one gratitude record are added to your wallet, recorded as a single entry in the ledger.
Why a model can’t prove sincerity
A language model sees words, not hearts. It can tell whether text reads like specific, meaningful thanks, but it cannot know whether you meant it. Its scores are indicators, and it can be wrong. We ask it not to favour long, elaborate, or emotionally intense writing: a short, plain, specific thank-you can earn as much as a long one.
How novelty works
Each accepted expression must be meaningfully different from those accepted before. Exact copies (ignoring case and punctuation) are rejected outright. Close rewordings are detected by comparing meaning, and borderline cases are judged by the model or held for a person to review. This is a heuristic: it will sometimes miss a rewording and sometimes flag two genuinely different expressions as similar. It is not a guarantee of unique meaning.
Gratitoonies and gratitude records
Gratitoonies (GTNY) are a fungible token: every unit is interchangeable, like coins. Once sent, a Gratitoonie carries no memory of the expression that earned it.
A gratitude record is a separate, unique collectible created alongside each accepted expression. It remembers its creator and its issuance forever, even after you give it to someone else. Its public description is generic unless you choose to publish your text.
When you send Gratitoonies, you can include one of your gratitude records to share the story behind them (or send a record on its own). The coins and the record travel together, as one entry in the ledger.
Emailing a cheque to someone new
To send Gratitoonies to someone who isn’t a member yet, write them a cheque from your wallet. You get a short message with a one-time link, which you paste into an email you send yourself. Gratitoonie never sends email and never sees their address. Opening the link lets them create an account (no invite code needed) and the Gratitoonies are already in their wallet. Someone who’s already a member can claim it into their wallet, too.
The amount leaves your wallet when you write the cheque, and the site holds it in the ledger until the cheque is claimed, so it can’t bounce. If nobody claims it within 30 days it comes back to you, and you can cancel it any time before then. A cheque works like cash: whoever has the link can claim it, once. So send it only to the person it’s for.
The ledger (a small nod to crypto)
Gratitoonie isn’t a cryptocurrency and doesn’t use a public blockchain. Every Gratitoonie and record is tracked in a ledger kept by this site. Borrowing one good idea from blockchains, each ledger entry includes a hash of the entry before it, forming a chain: changing any past entry would change every hash after it, so tampering is detectable.
You don’t have to take our word for it: anyone can download the whole ledger as a JSON file and check every hash themselves. Each saved copy is also a record that would expose any later rewriting. Accounts appear only as fingerprints that differ in every entry, so the file shows amounts, dates, and record numbers but not who sent what to whom.
How to check it
For each entry, join these fields with |: format, seq, kind, from (empty if missing), to, amount, record_id (empty if missing), time, prev_hash. Its SHA-256 must equal the entry’s hash, and each prev_hash must equal the previous entry’s hash (64 zeros for the first). In Python, save this as check.py and run python3 check.py gratitoonie-ledger-….json:
import hashlib, json, sys
ledger = json.load(open(sys.argv[1]))
prev = "0" * 64
for e in ledger["entries"]:
fields = [ledger["format"], str(e["seq"]), e["kind"], e["from"] or "", e["to"],
e["amount"], "" if e["record_id"] is None else str(e["record_id"]),
e["time"], e["prev_hash"]]
assert e["prev_hash"] == prev, f"entry {e['seq']}: broken link"
assert hashlib.sha256("|".join(fields).encode()).hexdigest() == e["hash"], e["seq"]
prev = e["hash"]
print("OK:", len(ledger["entries"]), "entries; latest hash", prev)No monetary value
Gratitoonie is a just-for-fun experiment. Gratitoonies have no monetary value, aren’t an investment, and can’t be bought, sold, or taken outside this site.