Measuring the stars…

SXTNT
Verifiable compute

Verifiable compute.
No re-running the model.

Sign in with a Solana wallet to claim an API key. Submit a job. The SXTNT folding cluster runs your circuit, folds every step into one proof, and posts the verification on Solana. You pay once. Anyone verifies forever.

1 · Claim API key

Wallet signature gates keys against bots and abuse. Phantom, Solflare and Backpack supported.

2 · Submit a job

Template

Wallet required to submit

Job stream

live
Submitted
0jobs
Verified
0on-chain
Avg proof

No jobs submitted yet. Try one above.

Why SXTNT compute

Pay once. Verify forever.

SXTNT runs your circuit on a folding cluster, settles the final SNARK on Solana, and emits an event your contracts can read. Re-verifying a computation costs the price of one Solana CU read, not the price of re-running the inference.

99.7% cheaper on-chain

Folded accumulators land in kilobytes. Solana verifies in one transaction.

Stream verify

Subscribe to the verification event. Trigger your contract the instant the proof lands.

Choose your scheme

Nova, SuperNova, HyperNova — same SDK call, different trade-offs in fold cost and accumulator size.

SDK · pick a language

@sxtnt/sdk · TypeScript
"text-sightline">import { Sxtnt } "text-sightline">from "@sxtnt/sdk";

"text-sightline">const sx = "text-sightline">new Sxtnt({ apiKey: process.env.SXTNT_API_KEY! });

"text-sightline">const job = "text-sightline">await sx.compute.submit({
  template: "tinyllama-attest",
  scheme: "hypernova",
  input: { prompt: "Few stars. Whole position." },
});

"text-sightline">const verified = "text-sightline">await job.waitForVerification();
console.log(verified.proofSizeKb, verified.solanaSignature);
sxtnt crate · Rust
"text-sightline">use sxtnt::{Client, JobRequest, Scheme};

#[tokio::main]
"text-sightline">async "text-sightline">fn main() -> Result<(), sxtnt::Error> {
    "text-sightline">let client = Client::new(std::env::var("SXTNT_API_KEY")?);
    "text-sightline">let job = client
        .submit(JobRequest::new("tinyllama-attest")
            .scheme(Scheme::HyperNova)
            .input(serde_json::json!({ "prompt": "Few stars. Whole position." })))
        ."text-sightline">await?;
    "text-sightline">let verified = job.wait_for_verification()."text-sightline">await?;
    println!("{} KB · {}", verified.proof_size_kb, verified.solana_signature);
    Ok(())
}
curl · raw HTTP
"text-sightline">curl "text-sightline">-X POST https://api.sxtnt.fun/compute/jobs \
  "text-sightline">-H "Authorization: Bearer $SXTNT_API_KEY" \
  "text-sightline">-H "Content-Type: application/json" \
  "text-sightline">--data '{
    "template": "tinyllama-attest",
    "scheme": "hypernova",
    "input": { "prompt": "Few stars. Whole position." }
  }'