Pricing & fees
There are no seats, no minimums, and no subscription to Aile itself. You pay per token, from a balance you fund, and sharers are paid per token they serve. The non-chat endpoints bill per unit instead: see below.
What a caller pays
1price = list × margin
list is the provider's published rate for that model. margin is the multiplier
the sharer set, from 0 (free) to 1 (list). No sharer charges above list, and a
model with no published list price is not served. See Your rates.
Different sharers quote different numbers for the same model, which is what makes
it a market.
A request is priced on one rate, fixed when it is quoted, so a price change mid-request never moves its charge. Image output and audio bill at their own published rates where the model has them, which can be several times the text rate; a request that asks for audio output is quoted at the audio rate, so its quote covers a reply that is all audio.
Cached tokens bill the way the provider bills them. A cache read is charged
at the model's cache-read rate, never above its input rate; a cache write at the
published write rate, never below input (an Anthropic one-hour write is 2x
input). GET /v1/models lists the most each can cost as
max_usd_per_mtok_cache_read and max_usd_per_mtok_cache_write (the one-hour
write where the route bills one). The market card shows the read and the
five-minute write.
The platform fee is not added to this. It comes out of the sharer's share.
What a sharer keeps
| Payment path | Sharer receives | Aile takes |
|---|---|---|
| x402 | 100% | nothing |
| Balance debit | 90% | 10%, from the sharer's share |
| Balance debit, nodeless | 85% | 15%: the 10% plus a 5% egress surcharge |
The 10% applies to every balance-path settlement. Nothing elects out of it: choosing to be paid in $AILE changes only the asset you receive.
Waivers exist but are configuration facts rather than preferences: an x402 request takes no cut, and an unset, invalid, or self-referential fee address collects nothing.
Top-ups
USDC, USDT, SOL and $AILE all credit at 0%. USDT, SOL and $AILE are swapped to USDC inside your own wallet.
A card top-up is not free: Aile takes 5% of the USDC that arrives, and the payment provider charges its own fee on top. Aile pays the network fee for moving that 5%, so a card-funded wallet needs no SOL.
What $AILE does
It plays two roles, one per side of the trade, and only one touches price.
Sharers: payout asset. Choose to be paid in $AILE or USDC. There is no fee effect; it changes the asset, never the rate and never the destination. It is off by default.
Callers: a discount tab. A $AILE deposit credits USDC and grants a discount
tab of the same value. Requests it covers are priced 2% below list × margin.
Per-unit endpoints bill at full price and leave the tab untouched.
At $1.00 of list price:
| Full price | From the $AILE tab | |
|---|---|---|
| Caller pays | $1.00 | $0.98 |
| Sharer keeps | $0.90 | $0.90 |
| Aile revenue | $0.10 | $0.03 |
| Earmarked to burn | — | $0.05 |
Only the earmark is burned, and only the $AILE tab creates one. The revenue row funds a separate buy-back that holds the $AILE it buys in the treasury rather than destroying it — so the $0.10 column buys the token back too, it just does not reduce supply. Both run as background sweeps where the deployment enables them, never as a settlement leg. The running totals, bought back and burned, are public on /stats and /tokenomics.
Buying $AILE is not a top-up. The dashboard's Buy $AILE spends USDC from your wallet on the token. It shows as bought $AILE, credits nothing and grants no discount tab.
Staking changes no price you pay. A stake tier buys a free usage window. Where the
operator runs it, an opted-in staker's unused window can discount other callers'
balance-paid requests (see Rate limits › Stake-funded discount).
A discounted request is all or nothing: you pay the staker the discounted price,
Aile's stake pool pays the sharer its full price, and the 10% fee applies to both.
GET /stake/discount shows what is left, rounded up to whole dollars (to $10
where Aile's own budget is the limit), and shows no figure while fewer than three
stakers fund it. The discount never stacks with the $AILE tab, and never applies
to x402, self-hosted capacity, or a request that pins a sharer, machine or account.
The sharer is unaffected, by arithmetic
The fee on a discounted request is derived rather than configured: it is the unique rate on the smaller base that leaves the sharer with exactly the same share of list. The discount is funded out of Aile's own cut, and if the fee were ever too small to fund it the discount collapses to zero rather than coming out of the sharer.
Long prompts
Some models charge more once a request's prompt passes a size, such as 200K tokens.
Cached tokens count. The whole request is then billed at that rate. The model page
lists it, and x-aile-max-price is checked against it.
Aile estimates the prompt before sending it: text at about four characters a
token, images and PDF pages by the model's own formula. An attachment it cannot
measure, such as a linked file, is held at the model's whole context window. If
your balance cannot cover that, the 402 says so. You are billed on the usage the
provider reports.
Controlling what you spend
Cap the ceiling. The reservation is taken against the max_tokens your
request authorises rather than the reply you receive. The difference is refunded, but
that number is the lever where the route sends it upstream; tools and thinking can
raise that cap, and a key's balance is billed up to it. With no max_tokens the
quote assumes 4,096 output tokens, but the charge follows the reported usage up to
whatever cap the route sent (the context window if it sent none), bounded by your
spendable balance. x402 pays the quote, and self-hosted capacity bills at most
the quote.
Cap the price.
1x-aile-max-price: 8 # $8 per million tokens2x-aile-max-price: 80% # 80% of this model's published rate (higher of in/out)
Cap the key. A spend limit belongs to a key, so one runaway integration cannot
spend what the rest of the account holds. A key's discount setting works like the
% form above: a 20% discount admits only sharers at or below 80% of list, and
refuses models with no published price.
Price before you send.
1aile price claude-opus-5 --max-tokens 1024
Sends nothing; quotes every sharer, cheapest first.
Non-chat endpoints
Each one bills in a single unit, at the model's list price per unit × the serving sharer's margin:
| Endpoint | Unit |
|---|---|
| Images (generations, edits) | image; an openai/gpt-image-* edit adds a fixed worst-case price per input image to each |
| Rerank | search: one query over up to 100 document chunks (a long document counts once per chunk) |
| Moderations | input |
| OCR | page |
| Web search | query of up to 10 results |
| Scrape | webpage, +1 per PDF page parsed |
| Speech | 1,000 input characters |
| Transcription, translation | minute of audio |
| Video | second requested |
| Music | track |
Embeddings and decisions are the exceptions: they bill per token. These endpoints are all nodeless, so the 15% row above applies on the balance path. A model with no published list price is refused by name rather than served at a guess.
Seeing what you spent
1aile spend
It counts your own served requests and keys them on the sharer's handle, so a sharer who was cheap but unreliable looks worse here than any listing can show.
The same view lives in the dashboard under Account → Usage.
Full details
Money covers the two payment paths, wallet custody, payout batching, and the burn earmark.