Supercharging your building in the AI era

Paritok drops in and non-destructively compresses tools, files, and history on the fly for longer sessions and smaller bills.

Self-host free
Paritok - Spend up to 85% less and run 3× longer coding agent sessions | Product Hunt
0%
content removed
0K
tool schema / turn
0%
by turn five
$0
self-hosted
agent → paritok → anthropicraw
segment tokens3,000100%
[SEG kind=file_read] src/payments/refund.py
from .errors import InvalidRefund
def process_refund(order_id, amount, reason=None):
"""Refund a paid order and release the hold.
Args:
order_id: primary key of the order to refund.
amount: value to return, capped at the order total.
reason: optional free-text note stored on the refund.
"""
# the order has to be paid before we can refund anything
order = Order.objects.get(id=order_id)
if order.status != 'paid':
logger.warning('refund on unpaid order %s', order_id)
raise InvalidRefund(order_id)
logger.info('refunding %s of %s', amount, order.total)
return gateway.refund(order.charge_id, amount)
… 118 more lines in this segment
read_original("a41") → the exact bytes, no extra turn

The gateway

One environment variable

That is the entire integration.

export ANTHROPIC_BASE_URL=http://127.0.0.1:8080
agent
paritok
anthropic
01

Your agent sends

Tool schemas, history, file reads. Unchanged.

02

Paritok rewrites

Filters, compresses, summarizes. Tags everything it touches.

03

Upstream bills less

Response comes back untouched. Refs expand on demand.

Works today withClaude CodeCursorCodexOpenHandsany OpenAI-compatible upstream

How it saves

Three levers stack.

tools[] block29Ktokens
read_filewrite_fileedit_filebashgrepgloblsweb_searchweb_fetchtodo_writetasknotebook_editslack_postslack_searchslack_usersgh_pr_creategh_issue_creategh_reviewjira_createjira_searchlinear_issuenotion_pagenotion_db_queryfigma_filedrive_listsheets_readcalendar_listgmail_searchsentry_issuesdatadog_querypagerduty_incidentstripe_chargestripe_refundaws_s3_listaws_lambda_invokegcp_bucketk8s_get_podsk8s_logsdocker_pspostgres_queryredis_getmongo_findbrowser_clickbrowser_snapshotmemory_writevector_query

46 schemas, every one sent in full, every single turn

01

Tool schemas

29K → 8Kper turn

Agents ship 70+ tools in full JSON on every request. We keep the relevant ones, stub the rest.

Frozen per conversation, so the block stays cache-stable.

segments13,220tokens
file_read refund.py4,820
tool_result pytest -q2,140
log_output worker.log3,360
file_read orders.py2,900

every read and tool result, at full size

02

File reads & output

26%of original

Our 4B model knows a function signature from a debug line. Identifiers, paths and errors survive.

Small per turn. Compounds hard across a session.

context windowfilling
summary
turn 1turn 2turn 3turn 4turn 5turn 6turn 7turn 8

turns accumulate, every one re-sent

03

Stale history

0overflows

Turns beyond a recent window get summarized once your context budget fills. Recent turns are left untouched.

Ours runs on a budget you set, not when the model runs out of room.

read_original(ref)gateway_search_tools(q)

Nothing is ever discarded

Lossy on the wire, recoverable when it counts. The agent asks for the exact bytes and gets them — locally, without burning a turn.

Compounding

Use more, save more

Every file you read stays in history and is re-sent. So compression keeps paying, turn after turn.

Across a session

The longer it runs, the more comes off

sessioncontextsharesaved
1 turn
40K12K
25%$0.073
5 turns
84K30K
39%$0.197
10 turns
140K52K
54%$0.413
12 turns
162K60K
57%$0.497
15 turns
195K73K
60%$0.618
20 turns
250K95K
63%$0.816

Saved across the whole session, against an average 96,500-token request at $3 / 1M with caching priced into both sides at 0.1×.

Your ceiling

How high it goes depends on your setup

setupceilingsaved / turn
Default · ~40 tools72%$0.039
96,500 tokens / turn
MCP-heavy · 70+ tools78%$0.048
127,500 tokens / turn
Context-saturated85%+$0.069+
200,000 tokens / turn · where a no-Paritok session compacts

Your numbers

Put your own volume in

5
120
Typical session length
Your setup
Context window
Your model
$6,550
saved per year · estimate
Input bill without Paritok$12,198
Input bill with Paritok$5,648
Share of the bill removed54%
Plateau, from turn ~872%
Turns that fit in 200K1544
Work before you hit a limitsubscription plans — a seat meters on usage, not dollars1.9×

The engine

Code-native 4B compression model

45K real agent trajectoriesApache-2.0
CompressorQuality retainedCompression rateAgent-trainedKeeps identifiersWeightsPer-token fee
Uncompressed baseline100.0%100.0%n/afree
LLMLingua-2not evaluated~40.0%MITfree
gpt-4.1-mini (prompt)85.6%50.2%closedpaid
Paritok-4B-v186.5%25.7%Apache-2.0free

SWE-bench Lite, end-to-end: an agent scaffold receives its context through each compressor, then attempts the issue. Quality retained = solve rate ÷ uncompressed baseline. Compression rate is lower-is-harder.

The benchmark is a floor, not a ceiling

That 86.5% is the raw model with recall disabled — the honest, reproducible floor. What you deploy is the gateway, where every segment is tagged and read_original pulls back anything the benchmark left on the table.

Pricing

Two ways to deploy

Self-host

Free
Apache-2.0 · forever

The whole stack on your own hardware.

  • Gateway + 4B model, both open
  • ~2.5GB at Q4 — any 8GB card runs it
  • Tool filter runs on CPU — no GPU at all
  • GitHub & Discord support

Hosted GPU

$0.30$0
per 1M tokens · free until end of August

Same gateway, compression on our GPUs.

  • Managed, always-on endpoint
  • No GPU to buy or rent (~5× faster than RTX 4060)
  • Usage dashboard
  • No credit card
  • GitHub & Discord support

Start your building journey in the fast lane

Star on GitHub