A language model with no server.
- Turn
- 00 / 21
- Tokens
- 00 / 07
- State
- running
It runs inside Solana: every token is computed by the chain itself, and any program can call it.
Anyone can turn a run.
A turn is one transaction. It moves the model’s forward pass as far as one transaction’s compute allows, and the run pays whoever sent it.
- Compute in one transaction
- 1,400,000CU
- A new slot every
- 200ms
06 of 39 turns landed
Who uses it
Caller
Opens runs: at the console, through the SDK, or from a program by CPI.
PaysTurns and tokens, in SOL.
Open a runCranker
Turns runs. Anyone with a wallet can turn one by hand; a cranker process turns every open run.
EarnsThe turn reward, per turn, from the run’s budget.
Turn runsPublisher
Puts a model on chain: uploads weights, seals them, sets a royalty per token.
EarnsThe royalty on every token the model produces.
Publish a model
From code, one line
await curta.run({ model, prompt })In TypeScript, @curta/sdk opens the run, waits for it to complete, and returns the text with the run’s address.
A program opens a run by CPI from its own PDA and reads the completed run account in a later instruction. The example program oracle-of-stories asks the model for a line and stores it in its own account.
The weights live in Solana accounts.
A sealed model never changes. Every run reads it, none writes it, and its publisher earns a royalty on each token it produces.
stories260K
- Parameters
- 0.26M
- Layers
- 5
- Heads
- 8
- Dimension
- 64
- Vocabulary
- 512
- Context
- 512
stories15M
- Parameters
- 15.2M
- Layers
- 6
- Heads
- 6
- Dimension
- 288
- Vocabulary
- 32,000
- Context
- 256
Replay any run in your browser.
The core that runs in the program also builds to WebAssembly. Your browser reads the weights from the chain, recomputes the run from its prompt, parameters and seed, and marks every token that matches.
14 of 14 tokens match
Open a run and watch the chain write.
CURTASupply 1,000,000,000. A fair launch.Read the token