Start
Overview
What Wind is, and the one flow that defines it.
Wind is a metered billing gateway for AI. A user funds a Wind balance once. Your app adds a Connect with Wind button; once the user authorizes it, your app draws from that user’s balance on every inference call — priced as the provider’s cost times a multiplier. Your app never holds an OpenAI or Anthropic key, never fronts inference spend, and never sees the user’s card.
The shape
Wind is the provider of record. It holds the provider accounts, meters every call into an immutable ledger, and keeps a service fee. This is delegated spending authority against a metered resource — the load-bearing analogies are Plaid (delegated account access) and Stripe Connect (delegated money movement), not “Sign in with Google”.
The flow
1 App → user's browser redirect to accounts.usewind.app/oauth/authorize (PKCE)
2 user logs in, sets a spend cap, approves — once
3 browser → App ?code=…
4 App → api.usewind.app POST /oauth/token (code + verifier + client secret)
→ access_token + refresh_token + connection_id
— steady state, per request —
5 App → api.usewind.app POST /v1/ai/{model} (Bearer access_token)
6 api.usewind.app → App provider completion + a `wind` block:
feature, provider_cost_mc, wind_fee_mc,
dev_margin_mc, user_charge_mc, allocation_remaining_mc
Steps 1–4 run once per user. After that your app makes billed calls with the connection’s token until the allocation is exhausted or the user revokes.
What you never handle
The user’s total balance (you see only per-connection remaining), provider keys, and the user’s payment details.
Next
- Quickstart — first billed call in a few minutes
- Concepts — the objects and how they fit
- Authentication — the OAuth + PKCE flow in full