Skip to content
Good MorningDocs
Dashboard

Billing and pricing

GM uses prepaid credit. There is no subscription: add credit to the account, then inference usage is deducted as requests complete.

Sign in at saygm.com, open Credits, and select an available funding method. The dashboard currently supports card and crypto-based funding rails where enabled for the account.

Do not send funds to an address copied from documentation or an old screenshot. Always begin a top-up from the signed-in dashboard.

The public model catalog is the machine-readable source for current prices:

Terminal window
curl -fsSL https://api.saygm.com/v1/models

Every entry carries a pricing object holding the exact dimensions the gateway uses.

pricing.unit is ndollars_per_mtok: nano-dollars per million tokens. The API uses integers so a rate never depends on decimal rounding. Divide by 1,000,000,000 to get dollars per million tokens.

5000000000 ndollars / 1e9 = $5.00 per million input tokens
104000000 ndollars / 1e9 = $0.104 per million input tokens

pricing.dimensions covers more than input and output. Cached reads, cache writes at each retention window, cache storage per hour, audio tokens, and long-context rates each have their own key, set to null where the dimension does not apply. pricing.surcharges holds charges that are not per-token, such as a per_event provider-side web search or a per_hour code-execution sandbox.

Choose a model lists every dimension key.

When a model sets long_context_threshold_tokens, requests past that size are priced from long_context_input_per_mtok_ndollars and long_context_output_per_mtok_ndollars instead of the standard rates. The step is not small: gpt-5.5 sets the threshold at 272,000 tokens, with a long-context input rate of $10.00 against a standard $5.00, and $45.00 against a standard $30.00 for output.

Read the threshold from the catalog if your application builds large prompts or accumulates long conversations, and treat settlement as authoritative for the exact charge.

The gateway checks that the account can cover an estimate before sending a request. After the response, it settles against actual billable usage. A request that cannot be admitted because the account lacks credit returns HTTP 402.

Every successful inference response also carries the amount it actually settled for, inside the response’s own usage block: cost in USD (a JSON number with exactly nine fractional digits) and cost_nano_usd as an integer in nano-USD, matching GET /v1/credits. This is the settled charge — after miner pricing, buyer markup, the retail clamp, and any realised surcharges — not an estimate derived from /v1/models rates, so it stays correct when the cheapest eligible offer moves, a request crosses a long-context threshold, or a cache-write or audio dimension applies. A reseller can bill straight from cost (times its own markup) instead of re-deriving the rate itself.

The field is always on; no request opts in. See placement and streaming behavior on OpenAI, Anthropic, Gemini, and Streaming.

  • Do not copy a pricing table into application code.
  • Refresh /v1/models periodically if your application displays cost estimates.
  • Treat the gateway’s settlement as authoritative.
  • Use separate API keys when you need usage attribution by application.

See Usage for account-level reporting.