Selling tokens
Offer the subscription capacity you are not using, cap it per account per day, and get paid per token served.
Selling is per account, not per machine. Connect three subscriptions and you get three switches, three caps and three sets of earnings.
Connecting an account
Sell → Connect a subscription.
| Method | Providers |
|---|---|
| Browser sign-in (OAuth) | Claude, ChatGPT / Codex, Gemini |
| Device code | Kimi Code, Grok CLI — you confirm a short code in a browser, which need not be on this machine |
| API key | Moonshot and xAI platform keys, billed against a balance rather than a plan |
| Imported from a local CLI | Anything already signed in on this machine |
Each has its own page under Subscriptions.
Credentials live in an encrypted store on your machine, under ~/.asale/auths/, separate from your own CLI config. They are injected into an upstream request at the moment of the call and never leave the device — not to the buyer, not to Asale.
What gets offered
The client declares, per account:
- Remaining window — the plan's rolling 5-hour capacity minus what this account has already served.
- Daily cap — your own limit, if you set one.
- Concurrency — how many requests the market may send this account at once. Five by default; raise it to earn more from one subscription, lower it if the vendor starts rate-limiting you.
An account with nothing left declares nothing and quietly leaves the market until its window rolls over. Availability is re-declared every minute — and immediately when something changes, rather than waiting for the tick.
Daily limits
Limits → Daily sell limit. Two ways to express it:
- By tokens — a hard number per UTC day.
- By percent — a share of the plan's daily capacity, so the cap follows the plan if you upgrade.
Selling stops on its own at the cap. Nothing is queued or retried afterwards.
Price floor
A model's market price moves (how), and you do not have to sell into every price.
Sell → Edit price floor. Set the lowest share of vendor list price you will accept — the default is to sell at whatever the market pays. Below your floor that model simply stops selling.
Supply sitting out on price is a reading the market acts on: with sellers online but refusing the current number, the price walks back up on its own until it crosses somebody's floor. Yours comes back without you doing anything.
The window estimate is exactly that — an estimate. Selling every last token means your own next request is the one that gets refused. A cap around 50–70% is the usual compromise.
Getting picked
Buyers do not choose you; the matcher does, and it scores four things:
| Weight | Signal |
|---|---|
| 0.45 | Price |
| 0.25 | Reputation |
| 0.15 | Latency |
| 0.15 | Success rate |
Reputation must be at least 600 to be considered at all. Failing requests costs reputation and puts the device in a 60-second cooldown; repeated failures can take you off the market entirely until it recovers.
Getting paid
Each settled request credits Payable on your wallet with the price minus the platform's 8%. Withdraw to a Solana or TRON address from Wallet.
Sharing subscription capacity may conflict with an upstream provider's terms of service. Asale is a technical relay; the account is yours and so is that decision.