Nunabotnunabot
Documentation

Build on the compute network.

Everything you need to request AI tasks, supply GPUs, settle jobs on-chain, and wire up autonomous agents — explained end to end.

Start here

Overview

Nunabot is a Solana-native GPU bot protocol that connects three parties through one bot-first marketplace: users who need AI tasks done, GPU providers with idle compute, and AI agents that run autonomous workflows.

Users request tasks — inference, generation, analysis, automation, or market processing — directly through a bot. Nunabot handles job pricing, routing, execution tracking, and on-chain payment settlement. Providers earn by supplying compute and build reputation from uptime, speed, reliability, completed jobs, and execution quality. The goal: turn scattered GPU capacity into a liquid, accessible, reputation-based compute network for the AI-native internet.

Chain

Solana mainnet — Anchor program, SOL settlement.

Interface

Bot-first: Telegram chat or the web console.

Custody

Non-custodial. Funds escrow in-program, not with us.

Fees

1.5–3% flat protocol fee per settled job.

Architecture

How it works

Every job flows through the same five on-chain stages, whether it comes from a human in Telegram or an autonomous agent over x402.

1 · Intent

The bot parses your request and classifies the job type.

2 · Quote

A pricing engine returns a deterministic SOL quote.

3 · Route

The matcher selects a GPU by capability, latency, and reputation.

4 · Escrow

SOL is held by the program until the result is verified.

5 · Settle

Output is returned, the provider is paid, and scores update.

For users

Requesting compute

Send a natural-language request to the bot. Nunabot infers the job type and returns a quote before any SOL leaves your wallet.

/run inference
  model: llama-3.1-70b
  input: "Summarize this earnings call transcript…"

→ quote: 0.012 SOL · eta ~4s · gpu: gpu-aurora (812)
→ confirm? yes

Supported job types are inference, generation, analysis, automation, and market processing. Results stream back to your chat or the console as soon as the provider completes the work.

For providers

GPU providers

Connect a GPU and the matcher fills it with paid jobs. There is no staking gate and no whitelist — reputation is earned through completed work. You set availability, supported job types, and a minimum price floor.

nunabot provider register \
  --gpu "RTX 4090 x8" \
  --jobs inference,generation \
  --min-price 0.008 \
  --wallet ~/.config/solana/id.json

Payouts settle in SOL per completed job. Higher reputation wins more routing weight and access to higher-value work.

Trust layer

Reputation oracle

Nunabot writes a 300–850 reputation score to an on-chain oracle for every provider, derived from five signals. The score is portable — it follows the wallet — and readable by any other protocol.

Uptime

Share of time the GPU is reachable and accepting jobs.

Speed

Median time-to-completion versus the job estimate.

Reliability

Completed vs. dropped or failed jobs.

Volume

Total verified jobs settled on-chain.

Quality

Result-hash validity and dispute rate.

Tiers: Bronze 300–499, Silver 500–649, Gold 650–749, Platinum 750–850.

Payments

On-chain settlement

When a job is submitted, the requested SOL is escrowed by the Anchor program. On verified completion the program releases the payout to the provider, deducts the protocol fee, and bumps the provider's reputation — all in a single transaction.

pub fn settle_job(ctx: Context<SettleJob>) -> Result<()> {
    let job = &mut ctx.accounts.job;
    require!(job.result_hash == ctx.accounts.proof.hash,
        NunaError::InvalidResult);
    // release escrow, take fee, bump score …
    Ok(())
}

For agents

AI agents

For AI agents, Nunabot is a programmable execution layer. An agent can request GPU power, pay for the task, receive the output, and continue its workflow autonomously — no human in the loop, no accounts, no custody.

const job = await nunabot.run({
  type: "generation",
  input: prompt,
  maxPrice: "0.05 SOL",
})
// agent pays via x402, awaits result, continues
const result = await job.result()

Standard

x402 payments

Agents pay per task using the x402 payment standard. There are no API keys and no accounts — the payment proof is the authorization. This makes Nunabot the first programmable compute layer that agents can pay into directly.

POST /v1/jobs
402 Payment Required
x402: solana; amount=0.012; to=nunabot…; nonce=…

# retry with payment proof header → 200 OK

Reference

API reference

POST /v1/jobs

Create a job. Returns a quote or 402 for agent payment.

GET /v1/jobs/:id

Poll job status and fetch the result hash.

GET /v1/providers

List live providers with scores and hardware.

GET /v1/score/:wallet

Read a provider reputation score from the oracle.

Token

$NUNA token

Anyone holding $NUNA earns 10% of every protocol fee, distributed automatically to wallets — no staking, no claim, no signing. Snapshots happen periodically and SOL hits your wallet directly.

Help

FAQ

Is Nunabot custodial? No. SOL escrows in the program and releases on verified completion. Nunabot never holds your keys.

Do I need an account? No. A Solana wallet (or an x402 payment, for agents) is all you need.

What happens if a job fails?Escrow returns to the requester and the provider's reliability score takes a hit.