How quota is measured, how top-ups land, and how to read your usage.
How billing works
Triw meters each request from the usage the upstream provider reports (prompt tokens, completion tokens, cached tokens, image count, audio seconds — depending on the model). The cost is converted into quota, the internal unit:
500,000 quota = $1.00
So 1 quota = $0.000002. The dashboard shows both quota and the equivalent USD amount.Per-model prices are published on the pricing page. A model’s price is expressed as a multiplier over the base token price of its class, so the same request can cost differently across groups.
API: GET /api/user/self with your session token, or GET /api/user/dashboard for aggregate data.
Top-up
Dashboard → Top up offers whatever methods the operator enabled:
Method
Flow
Payment gateway
Choose an amount, pay the generated invoice, balance is credited after the provider confirms
Redemption code
Paste the code; the amount is added immediately
Subscription / plan
If enabled, recurring allowance instead of pay-per-token
Invoices are only credited after the payment provider confirms the transaction. If you paid but the balance did not move, wait for the provider callback, then refresh. Still missing after 15 minutes — open a ticket with the invoice ID.
Reading usage
Each request writes a log entry with model, tokens, quota consumed, latency and status. Use Dashboard → Logs to filter by key, model, or time range. Logs are the source of truth when reconciling spend.
Common billing surprises
Symptom
Cause
Balance dropped faster than expected
Long context or high max_tokens; output tokens cost more than input
insufficient_user_quota with visible balance
The key’s quota is the blocker, not the account
Two keys, different cost for the same prompt
Different groups → different multiplier
Streaming request billed more than the visible answer
Usage includes reasoning tokens and cached context where the upstream reports them
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Triw","description":"Unified AI API gateway: one key, one base URL, any model.","colors":{"primary":"#C05E3C","light":"#E08A63","dark":"#9E4A2C"},"logo":{"light":"https://mintcdn.com/triw/6OI-ZvizAc-ZAoQg/logo/logo-light.png?fit=max\u0026auto=format\u0026n=6OI-ZvizAc-ZAoQg\u0026q=85\u0026s=109f0a1f692b25df10a4c3f30307ed43","dark":"https://mintcdn.com/triw/6OI-ZvizAc-ZAoQg/logo/logo-dark.png?fit=max\u0026auto=format\u0026n=6OI-ZvizAc-ZAoQg\u0026q=85\u0026s=46a88451960d0dd2d462b6671f0bfcdd"},"favicon":"https://mintcdn.com/triw/6OI-ZvizAc-ZAoQg/favicon.png?fit=max\u0026auto=format\u0026n=6OI-ZvizAc-ZAoQg\u0026q=85\u0026s=5109c2fe7f852517c337878da73d515c","navbar":{"links":[{"href":"https://router.triw.io/pricing","label":"Pricing"}],"primary":{"type":"button","label":"Get API key","href":"https://router.triw.io"}},"footer":{"socials":{"github":"https://github.com/triw-ai","website":"https://triw.io"}},"contextual":{"options":["copy","view","chatgpt","claude","mcp","cursor"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Console","href":"https://router.triw.io"},{"anchor":"Pricing","href":"https://router.triw.io/pricing"}]},"languages":[{"language":"en","href":""},{"language":"id","href":"id"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"triw","hasAudioNarration":false,"actualSubdomain":"triw","customDomains":[],"gitSource":{"type":"github","owner":"triw-ai","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":"","_id":"6af809ffa55eecc6a1560e46"},"feedback":{"agentFeedback":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af81583a55eecc6a1567091","clientVersion":"0.0.4142","searchFilterCounts":[{"language":"en","tag":"Tools","count":10},{"language":"id","tag":"Tools","count":10},{"language":"en","tag":"API","count":5},{"language":"id","tag":"API","count":5},{"language":"en","tag":"Account","count":4},{"language":"id","tag":"Account","count":4},{"language":"en","tag":"SDKs","count":3},{"language":"id","tag":"SDKs","count":3},{"language":"en","tag":"Getting started","count":2},{"language":"id","tag":"Getting started","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"billing","slug":"/billing","pageMetadata":{"title":"Balance and top-up","description":"How quota is measured, how top-ups land, and how to read your usage.","href":"/billing"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"How quota is measured, how top-ups land, and how to read your usage.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`how-billing-works`,children:`How billing works`}),`\n`,_jsxs(_components.p,{children:[`Triw meters each request from the usage the upstream provider reports (prompt tokens, completion tokens, cached tokens, image count, audio seconds — depending on the model). The cost is converted into `,_jsx(_components.strong,{children:`quota`}),`, the internal unit:`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`500,000 quota = $1.00`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`So `,_jsx(_components.code,{children:`1 quota = $0.000002`}),`. The dashboard shows both quota and the equivalent USD amount.`]}),`\n`,_jsxs(_components.p,{children:[`Per-model prices are published on the `,_jsx(_components.a,{href:`https://router.triw.io/pricing`,children:`pricing page`}),`. A model’s price is expressed as a multiplier over the base token price of its class, so the same request can cost differently across groups.`]}),`\n`,_jsx(Heading,{level:`2`,id:`checking-your-balance`,children:`Checking your balance`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Console: `,_jsx(_components.strong,{children:`Dashboard → Overview`}),` (balance, today’s spend, trend).`]}),`\n`,_jsxs(_components.li,{children:[`API: `,_jsx(_components.code,{children:`GET /api/user/self`}),` with your session token, or `,_jsx(_components.code,{children:`GET /api/user/dashboard`}),` for aggregate data.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`top-up`,children:`Top-up`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Dashboard → Top up`}),` offers whatever methods the operator enabled:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Method`}),_jsx(_components.th,{children:`Flow`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Payment gateway`}),_jsx(_components.td,{children:`Choose an amount, pay the generated invoice, balance is credited after the provider confirms`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Redemption code`}),_jsx(_components.td,{children:`Paste the code; the amount is added immediately`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Subscription / plan`}),_jsx(_components.td,{children:`If enabled, recurring allowance instead of pay-per-token`})]})]})]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Invoices are only credited after the payment provider confirms the transaction. If you paid but the balance did not move, wait for the provider callback, then refresh. Still missing after 15 minutes — open a ticket with the invoice ID.`})}),`\n`,_jsx(Heading,{level:`2`,id:`reading-usage`,children:`Reading usage`}),`\n`,_jsxs(_components.p,{children:[`Each request writes a log entry with model, tokens, quota consumed, latency and status. Use `,_jsx(_components.strong,{children:`Dashboard → Logs`}),` to filter by key, model, or time range. Logs are the source of truth when reconciling spend.`]}),`\n`,_jsx(Heading,{level:`2`,id:`common-billing-surprises`,children:`Common billing surprises`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Symptom`}),_jsx(_components.th,{children:`Cause`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Balance dropped faster than expected`}),_jsxs(_components.td,{children:[`Long context or high `,_jsx(_components.code,{children:`max_tokens`}),`; output tokens cost more than input`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`insufficient_user_quota`}),` with visible balance`]}),_jsxs(_components.td,{children:[`The `,_jsx(_components.strong,{children:`key’s`}),` quota is the blocker, not the account`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Two keys, different cost for the same prompt`}),_jsx(_components.td,{children:`Different groups → different multiplier`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Streaming request billed more than the visible answer`}),_jsx(_components.td,{children:`Usage includes reasoning tokens and cached context where the upstream reports them`})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Balance and top-up","description":"How quota is measured, how top-ups land, and how to read your usage.","href":"/billing"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How billing works","slug":"how-billing-works","depth":2,"children":[]},{"title":"Checking your balance","slug":"checking-your-balance","depth":2,"children":[]},{"title":"Top-up","slug":"top-up","depth":2,"children":[]},{"title":"Reading usage","slug":"reading-usage","depth":2,"children":[]},{"title":"Common billing surprises","slug":"common-billing-surprises","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"triw","siteName":"Triw","title":"Balance and top-up - Triw","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/billing","matchLevel":0},"id":{"href":"/id/billing","matchLevel":1}}},"lastModified":"2026-11-14T07:28:55.940Z","originalFileLocation":"billing.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"How quota is measured, how top-ups land, and how to read your usage.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Triw\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/triw/kfPoJWbEBL_18MFZ/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/triw/kfPoJWbEBL_18MFZ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/triw/kfPoJWbEBL_18MFZ/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/triw/kfPoJWbEBL_18MFZ/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/triw/kfPoJWbEBL_18MFZ/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/triw/kfPoJWbEBL_18MFZ/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/triw/kfPoJWbEBL_18MFZ/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/triw/kfPoJWbEBL_18MFZ/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/triw/kfPoJWbEBL_18MFZ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Balance and top-up - Triw\">\u003cmeta data-mint-head property=\"og:description\" content=\"How quota is measured, how top-ups land, and how to read your usage.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Triw\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://triw.mintlify.app/billing\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://triw.mintlify.site/_mintlify/api/og/v2?division=Account\u0026amp;title=Balance+and+top-up\u0026amp;description=How+quota+is+measured%2C+how+top-ups+land%2C+and+how+to+read+your+usage.\u0026amp;theme=a9b5e08579aef0b9cd8417cf\u0026amp;signature=d63001ac7bbbca01fa116eb12ff9697479dbda463eda80ce145e2a1632d2a7d2\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Balance and top-up - Triw\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"How quota is measured, how top-ups land, and how to read your usage.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://triw.mintlify.site/_mintlify/api/og/v2?division=Account\u0026amp;title=Balance+and+top-up\u0026amp;description=How+quota+is+measured%2C+how+top-ups+land%2C+and+how+to+read+your+usage.\u0026amp;theme=a9b5e08579aef0b9cd8417cf\u0026amp;signature=d63001ac7bbbca01fa116eb12ff9697479dbda463eda80ce145e2a1632d2a7d2\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/triw/kfPoJWbEBL_18MFZ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Triw\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#C05E3C\">\u003clink data-mint-head rel=\"canonical\" href=\"https://triw.mintlify.app/billing\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/billing.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://triw.mintlify.app/billing\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"id\" href=\"https://triw.mintlify.app/id/billing\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://triw.mintlify.app/billing\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://triw.mintlify.app/#organization\",\"name\":\"Triw\",\"url\":\"https://triw.mintlify.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/triw/6OI-ZvizAc-ZAoQg/logo/logo-light.png?fit=max\u0026auto=format\u0026n=6OI-ZvizAc-ZAoQg\u0026q=85\u0026s=109f0a1f692b25df10a4c3f30307ed43\"}},{\"@type\":\"WebSite\",\"@id\":\"https://triw.mintlify.app#website\",\"name\":\"Triw\",\"url\":\"https://triw.mintlify.app\",\"publisher\":{\"@id\":\"https://triw.mintlify.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://triw.mintlify.app/billing#webpage\",\"url\":\"https://triw.mintlify.app/billing\",\"name\":\"Balance and top-up\",\"description\":\"How quota is measured, how top-ups land, and how to read your usage.\",\"dateModified\":\"2026-11-14T07:28:55.940Z\",\"isPartOf\":{\"@id\":\"https://triw.mintlify.app#website\"},\"breadcrumb\":{\"@id\":\"https://triw.mintlify.app/billing#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://triw.mintlify.app/billing#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Account\",\"item\":\"https://triw.mintlify.app/authentication\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Balance and top-up\",\"item\":\"https://triw.mintlify.app/billing\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://triw.mintlify.app/billing#article\",\"headline\":\"Balance and top-up\",\"name\":\"Balance and top-up\",\"description\":\"How quota is measured, how top-ups land, and how to read your usage.\",\"url\":\"https://triw.mintlify.app/billing\",\"mainEntityOfPage\":{\"@id\":\"https://triw.mintlify.app/billing#webpage\"},\"dateModified\":\"2026-11-14T07:28:55.940Z\",\"publisher\":{\"@id\":\"https://triw.mintlify.app/#organization\"},\"isPartOf\":{\"@id\":\"https://triw.mintlify.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Triw\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Triw\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/billing.md","siteName":"Triw","nav":{"global":{"anchors":[{"anchor":"Console","href":"https://router.triw.io"},{"anchor":"Pricing","href":"https://router.triw.io/pricing"}]},"languages":[{"language":"en","groups":[{"group":"Getting started","pages":[{"title":"Overview","href":""},{"title":"Quickstart","href":"/quickstart"}]},{"group":"Account","pages":[{"title":"Authentication","href":"/authentication"},{"title":"API keys","description":"Create, scope, rotate and revoke keys — and what a group actually changes.","href":"/api-keys"},{"title":"Balance and top-up","href":"/billing"},{"title":"Models and groups","description":"Discover what your key can call, and why the same model name can behave differently across groups.","href":"/models"}]},{"group":"API","pages":[{"title":"Endpoints","href":"/endpoints"},{"title":"Errors and troubleshooting","href":"/errors"},{"title":"Image generation","href":"/images"},{"title":"Video generation","href":"/video"},{"title":"Embeddings and audio","href":"/embeddings-audio"}]},{"group":"SDKs","pages":[{"title":"OpenAI SDK","href":"/sdks/openai"},{"title":"Anthropic SDK","href":"/sdks/anthropic"},{"title":"Gemini SDK","href":"/sdks/gemini"}]},{"group":"Tools","pages":[{"title":"Claude Code","href":"/tools/claude-code"},{"title":"Codex CLI","href":"/tools/codex"},{"title":"Cursor","href":"/tools/cursor"},{"title":"Cline","href":"/tools/cline"},{"title":"OpenCode","href":"/tools/opencode"},{"title":"Gemini CLI","href":"/tools/gemini-cli"},{"title":"Hermes Agent","href":"/tools/hermes-agent"},{"title":"OpenClaw","href":"/tools/openclaw"},{"title":"DeepSeek Harness","href":"/tools/deepseek-harness"},{"title":"CC Switch","href":"/tools/cc-switch"}]}]},{"language":"id","pages":[{"title":"id","href":"/id/billing"}]}]},"basePath":"","title":"Balance and top-up - Triw","buildId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","deploymentId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","dynamics":[],"chunks":[]}