hush / docs

How Hush works.

One chat for 260 AI models that keeps nothing it hears, paid in USDC on Solana, with a tenth of every purchase going to the people who stake $HUSH. Everything below is what the code does, and where it stops.

#Your first private chat.

There is no sign-up form, no card and nothing to install. Any Solana wallet works: Phantom, Solflare, Backpack, OKX, MetaMask and others. On a phone, the app opens itself inside your wallet’s browser.

  1. Connect and sign. One line of text, no transaction.
  2. Add credits in USDC, from $5. That is about 11,100 messages to Claude Haiku 5.5.
  3. Ask. Pick any model; switch whenever you like.

(a) Connect a wallet. One signature is the whole sign-in; Hush learns an address and nothing about who holds it.

(b) Add credits in USDC, from $5. $5 is about 11,100 messages to Claude Haiku 5.5. The payment is split on chain as it lands.

(c) Ask anything, of any model. The words go to the model and back to you under a shared key; nothing is written down.

The three steps, as they happen. Each panel plays when it scrolls into view.

#A signature, not an account.

The app asks your wallet to sign the text below. The server checks the signature against your address, refuses anything older than ten minutes, and hands back a session that carries your address and an expiry seven days out, sealed with a server secret. Signing moves no funds.

Sign in to Hush

Wallet: 7xKX…q2Pd
Issued: 2026-10-25T14:02:11.000Z

This signs no transaction and moves no funds.

#What leaves your browser.

Every request is rebuilt from three things only: the messages, the model, and the model’s own settings. Your wallet, any metadata and your IP never travel with it.

It goes out through OpenRouter with routing locked to providers that keep no data (zero data retention). If a model has none at that moment, the request fails instead of falling back to one that does. Type below and watch both sides.

Listing 1. An account-based AI app

{  "account": "usr_88120",  "email": "you@mail.com",  "ip": "84.21.140.7",  "device": "iPhone 16 · Seoul",  "card": "visa •••• 4242",  "history": "kept",  "prompt": "is it bad that i lied on my resume about one year"}

Tied to you, stored, searchable later.

Listing 2. What Hush sends to the model

{  "model": "anthropic/claude-sonnet-5.5",  "messages": [{ "role": "user",    "content": "is it bad that i lied on my resume about one year" }],  "provider": { "zdr": true }}

Under one key every Hush user shares. The provider sees words, not a person.

Kept afterwards, one line like this14:02 UTC · anthropic/claude-sonnet-5.5 · 392 tokens · 0.21 credits

Left: what an app with accounts usually keeps next to your words. Right: everything Hush sends.

#One key for everyone.

Every Hush user reaches the model under the same key. To the provider that is one customer sending many requests. It can count them; it cannot tell whose is whose.

you, and everyone elseone Hush keythe provider sees one customer
Many people, one key, one line of identical requests.

#What we keep.

Two things, both needed to bill you, and nothing else.

Kept

  • Your wallet address and its credit balance
  • Each purchase’s transaction signature
  • Per request: time, app or API (and which key), model, token counts, cost

Never kept

  • Your prompts and the answers
  • Tool calls, search queries, images you send or make
  • Your IP address
API keys
Stored only as a hash. Each key can be paused, given a budget, or limited to certain models.

#History on your device.

By default a conversation lives only in the open tab. If you choose to keep history, your wallet signs one more fixed line, and your browser turns that signature into a key that never leaves it:

The key cannot be exported; the conversations are stored encrypted in this browser.

Wallet signatures of this kind are deterministic, so the same wallet rebuilds the same key on another device. Nothing about your history reaches our server. Conversations can be renamed, exported as Markdown, or deleted from the sidebar.

#Two rooms.

Crowded roomSealed room
ModelsClaude, GPT, Gemini, Grok and the rest of the frontierOpen models: DeepSeek, Qwen, gpt-oss and others
Where it runsAt the model maker’s provider, under one Hush keyInside a hardware enclave (Intel TDX, confidential GPUs)
What you can checkThe provider’s word: zero retention endpoints onlyA public, signed attestation report per model
Status260 models liveOpens when the enclave provider is connected

#Prices, in the open.

One credit is one cent and never expires. A request costs the provider’s own price for its tokens, read live, plus 12%. A typical message, 1,500 tokens in and 500 out, costs

Prices are in dollars per million tokens.

ModelLabIn / 1MOut / 1MPer $1
Claude Haiku 5.5Anthropic$0.112$0.5602,232
Gemini 3.8 FlashGoogle$0.420$2.10595
DeepSeek V4.1 Flash 1017DeepSeek$0.113$0.1683,941
Kimi K3Moonshot$0.215$9.08205
Claude Sonnet 5.5Anthropic$2.24$11.20111
GPT-5.5OpenAI$5.60$33.6039
Gemini 4 ArgonGoogle$2.24$11.20111
Grok 4.7xAI$2.24$6.72148
GLM 5.3Z.ai$0.0783$1.571,109
Claude Opus 5.5Anthropic$4.48$22.4055

Read at 06:46 UTC. A wallet may send 60 requests a minute and four at once.

#Make one, or send one.

Make one: pick an image model (Gemini’s image models have zero retention routes) and describe the picture. It comes back in the chat and is kept only if history is on, encrypted like the rest.

Send one: attach an image to ask a model that can see. It is shrunk in your browser, travels inside the request, and is never stored by our server.

#The API.

Hush speaks the OpenAI chat format at https://askhush.xyz/api/v1. Make a key in the app under Billing → API keys. It starts with hk_, is shown once, and spends your wallet’s credits.

curl https://askhush.xyz/api/v1/chat/completions \
  -H "Authorization: Bearer hk_..." \
  -H "Content-Type: application/json" \
  -d '{"model": "anthropic/claude-haiku-5.5", "messages": [{"role": "user", "content": "Say something quiet."}]}'
EndpointWhat it does
POST /chat/completionsThe OpenAI body, streamed or not: messages (text and images, tool calls), model, sampling settings, tools, reasoning, web search and image output. Anything else is dropped
GET /modelsEvery model with its room, its price in credits per million tokens, and whether it sees or makes images
GET /attestation?model=The enclave’s signed report for sealed room models, no key needed

Errors

HTTPCodeWhen
401authentication_errorNo key or session, or the key is unknown
401key_disabledThe key is paused
402insufficient_balanceNot enough credit for what the request could cost
402key_limit_reachedThe key reached its spending limit
403model_not_allowedThe key may not use that model
404model_not_privateThe model has no zero retention route right now
429rate_limit_errorMore than 60 requests a minute, or 4 at once, for one wallet
502upstream_errorThe model did not answer; nothing was charged
503sealed_unavailableThe sealed room is not connected yet

#Every purchase, split.

Credits are bought by paying the Hush program on Solana in USDC. The program divides each payment before the transaction ends:

$10.00 USDCone credit purchase$0.00pays for the answers$0.00to HUSH stakers, in USDC$0.00buys HUSH, burns it
A $10 purchase, drawn as the program splits it. If nothing is staked, the stakers’ part goes to the treasury, so no reward is left unowned.

#Staking, paid in USDC.

Stake $HUSH and you are paid your share of every purchase in USDC, in the same transaction that pays for it:

Kept exact with a running reward per staked token and its remainder, so no fraction of a cent is lost (Batog, Boca and Johnson, 2018).

paid to you, r$100USDC a month

paid to all stakers$10KUSDC a month

bought and burned$10Kof HUSH a month

Try your own numbers. This is the program’s rule applied to what you pick, not a forecast of usage, price or returns.
  • Paid at once. Your share lands with each purchase; claim whenever you like.
  • Locked 24 hours. Staking or adding to a stake locks it for a day, so no one can borrow tokens, collect and leave in one block.
  • Counted as received. A stake counts what the vault actually received, so a token with a transfer fee cannot inflate it.

Stake and claim in the app at app/stake.

#Buyback and burn.

The buyback part of every purchase goes to a single wallet whose only job is to buy $HUSH on its market and burn it. Both transactions are public, and the burned total is read from the token’s supply below.

#What the admin can do.

Only the program’s upgrade authority can set it up. After that, the admin key has exactly these powers, and nothing pauses staking, moves staked tokens or takes rewards.

InstructionWhoWhat it changes
purchaseAnyonePays USDC and splits it as above
stake · withdraw · claimThe stakerOnly their own stake and rewards
distributeAnyoneAdds USDC for current stakers
set_paramsAdminThe split and the minimum; stakers plus buyback at most 50%
set_destinationsAdminThe treasury and buyback wallets
propose · accept adminAdmin, then the new adminMoves the admin in two steps

Program: BANup4LjAanvWu9M5wcmxrj5bDS1sZMeV8bY31QAY3PH, deployed at launch.

#Live numbers.

Starts at launch

So far
Credit purchases—
USDC spent on credits—
USDC paid to stakers—
HUSH staked—
Stakers—
HUSH burned—
Yearly rate to stakers—

The yearly rate is last week’s USDC to stakers scaled to a year, over what is staked at today’s price. It moves with every purchase and is not a promise.

#Who sees what.

WhoSeesDoes not see
HushYour address, balance, and per request: time, model, tokens, costYour words or the answers, beyond relaying them
The model’s providerThe words and the answer, while it answersWho sent them; one Hush user from another
The search providerA query the model wrote, when Search is onWho it is for
Anyone on chainThat a wallet bought credits, how much and whenAnything about what you asked
Someone with your deviceKept history, only if they can also sign with your walletHistory, without the wallet

#Limits, stated plainly.

  • Zero retention is a promise. That providers keep nothing rests on their terms and on the routing above. The sealed room is how open models move from promise to proof.
  • Our server relays your words. It sees them in passing and is trusted to keep nothing, as described here.
  • A wallet is a name. The chain links an address to its purchases and to where its USDC came from. A fresh wallet used only for Hush keeps those apart.
  • Words can name you. A message that identifies its writer still does, whoever carries it.
  • Answers can be wrong. Hush changes who keeps the conversation, not what the model knows. Nothing here is financial, medical or legal advice.

#What comes next.

  • The sealed room: open models inside hardware enclaves, with a public signed report for each.
  • A stakers’ allowance: free messages every week for staked $HUSH.
  • Studio: video and audio under the same rules.
  • Desktop and agents: the same room, with tools.

#Questions.

Do I need an account?
No. A Solana wallet signs one line of text; there is no email, password or card.
What do you keep?
Your address, your balance, and one line per request: time, model, tokens and cost. Never the words.
Which models can I use?
Every model with a zero retention route, 260 today, Claude, GPT, Gemini and Grok among them.
How do I pay?
USDC on Solana, from $5. One credit is one cent and never expires.
What does $HUSH do?
Stakers are paid 10% of every purchase in USDC, and 10% of every purchase buys $HUSH and burns it.
Can anyone take staked tokens?
No. The staking side of the program has no admin instruction.
Can I use it from code?
Yes. Any OpenAI client works with a key made in the app.
When does $HUSH launch?
At launch, on Meteora. This page will show its address and the live numbers.