Public training run · open weights · Solana

The only chart where down is good.

$LOSS turns its creator fees into GPU hours. The GPUs train an open model in public: every step lowers the loss, every checkpoint ships with open weights, and holders vote on what it learns next.

Fees
100% of creator fees buy GPU hours, via pump.fun fee sharing
Weights
Every checkpoint published under an open license
Proof
SHA-256 of each checkpoint written to Solana
run loss-public-01
status: waiting for first fee
GPUs 0step 0
Illustrative
Illustrative curve · the live run begins with the first fee
Fees in
0.000SOL
training treasury
GPU-hours bought
0.0
compute ledger
Steps
0
loss-public-01
Checkpoints
0
hashed on Solana
stdout · tailPreview
[eval  12,000] eval/loss 1.468  ppl 4.34  held-out 2.1M tok
[ckpt  12,000] ckpt-0006 saved  4 shards  sha256 9f2c41…e41a
[memo  12,000] hash written  tx 4Kq9…Xw2p  slot 449,688,824
[step  12,350] loss 1.418  lr 1.8e-5  gnorm 0.61  tok/s 41,150
[step  12,400] loss 1.412  lr 1.8e-5  gnorm 0.58  tok/s 41,200

How it works

How a fee becomes a step.

Six hops, all of them public. The fee side is on chain and verifiable on the pump.fun coin page. The compute side is a ledger of purchases, the training logs, and a hash on Solana for every checkpoint.

  1. 01

    Trade

    Someone buys or sells $LOSS on pump.fun, or on PumpSwap after graduation.

    every trade
  2. 02

    Creator fee

    pump.fun charges a creator fee on the trade. It collects in the coin's fee vault.

    0.30% of every trade on the curve
  3. 03

    Treasury

    Fee sharing routes all of it to the training treasury. A distribute call pushes it out once it clears the minimum.

    10,000 bps · address at launch
  4. 04

    GPU hours

    Once a day, the treasury's new SOL buys on-demand GPU hours. Each purchase is a row in the compute ledger.

    daily · 00:00 UTC
  5. 05

    Steps

    The run resumes from its last checkpoint and trains until the day's hours are spent. Loss, eval and throughput are logged.

    logged every 50 steps
  6. 06

    Checkpoint

    Weights are published with an open license, and their SHA-256 goes to Solana in a memo so no file can be swapped later.

    every 2,000 steps

If fees stop, the run pauses. No new SOL means no new hours. Training stops at its last checkpoint, optimizer state included, and resumes from exactly there when fees come back.

Fee math

Example
GPU-hours = SOL in × SOL/USD ÷ $ per GPU-hour

Example: at $2.40 per H100-hour and SOL at $200, 1 SOL ≈ 83 H100-hours, or about 10.4 hours on one 8×H100 node.

83.3H100-hours
10.4hours on an 8×H100 node

Example rates only. Each real purchase records the price paid and SOL/USD at that moment.

Compute ledger

0 purchases
#Date (UTC)SOL inSOL/USDGPUHours$/GPU-hInvoice
000001
000002
000003

No purchases yet. Purchase #000001 is written on the first day the treasury has new SOL. Each row names the provider and GPU type and carries the SHA-256 of the invoice.

Treasury received0.000SOL
Spent on GPUs0.000SOL
Balance0.000SOL

Why down is good

Loss is how surprised the model is by the right answer.

Show the model text it has never trained on. At every token, look at the probability it gave to the token that actually came next. Take the negative log and average it. That is the loss. Lower means less surprised, which means it predicts better.

Every other chart on your screen, you want up. On this one, a lower line is the whole point.

LossPerplexity (eloss)Typical p(right token)
3.020.15.0%
2.07.413.5%
1.44.124.7%
1.02.736.8%

Perplexity is roughly how many equally likely options the model is torn between. Typical p is the geometric mean, e−loss.

Watch the teal points. Train loss is measured on the data the model learns from. Eval loss is measured on held-out text it never trains on. If train keeps falling while eval climbs, the model is memorizing, not learning. The run then rolls back to the best checkpoint and the next data mix changes.

Same prompt, two checkpointsIllustrative
Prompt

Extract the date and amount as JSON: "Paid 2.5 SOL on 3 March for GPU time."

ckpt-0000 · step 0eval loss 3.08
Paid 2.5 SOL on 3 March for GPU time. Paid 2.5 SOL on 4 March for GPU time. Paid 2.5 SOL on 5 Mar
p(first token = "{")
0.03
ckpt-0006 · step 12,000eval loss 1.47
{"date": "3 March", "amount": 2.5, "unit": "SOL"}
p(first token = "{")
0.91
Real samples are posted with every checkpoint.

Run spec

The run.

One continuous public fine-tuning run, loss-public-01. These are the planned values.

Pinned before step 1. The final spec, including the named base model and its file hashes, is published and its hash written to Solana before the first step runs. It cannot be picked after seeing results.
Base modelOpen-weights decoder-only LLM, 7–8B parametersNamed with its file hashes before step 1. ckpt-0000 is those base weights, unchanged.
Base licenseApache-2.0 or equally permissiveNo non-commercial or research-only bases, so every checkpoint can be used by anyone.
MethodSupervised fine-tuning, full parametersbf16 mixed precision, sharded across one 8-GPU node.
Context8,192 tokensPacked sequences, loss on target tokens only.
Batch64 × 8,192 ≈ 524k tokens per step
OptimizerAdamWβ1 0.9, β2 0.95, weight decay 0.1, gradient clip 1.0.
LR scheduleLinear warmup over 500 steps to 1.8e-5, then constantA constant rate suits a run with no fixed end. Each tagged release gets a short decay on its own branch.
Data mixThis week's vote winner, blended 70/30 with replayReplay of earlier data keeps the model from forgetting what it already learned.
Eval suiteHeld-out loss every 2,000 stepsPlus a fixed public set on every checkpoint: knowledge, math, code, instruction following and refusals. Scores are posted next to the hash.
CheckpointsEvery 2,000 steps, and whenever the run pausesOptimizer state is kept so a pause costs time, not progress.
HardwareOn-demand H100 80GB, 8-GPU nodesBought from whichever provider is cheapest that day. Provider, hours and price go in the ledger.
License outSame as the base modelUse it, fine-tune it, ship it. No token needed.
Where weights goPublic model repo on Hugging Face, plus a mirrorsafetensors shards, a SHA256SUMS manifest and a model card per checkpoint.

Checkpoints

Every checkpoint, hashed on Solana.

Each checkpoint's shards are hashed into a manifest, and the manifest's SHA-256 is written to Solana in a memo. Anyone can download the weights later, hash them, and prove they are the exact files the run produced.

CheckpointStepEval lossManifest SHA-256Solana memoWeightsStatus
ckpt-00000at launchpublished at launchat launchbase weights · published at launchAt launch
ckpt-00012,000Pending
ckpt-00024,000Pending
ckpt-00036,000Pending
ckpt-00048,000Pending

Memo format

Spec
loss-public-01 | ckpt-0001 | step 2000 | sha256 <64 hex>

Written with the SPL Memo program from the published run wallet. The memo's slot is the checkpoint's timestamp.

Verify it yourself

3 commands
# 1. hash every shard of the checkpoint you downloaded
$ sha256sum *.safetensors | sort -k2 > SHA256SUMS
# 2. hash the manifest
$ sha256sum SHA256SUMS
# 3. compare with the sha256 in that checkpoint's Solana memo

Holder vote

This week's vote.

Holders pick what the model learns next. Each week has a shortlist of four datasets, each checked for a license that allows training and publishing the resulting weights. The winner is next week's training data.

  1. MON 00:00 UTC

    Shortlist posted with sources, licenses and token counts.

  2. SNAPSHOT

    Balances are read at the open. Your weight is the $LOSS you held at the snapshot.

  3. SUN 00:00 UTC

    Vote closes. The tally is posted in full.

  4. NEXT WEEK

    The winner trains, blended 70/30 with replay of earlier data.

Proposals go through the same license check.

Connect a wallet to vote on the next dataset

The token

$LOSS

Launched on pump.fun. 1,000,000,000 supply. No presale.

Creator fees are routed with pump.fun fee sharing: 10,000 bps (100%) to the training treasury. The split is readable on chain and shown on the pump.fun coin page. Routed fees come from trading, not donations.

Holding $LOSS is a vote. Each week, your balance at the snapshot is your weight on what the model learns next. It is not a claim on fees, revenue or the model. The weights are free for everyone.

Creator fees routed to training · all time 0.000 SOL Starts at launch

Verify the route

  • The fee-sharing config names the training treasury at 10,000 bps.At launch

  • At launch the split admin is revoked, so the route can never change.At launch

  • The treasury address is published here and on X.At launch

  • The base model and run spec are hashed on Solana.Before step 1

pump.fun fee programpfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ
pump.fun program6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P
Sharing configPDA of "sharing-config" + mint

Custody, plainly: the treasury is a wallet the operator controls until its SOL is spent on GPU hours. Every inflow and every purchase is public, so anyone can reconcile the ledger against it.

Roadmap

What ships, in order.

No dates beyond what is live now. The run moves as fast as fees buy hours.

  1. Now01

    Token and site

    • $LOSS launched on pump.fun
    • Fee sharing at 10,000 bps to the training treasury, split admin revoked
    • Treasury address and this run spec published
    • Compute ledger open, empty until the first purchase
  2. Next02

    Step 1

    • Base model named, its hashes written to Solana
    • First GPU purchase on the first day with fees
    • ckpt-0001 at step 2,000, hash in a memo
    • Vote #001 on the first data mix
    • This dashboard reads the live run
  3. Later03

    Open lab

    • Eval scores for every checkpoint, side by side
    • Tagged releases with model cards
    • Holder-proposed datasets through license review
    • A second run on a different base, if fees allow

FAQ

Questions, answered plainly.

Which model?

An open-weights base model in the 7–8B class, under Apache-2.0 or an equally permissive license. The exact model and its file hashes are announced before step 1, so it can't be swapped after the fact. ckpt-0000 is those base weights, unchanged.

Who controls the GPUs?

The operator rents them on demand and runs the training job. That part takes trust, so it is made checkable: every purchase is a ledger row (provider, GPU type, hours, price, invoice hash), the training logs are public, and the steps logged each day have to line up with the hours bought.

The treasury is custodial until its SOL is spent. Its address is public, so every inflow and outflow can be traced.

What happens if fees stop?

No new SOL, no new hours. The run pauses at its last checkpoint, optimizer state included, and resumes from exactly there when fees return. Nothing is lost. It waits.

Can I use the model?

Yes. Every checkpoint is published under the base model's permissive license: download it, fine-tune it, ship it, commercially too. You don't need to hold $LOSS to download anything.

Who picks the datasets?

Holders, once a week, from a shortlist of four. The shortlist is where license and safety checks happen; the vote picks among what passed. The full tally is posted after every vote.

Safety and licenses?

Shortlisted data must allow training and publishing the resulting weights: public domain, CC0, CC-BY, permissively licensed code. No personal data and no sources with unclear rights.

Every checkpoint runs the eval suite, including a refusal set, before its weights go up. A checkpoint that regresses there is held back, and the reason is posted.

What does holding $LOSS do?

It is your vote weight on the weekly data mix. That is the whole utility. It is not a share of fees, revenue or the model, and nothing here promises a price.

Help the line go down.

Fees buy GPU hours. Hours become steps. Steps become open weights, hashed on Solana.