Pareto / Switch
Coding plan alternative? Keep your agent.
Looking for an alternative to your coding plan? Pareto is a model and a plan, not another agent. Point the agent you already use at it: $10 a month for 50M tokens a week.
Personal
$10/month
50M tokens/week · 20 requests/minute · one person
New API accounts require manual approval.
Benchmarks in the box above: Preliminary October 1, 2026 runs that may change; denominators and cost method still require confirmation. Not an estimate for your workload. Model card and method.
Comparing coding plans?
Five questions to ask any coding plan.
What does it cost each month?
Personal is $10/month and Personal Max is $100/month. Both are billed monthly, for one person.
How much work does that buy?
Personal includes 50M tokens a week and Personal Max 600M. Tokens are small pieces of words: the bug fix below used 702.
What happens at the limit?
Requests over your plan’s limits return an HTTP 429 error. The allowance is published up front; subscriptions are not unlimited.
How fast can it go?
Personal allows 20 requests per minute and Personal Max 60. Team credits allow 300, with no weekly token cap.
Do you keep your agent?
Usually, yes. Pareto speaks the OpenAI Chat Completions and Anthropic Messages formats, so an agent that lets you set a base URL and a model name can usually use it.
Switch in three settings
Keep your agent. Change three settings.
Pareto speaks the OpenAI Chat Completions and Anthropic Messages formats (API spec), so a coding agent that lets you set a base URL and a model name can usually use it. Change three settings.
Choose a plan
Create your platform account and pick Personal or Personal Max. New accounts are reviewed by a person before API access turns on. Your API key is issued on the platform once you’re approved.Enter the settings
In your agent’s model or provider settings:Base URL: https://api.unbiased.ai/v1 Model: pareto API key: your Unbiased API key
Agents built on the Anthropic SDK takehttps://api.unbiased.aias the base URL; the SDK adds/v1/messages(quickstart). Keep the key in an environment variable or your OS keychain, never in a repo.If your tool lists models
Model listing (GET /v1/models) isn’t implemented yet (API spec). Typeparetoby hand.
50M tokens/week · 20 requests/minute · one person. New API accounts require manual approval.
Product names belong to their owners. Unbiased is not affiliated with or endorsed by the makers of the coding agents you connect.
One model, not a menu.
Several models behind it.
Pareto is Unbiased’s blended AI model: it runs a mix of frontier and open models on each request and blends their outputs into one answer.
One real task
One real bug, fixed and checked.
The problem: a small Python helper should split a list into groups of a set size, but it drops the last group. Asked to split [1, 2, 3, 4, 5] into pairs, it returns [[1, 2], [3, 4]] and loses the 5. We gave Pareto the function and the failing check, applied its fix and reran the checks.
Prompt
This Python function drops the last chunk, and this check fails:
def chunk(items, size):
"""Split items into lists of at most `size` elements."""
out = []
for i in range(0, len(items) - size, size):
out.append(items[i:i + size])
return outassert chunk([1, 2, 3, 4, 5], 2) == [[1, 2], [3, 4], [5]]Find the bug, explain it in one sentence, and give me the fixed function.
Pareto’s answer, unedited
The bug is that the loop uses range(0, len(items) - size, size), which stops too early and never generates start indices for the final partial chunk when the list length isn't a multiple of size.
One-sentence explanation: The range stop value len(items) - size excludes the starting index of the last incomplete chunk, so that chunk never gets appended.
Fixed function:
def chunk(items, size):
"""Split items into lists of at most `size` elements."""
out = []
for i in range(0, len(items), size):
out.append(items[i:i + size])
return outThe change, in plain words
The loop stopped before the end of the list, so the last group was never added. Pareto changed one line so the loop runs to the end.
Before
for i in range(0, len(items) - size, size):After
for i in range(0, len(items), size):The checks, before and after
from chunk import chunk
assert chunk([1, 2, 3, 4], 2) == [[1, 2], [3, 4]]
assert chunk([1, 2, 3, 4, 5], 2) == [[1, 2], [3, 4], [5]]
assert chunk([1], 3) == [[1]]
print("3 checks passed")
$ python3 test_chunk.py # before the fix
AssertionError
$ python3 test_chunk.py # after the fix
3 checks passedCaptured October 17, 2026 from the Unbiased API (model pareto, served as Pareto 26.10). 702 tokens (132 prompt, 570 answer). The original function fails the first check too: it also drops the second pair of an even split. Raw capture and checks.
What changes
What changes when you switch, and what doesn’t.
Your agent stays
Your editor, terminal tool and habits stay the same. Only the base URL, the API key and the model string change.
One model string
You call pareto. Pareto runs a mix of frontier and open models on each request and blends their outputs into one answer, so there is no model list to manage.
Room to grow
Fill Personal’s 50M tokens every week? Personal Max is $100/month for 600M a week at 60 requests per minute.
Or pay per token
Team uses prepaid pay-as-you-go credits: $0.80 input · $0.03 cached input · $3.20 output per million tokens.
Already using a gateway?
Pareto is on OpenRouter too.
If your agent already sends requests through OpenRouter, you can call Pareto there with one model slug. Use Pareto on OpenRouter covers the slug, a sample request and the prices.
Is Pareto a coding agent?
No. Pareto is a model you call with the model string pareto. You keep the coding agent, editor or terminal tool you already use and point it at the Unbiased API.
Which coding agents work?
Tools that speak the OpenAI Chat Completions or Anthropic Messages format and let you set a base URL and model name can usually connect. Use the base URL https://api.unbiased.ai/v1 and the model string pareto.
What happens when I hit the weekly allowance?
Requests over your plan’s limits return an HTTP 429 error, per the API spec at unbiased.ai/openapi.json. Personal includes 50M tokens a week and 20 requests per minute. Personal Max raises that to 600M a week and 60 requests per minute for $100/month. Team uses prepaid pay-as-you-go credits with no weekly token cap.
Is my code kept?
Unbiased Chat, Personal and Personal Max are not part of our Zero Data Retention API. Under section 5(c) of the Terms, prompts and responses on those plans may be kept for up to 30 days for abuse prevention, security monitoring, debugging and product improvement, and our staff may access them. Conversations and Projects you save in Chat are kept until you delete them; otherwise for the length of the contract plus 30 days, or 30 days after a verified account deletion request, whichever is earlier. Standard pay-as-you-go API traffic on Team credits isn’t part of the Zero Data Retention API either: under section 5(c)(i) it may be kept for up to 30 days for abuse prevention and security monitoring. The Zero Data Retention API is described on the Private AI page.
What can I buy today?
Personal is $10/month with 50M tokens a week and 20 requests per minute. Personal Max is $100/month with 600M tokens a week and 60 requests per minute. Team uses prepaid pay-as-you-go credits, with no weekly token cap and 300 requests per minute. Subscriptions are for one person and are not unlimited.
When can I start using the API?
Create or sign in to your platform account to choose a plan. New API accounts require manual approval before access turns on; payment does not mean instant access.
Keep your agent. Try the model.
$10/month for one person, with weekly and request limits.