The AI

Run AI on someone's GPU

GPN's marketplace is one interface for LLM chat, image/video generation, and fine-tuning. You hit a single access point; the network routes your job to the best idle GPU and settles it on-chain. No provider addresses, no per-node wiring.

Live access node

Try it now

This widget POSTs a chat request straight to a public testnet access point from your browser. It defaults to the current network entry point — change it if you run your own.

On gpncoin.ai this widget will be blocked

The public testnet access point speaks plain http:// on port 8092, and a page served over https:// cannot call it (mixed content). Use the curl example below from your machine, or run this site locally over http://. An HTTPS access point is on the roadmap.

Base URL of the access point. /v1/chat/completions is appended if you give a bare host.

Sent as Authorization: Bearer …. Never stored; leave blank for public/loopback access points.

First calls may take 30–90 s on testnet (model load + inference).
Responses appear here. Try a prompt and hit Ask the network.
About CORS & mixed content

This is a browser calling an API directly. If the access point doesn't send permissive Access-Control-Allow-Origin headers, the browser blocks the response even though the server ran the job — use the curl example below instead. Also, a page served over https:// cannot call a plain http:// host (mixed content), and this page opened from file:// can't make same-origin calls at all — serve it over http://.

API

Two ways to call it

A friendly OpenAI-compatible chat endpoint, and a general job API for everything else. Both are served by the same access point.

Chat — OpenAI-compatible

Drop-in for OpenAI-style clients. Send messages and get a completion back.

POST /v1/chat/completions
{
  "model": "auto",
  "messages": [
    {"role": "user", "content": "Hello!"}
  ]
}

Jobs — image / video / fine-tune

Submit a job with a type and parameters; poll for the result or artifact. The access point routes it and the chain escrows payment.

POST /jobs
{
  "job_type": "ImageGeneration",
  "model": "sd-turbo",
  "prompt": "a cozy cabin at dusk",
  "width": 512, "height": 512, "steps": 8,
  "price_gpn": 5, "min_gflops": 800
}
GET /job/{id}/result
GET /job/{id}/artifact   # PNG / MP4 / adapter
curl http://gpn-testnet.duckdns.org:8092/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "llama3.2:1b",
    "messages": [{"role":"user","content":"What is the capital of Kenya? Answer in one word."}]
  }'
Job types & the escaping requestor model

Job types: LLMInference · ImageGeneration · VideoGeneration · FineTuning · MLInference · Custom.

Escrow = rate × max_output_tokens (the cap); the charge is rate × actual tokens used, and the surplus auto-refunds. Priced in dollars, settled in GPN, so a buyer's dollar cost is stable while the GPN amount floats.

Catalog

Models

The model field is passed straight to the runtime, so you can name any model a provider has. Use auto to let the network pick any available model.

KindExamplesNotes
Chat (LLM)llama3.2:1b, qwen2.5:0.5b, qwen2.5:1.5b The first two are guaranteed on every node (baseline pulls); auto = whichever is available.
Imagesd-turbo, sd15, plus any Hugging Face text-to-image id Diffusers runtime.
Videoltx-video Needs a large host (T5-XXL encoder is heavy) — not for small cards.
Fine-tuneany Hugging Face causal-LM id LoRA; a completed tune auto-serves as tuned-<jobid>.

Bring your own: ollama pull <model> for chat, or point model at a GGUF you've created. No weights, datasets, or prompts ever touch the chain.

Pricing

How GPN prices AI compute

Rates are cost-derived and charged per token against your actual usage.

Cost-derived

A roofline estimate of the provider's true throughput (compute- and memory-bandwidth-bound) ÷ realized tokens/sec × a margin — targeting roughly half of comparable market GPU-rental, and clamped at or above the provider's cost so a GPU always at least covers its cost.

Per-token escrow

You escrow rate × max_tokens; the provider meters actual usage; you're charged rate × actual and the surplus auto-refunds. You're never overcharged past your cap.

Testnet is free-AI

On the testnet, the access point can pay escrow from a hot wallet, so a client's price_gpn is cosmetic — you spend nothing. On mainnet this mode is disabled and callers sign with their own wallet.

Under the hood

What happens when you hit “send”

Filter by capability

The scheduler keeps only providers that meet the job's min_gflops/VRAM/RAM requirement and have (or can pull) the model.

Require an idle GPU

A node already running a job isn't available — one GPU does one job at a time.

Pick lowest latency

Among eligible idle nodes, the least-ms provider wins (with a model-aware fallback for a node that can pull the model).

Escrow & settle

The chain escrows the payment and enforces the capability gate; the provider runs it off-chain and the result is settled. With payment channels, there's no per-job block delay.

Browse access points Become a provider →