Pollio


One API for any AI model, served by an open market of GPUs. With private inference, only you can read your prompts and outputs.
How to begin
Buy inference
Sign up
Use Google, GitHub, X, or a Solana or Ethereum wallet.


Add credits
Top up with any coin. Credits work with every model and every node, public or private.


Get your key
Create an API key and point any OpenAI client at Pollio. For private inference, run
pollio proxy.

POLLIO_API_KEY
pl-live- followed by your secret key
Sell inference
Install
Download the node for Linux or Mac.
pollio-node doctortells you which requests your machine can serve.

pollio-node doctor
Public:eligible
Private:needs attestation
Link your account
Run
pollio-node loginand approve the device from your account.

PLLO-7K3Q
Approve on pollio.ai/device
Serve and get paid
Set your prices, start the node, and get paid in USDC for every token you serve.




Keep your code, change the URL
Any OpenAI client works. Most models cost well below their makers' prices.
Fig. I, prompt
Set POLLIO_API_KEY in your shell, then paste this into Codex, Claude Code or OpenCode.
Set up Pollio as your model provider. Its API is at https://api.pollio.ai/v1 and the model is deepseek/deepseek-v4.1-flash. My key is in the POLLIO_API_KEY environment variable: never print it or write it into a file.+ 5 more lines
Codex: in ~/.codex/config.toml, add [model_providers.pollio] with base_url set to that URL, env_key = "POLLIO_API_KEY" and wire_api = "responses". At the top of the file, set model to the model and model_provider = "pollio".
Claude Code: in ~/.claude/settings.json, set env.ANTHROPIC_BASE_URL to that URL without /v1, set ANTHROPIC_MODEL, ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_SONNET_MODEL and ANTHROPIC_DEFAULT_HAIKU_MODEL in env to the model, and set apiKeyHelper to "printenv POLLIO_API_KEY".
OpenCode: in opencode.json, add a "pollio" provider with npm "@ai-sdk/openai-compatible", options.baseURL set to that URL, options.apiKey set to "{env:POLLIO_API_KEY}" and the model under models, then set "model" to "pollio/deepseek/deepseek-v4.1-flash".
Any other agent: say so, and send me to https://pollio.ai/integrations/.
Back up the file first, keep my other settings, show me the change, and tell me what to restart.Fig. I, terminal
export OPENAI_BASE_URL=https://api.pollio.ai/v1
export OPENAI_API_KEY=pl-live-...
export OPENAI_MODEL=deepseek/deepseek-v4.1-flash
Fig. II, claude_desktop_config.json
{
"mcpServers": {
"pollio": {
"command": "npx",
"args": ["-y", "@pollio/mcp"],
"env": {
"POLLIO_API_KEY": "pl-live-..."
}
}
}
}Fig. II, terminal
claude mcp add pollio --scope user \
-e POLLIO_API_KEY=pl-live-... \
-- npx -y @pollio/mcp
Fig. III, hello.py
# pip install openai
from openai import OpenAI
client = OpenAI(
base_url="https://api.pollio.ai/v1",
api_key="pl-live-...",
)
completion = client.chat.completions.create(
model="deepseek/deepseek-v4.1-flash",
messages=[{"role": "user", "content": "Hello"}],
)
print(completion.choices[0].message.content)Fig. III, hello.mjs
// npm install openai
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.pollio.ai/v1",
apiKey: "pl-live-...",
});
const completion = await client.chat.completions.create({
model: "deepseek/deepseek-v4.1-flash",
messages: [{ role: "user", content: "Hello" }],
});
console.log(completion.choices[0].message.content);Fig. III, main.go
// go get github.com/openai/openai-go/v3
package main
import (
"context"
"fmt"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/option"
)
func main() {
client := openai.NewClient(
option.WithBaseURL("https://api.pollio.ai/v1"),
option.WithAPIKey("pl-live-..."),
)
params := openai.ChatCompletionNewParams{
Messages: []openai.ChatCompletionMessageParamUnion{
openai.UserMessage("Hello"),
},
Model: "deepseek/deepseek-v4.1-flash",
}
completion, err := client.Chat.Completions.New(context.TODO(), params)
if err != nil {
panic(err)
}
fmt.Println(completion.Choices[0].Message.Content)
}Fig. III, request.sh
curl https://api.pollio.ai/v1/chat/completions \
-H "Authorization: Bearer pl-live-..." \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek/deepseek-v4.1-flash",
"messages": [{"role": "user", "content": "Hello"}]
}'
Fig. IV, connection settings
- Base URL
- https://api.pollio.ai/v1
- API key
- pl-live-...
- Model
- deepseek/deepseek-v4.1-flash
Fig. V, terminal
curl -fsSL https://pollio.ai/install.sh | sh
pollio-node login
pollio-node serve deepseek/deepseek-v4.1-flash \
--price-in 0.003 \
--price-out 0.012
Discounts by model
| Model | Best price | Discount |
|---|---|---|
Claude Opus 5.5Anthropic · 1M context$0.75 / M input$3.75 / M output | $0.75 / M input$3.75 / M output | 85%, between 79% and 99% over the last 30 days |
GPT-6 AstraOpenAI · 1.1M context$0.18 / M input$1.08 / M output | $0.18 / M input$1.08 / M output | 94%, between 94% and 99% over the last 30 days |
GPT Image 2.5OpenAI$0.004 / image | $0.004 / image | 90%, between 88% and 99% over the last 30 days |
GLM 5.3Z.ai · 1M context$0.04 / M input$0.13 / M output | $0.04 / M input$0.13 / M output | 96%, between 91% and 99% over the last 30 days |
Kimi K3Moonshot AI · 1M context$0.04 / M input$0.18 / M output | $0.04 / M input$0.18 / M output | 95%, between 65% and 98% over the last 30 days |
| Model | Best price | Discount |
|---|---|---|
Claude Opus 5.5Anthropic · 1M context$0.75 / M input$3.75 / M output | $0.75 / M input$3.75 / M output | 85%, between 79% and 99% over the last 30 days |
GPT-6 AstraOpenAI · 1.1M context$0.18 / M input$1.08 / M output | $0.18 / M input$1.08 / M output | 94%, between 94% and 99% over the last 30 days |
GLM 5.3Z.ai · 1M context$0.04 / M input$0.13 / M output | $0.04 / M input$0.13 / M output | 96%, between 91% and 99% over the last 30 days |
Kimi K3Moonshot AI · 1M context$0.04 / M input$0.18 / M output | $0.04 / M input$0.18 / M output | 95%, between 65% and 98% over the last 30 days |
DeepSeek V4.1 FlashDeepSeek · 1M context$0.003 / M input$0.012 / M output | $0.003 / M input$0.012 / M output | 97%, between 91% and 99% over the last 30 days |
| Model | Best price | Discount |
|---|---|---|
GPT Image 2.5OpenAI$0.004 / image | $0.004 / image | 90%, between 88% and 99% over the last 30 days |
FLUX.2 [pro]Black Forest Labs$0.0036 / image | $0.0036 / image | 88%, between 80% and 94% over the last 30 days |
Seedream 5.0 ProByteDance$0.0049 / image | $0.0049 / image | 86%, between 82% and 99% over the last 30 days |
| Model | Best price | Discount |
|---|---|---|
Qwen Audio 3.0Qwen$0.002 / minute | $0.002 / minute | 83%, between 79% and 93% over the last 30 days |
Seed Audio 1.0ByteDance$0.003 / minute | $0.003 / minute | 80%, between 66% and 80% over the last 30 days |
Voxtral SmallMistral AI$0.001 / minute | $0.001 / minute | 75%, between 72% and 91% over the last 30 days |
Specimen prices. Names and logos belong to their owners. No endorsement implied.
See every modelIn the tools you use
Keep your editor, agent or chat app. Only the provider changes.
Fig. I, config.toml
Illustrative setup
model = "deepseek/deepseek-v4.1-flash" model_provider = "pollio" [model_providers.pollio] name = "Pollio" base_url = "https://api.pollio.ai/v1"base_url = "http://127.0.0.1:8787/v1" env_key = "POLLIO_API_KEY" wire_api = "responses"- Provider
- Pollio
- Path
- PublicPrivate
Codex
Add Pollio as a provider in one config block.
Fig. II, environment
Illustrative setup
ANTHROPIC_BASE_URL=https://api.pollio.aiANTHROPIC_BASE_URL=http://127.0.0.1:8787 ANTHROPIC_AUTH_TOKEN=pl-live-... ANTHROPIC_MODEL=deepseek/deepseek-v4.1-flash- Provider
- Pollio
- Path
- PublicPrivate
Claude Code
Same terminal, a different provider.
Fig. III, Cursor Settings
Illustrative setup
# Cursor Settings › Models OpenAI API Key pl-live-... Override OpenAI Base URL https://api.pollio.ai/v1 Custom Models deepseek/deepseek-v4.1-flash- Provider
- Pollio
- Path
- PublicPublic only
Cursor
Override the base URL, keep your editor.
Private runs through pollio proxy on your machine.
Public and private


Choose a mode for each request. Public is the default.
Public
Your request goes to the open market, where providers compete to serve it.
- Served by
- Any provider on the network
- Who can read it
- You and the provider serving it
- Price
- The market rate, usually the lowest
- Good for
- Most work
Private
Prompts and outputs stay private. [To come: how private inference keeps prompts and outputs private.]
- Served by
- Providers that qualify for private requests
- Who can read it
- Only you
- Price
- Higher than public
- Good for
- Customer data and internal documents
For providers


If you run GPUs, you can sell inference on Pollio. Set a price for each model you serve and get paid in USDC every 7 days, less a 5% routing fee.
Read the provider guideHow a request travels
Buyer
Sends an OpenAI-format request, with an optional price cap and privacy mode.
Router
Picks a provider on price, latency and uptime. Private requests go only to providers that qualify.
Provider
Runs the model and streams the tokens back. If it stalls, the router moves the request.
Settlement
Counts the tokens, charges the buyer and pays the provider.
The router adds about 18 ms to a request.
Questions


Which models can I call?
Any model a provider serves on the network, 412 at the moment. If a model you need is missing, anyone can start serving it.
How is the price set?
Providers set their own price per million tokens. The router sends each request to the cheapest provider that meets your latency and uptime needs, and you can cap the price or pin a provider.
What if a provider fails mid-request?
The router moves the request to another provider and carries on. You only pay for the tokens you receive.
What do I need to become a provider?
A machine with a recent GPU and a steady connection. The node tells you which models fit in your card's memory, and you choose which ones to serve.