How Data Labeling pipeline runs and Training Runs share your team’s balance, reserve funds, charge for work, and respond to insufficient funds.
Each team has one balance shared by every project in that team. Data Labeling pipeline runs and Training Runs both use it, but they estimate and settle costs differently.For the calculations behind a product’s estimate, see Pipeline pricing or Training cost.
Starting paid work can reserve or charge your team’s balance. Review the product’s estimate before you start. A pipeline’s Maximum forecast and a Training Run’s maximum charge are not the same billing rule.
The sidebar shows the selected team’s balance in US dollars. All projects in that team draw from the same balance. Switching projects does not create a separate pool of funds.
A Data Labeling pipeline run can pause automatically when it cannot reserve the next node’s cost. After the balance covers the remainder, resume it from the run.
A Training Run can enter a funds block before training starts when the balance cannot cover its maximum charge. Top up, then resume or cancel it.
A Training Run can also be blocked after training if the final charge cannot be collected. Its product-specific payment window and controls are documented under Training cost.
Manage your team and balance explains how to add funds. The platform links to the Business Console for payments; it does not contain a payment form.
A Data Labeling pipeline shows a Cost breakdown (forecast) before deployment. Its Expected total is the likely cost and its Maximum total is the forecast ceiling if every item triggers every billable event.Pipeline billing is pay-as-you-go for work actually processed. A pipeline can deploy with a balance of at least $0.01; covering its entire Maximum is advice rather than a deployment requirement. When the balance is below the maximum, the deploy window can show Min, Expected, and Max funding levels.Deploying freezes the pipeline run’s per-item prices in its contract. The run then reserves and settles funds as items move through billable nodes. If an item cannot reserve its next node’s cost while deployment is still creating items, the run records the funding pause; the top-up banner and run controls remain hidden during deployment or if deployment fails. After a successful deployment finishes, top up and use Resume when the run says the balance covers the remainder.Canceling a pipeline run still charges for work performed before each item ends on its node. The unused reserved amount returns to your balance. If an item fails on a node, its reserved amount returns in full, but recorded Human QA and one-time per-expert charges still apply. See What a canceled or failed item costs for the rules by cost line.See Pipeline pricing for every cost line, the Expected and Maximum calculations, and the contract freeze. See Resume or cancel a pipeline run for the run controls.
A Training cost estimate reports one maximum charge. Starting the Training Run places a hold for that amount on the team balance. The maximum charge is based on the estimate’s maximum GPU seconds, is rounded up to the cent, and has a minimum of $1 per GPU. The ready estimate shows the authoritative amount.A completed Training Run, or one canceled after training starts, is charged for GPU seconds used, subject to the $1-per-GPU minimum for a nonzero charge and the approved maximum. The unused part of the hold returns to the team balance. No charge applies when training never starts or when a platform failure prevents a successful output; the product page lists the complete no-charge cases.See Training cost for the inputs to the maximum charge, cancellation behavior, payment blocks, and no-charge cases.
Top up opens the Business Console billing page in a new tab.
Billing history opens the same external billing area and remains available to read-only team members.
Apply promocode adds credit to the selected team’s balance when the code is valid.
The platform reads the resulting balance. Payments, invoices, payment methods, and billing history remain in the Business Console. See Teams, access, and balance for the exact controls and team-access rules.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Toloka Platform","description":"Label your data, train a model, and build a repeatable workflow on Toloka Platform.","colors":{"primary":"#18181B","light":"#F4F4F5","dark":"#6E56CF"},"logo":{"light":"https://mintcdn.com/toloka-platform/fjh9GDGXaqVVguLv/logo/light.svg?fit=max\u0026auto=format\u0026n=fjh9GDGXaqVVguLv\u0026q=85\u0026s=9416e21160a0887c5e444512177d135c","dark":"https://mintcdn.com/toloka-platform/fjh9GDGXaqVVguLv/logo/dark.svg?fit=max\u0026auto=format\u0026n=fjh9GDGXaqVVguLv\u0026q=85\u0026s=649d79e1ccbcf9daf8320b1c0fd85de2"},"favicon":"https://mintcdn.com/toloka-platform/vXmp7okJgVEfMccw/favicon.svg?fit=max\u0026auto=format\u0026n=vXmp7okJgVEfMccw\u0026q=85\u0026s=821d83f2a395922abca12417944389eb","api":{"playground":{"display":"interactive","proxy":false},"examples":{"defaults":"required","languages":["typescript","bash","python"],"autogenerate":true}},"navbar":{"links":[{"href":"https://toloka.ai/talk-to-us","label":"Talk to us"}],"primary":{"type":"button","label":"Open platform","href":"https://platform.toloka.ai/"}},"footer":{"socials":{"website":"https://toloka.ai"},"links":[{"header":"Platform","items":[{"label":"Open platform","href":"https://platform.toloka.ai/"},{"label":"API reference","href":"/api-reference"}]},{"header":"Company","items":[{"label":"About Toloka","href":"https://toloka.ai/about"},{"label":"Blog","href":"https://toloka.ai/blog"},{"label":"Careers","href":"https://toloka.ai/careers"}]},{"header":"Legal","items":[{"label":"Terms","href":"https://toloka.ai/legal/terms"},{"label":"Privacy notice","href":"https://toloka.ai/legal/privacy-notice"},{"label":"Security","href":"https://toloka.ai/security"}]}]},"fonts":{"family":"Inter"},"icons":{"library":"lucide"},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"toloka-platform","hasAudioNarration":false,"actualSubdomain":"toloka-platform","customDomains":[],"gitSource":{"type":"github","owner":"toloka-dev","repo":"potato","deployBranch":"main","contentDirectory":"docs/mintlify","isPrivate":true,"mountPath":"","label":"","_id":"6aeaf5259649d32714ca2223"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af1c9e5f9312b54bbd32862","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"Reference","count":329},{"language":"default","tag":"TypeScript SDK","count":118},{"language":"default","tag":"CLI","count":112},{"language":"default","tag":"HTTP API","count":104},{"language":"default","tag":"Guides","count":40},{"language":"default","tag":"Datasets","count":34},{"language":"default","tag":"Trainings","count":30},{"language":"default","tag":"Data Labeling","count":25},{"language":"default","tag":"Pipelines","count":20},{"language":"default","tag":"Projects","count":18}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","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":"llms-txt-v2","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":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":":root{--tlk-ink: #18181b;--tlk-on-ink: #ffffff;--tlk-muted: #52525b;--tlk-line: rgb(24 24 27 / 0.08);--tlk-line-strong: rgb(24 24 27 / 0.16);--tlk-selected: rgb(24 24 27 / 0.04);--tlk-surface: #f5f5f6;--tlk-gradient-hover: linear-gradient(120deg, #f1edfc 0%, #f4f3f7 55%, #eef7ea 100%);--tlk-gradient-icon: linear-gradient(135deg, #d6c9f7 0%, #e0dcf3 50%, #d1ebc4 100%);--tlk-underline: linear-gradient(90deg, #a996ec, #8fca7c);--tlk-hero:\n radial-gradient(60% 90% at 50% 65%, #dbd1f5 0%, rgb(219 209 245 / 0) 70%),\n radial-gradient(45% 80% at 0% 0%, #e1f1d9 0%, rgb(225 241 217 / 0) 70%),\n radial-gradient(45% 80% at 100% 0%, #e1f1d9 0%, rgb(225 241 217 / 0) 70%),\n linear-gradient(180deg, #e9ebee 0%, #f3effb 100%)}.dark{--tlk-ink: #f4f4f5;--tlk-on-ink: #18181b;--tlk-muted: #a1a1aa;--tlk-line: rgb(255 255 255 / 0.08);--tlk-line-strong: rgb(255 255 255 / 0.16);--tlk-selected: rgb(255 255 255 / 0.06);--tlk-surface: #141418;--tlk-gradient-hover: linear-gradient(120deg, #1e1a2b 0%, #18181c 55%, #18211b 100%);--tlk-gradient-icon: linear-gradient(135deg, #3a3060 0%, #2a2836 50%, #26392b 100%);--tlk-hero:\n radial-gradient(60% 90% at 50% 65%, #2b2447 0%, rgb(43 36 71 / 0) 70%),\n radial-gradient(45% 80% at 0% 0%, #1c2a20 0%, rgb(28 42 32 / 0) 70%),\n radial-gradient(45% 80% at 100% 0%, #1c2a20 0%, rgb(28 42 32 / 0) 70%),\n linear-gradient(180deg, #121216 0%, #17141f 100%)}img.nav-logo{height:1.25rem!important;width:auto!important}#topbar-cta-button a span.absolute{background-color:var(--tlk-ink);border-radius:9999px}#topbar-cta-button a{border-radius:9999px}#topbar-cta-button a .text-white,#topbar-cta-button a svg{color:var(--tlk-on-ink)}.navbar-link a{border-radius:9999px}li[data-active-nav-item]>a[aria-current=\"page\"]{background-color:var(--tlk-selected);background-image:linear-gradient(180deg, #b6a3f0, #96cc84);background-position:0.375rem center;background-repeat:no-repeat;background-size:2px 1rem;color:var(--tlk-ink);font-weight:500}.eyebrow{color:var(--tlk-muted)!important}#content-area h1,#content-area h2,#content-area h3{font-weight:500;letter-spacing:-0.015em}#page-title{font-size:2.25rem;line-height:1.15}#content :where(a.link):not(:where(.not-prose,.not-prose *)){border-bottom:0;background-image:var(--tlk-underline);background-position:0 100%;background-repeat:no-repeat;background-size:100% 2px}#content :where(a.link:hover):not(:where(.not-prose,.not-prose *)){background-image:linear-gradient(var(--tlk-ink), var(--tlk-ink))}#content :where(a.link):has(>code:only-child):not(:where(.not-prose,.not-prose *)){background-image:none}#content :where(a.link):has(>code:only-child):not(:where(.not-prose,.not-prose *))>code{transition:background-color 150ms,\n box-shadow 150ms}#content :where(a.link:hover):has(>code:only-child):not(:where(.not-prose,.not-prose *))>code{background-color:var(--tlk-selected);box-shadow:inset 0 0 0 1px var(--tlk-line-strong)}#content img:not([data-component-part]){border:1px solid var(--tlk-line);border-radius:0.75rem}#content .card{background-color:var(--tlk-surface);border-color:transparent;transition:background-color 150ms ease, border-color 150ms ease}#content .card[role=\"link\"]:hover,#content a.card[href]:hover{background-image:var(--tlk-gradient-hover);border-color:var(--tlk-line-strong)!important}#content .card [data-component-part=\"card-icon\"]{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:0.625rem;background-image:var(--tlk-gradient-icon)}#content .card [data-component-part=\"card-icon\"] svg{width:1.125rem;height:1.125rem;background-color:var(--tlk-ink)!important}#content .card [data-component-part=\"card-title\"]{color:var(--tlk-ink);font-weight:500}.tlk-home{max-width:64rem;margin:0 auto;padding:2rem 0 4rem}.tlk-hero{padding:3.5rem 3rem;border-radius:1.5rem;background:var(--tlk-hero)}.tlk-hero-eyebrow{margin:0 0 1.25rem;color:var(--tlk-muted);font-size:0.8125rem;font-weight:500;letter-spacing:0.01em}.tlk-hero-title{margin:0;color:var(--tlk-ink);font-size:clamp(2.5rem, 4.6vw, 3.75rem);font-weight:500;line-height:1.04;letter-spacing:-0.035em}.tlk-hero-lead{max-width:36rem;margin:1.25rem 0 2rem;color:var(--tlk-muted);font-size:1.125rem;line-height:1.6}.tlk-hero-actions{display:flex;flex-wrap:wrap;gap:0.75rem}.tlk-home a.tlk-button{display:inline-flex;align-items:center;gap:0.375rem;height:2.5rem;padding:0 1.25rem;border:1px solid transparent;border-radius:9999px;font-size:0.9375rem;font-weight:500;text-decoration:none;transition:opacity 150ms ease, background-color 150ms ease}.tlk-home a.tlk-button-primary{background-color:var(--tlk-ink);color:var(--tlk-on-ink)}.tlk-home a.tlk-button-primary:hover{opacity:0.85}.tlk-home a.tlk-button-secondary{border-color:var(--tlk-line-strong);background-color:rgb(255 255 255 / 0.55);color:var(--tlk-ink)}.dark .tlk-home a.tlk-button-secondary{background-color:rgb(255 255 255 / 0.04)}.tlk-home a.tlk-button-secondary:hover{background-color:rgb(255 255 255 / 0.85)}.dark .tlk-home a.tlk-button-secondary:hover{background-color:rgb(255 255 255 / 0.1)}.tlk-home a.tlk-button:focus-visible,#content .tlk-reference a:focus-visible{outline:2px solid var(--tlk-ink);outline-offset:3px}.tlk-home .tlk-section-title{margin:3.5rem 0 1rem;color:var(--tlk-ink);font-size:1.5rem;font-weight:500;letter-spacing:-0.02em}.tlk-reference{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:2rem}.tlk-reference-title{margin:0 0 0.25rem;color:var(--tlk-muted);font-size:0.8125rem;font-weight:500}#content .tlk-reference a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.75rem 0;border-bottom:1px solid var(--tlk-line);color:var(--tlk-ink);font-size:0.9375rem;text-decoration:none}#content .tlk-reference a::after{content:\"→\";color:var(--tlk-muted);transition:transform 150ms ease}#content .tlk-reference a[href^=\"http\"]::after{content:\"↗\"}#content .tlk-reference a:hover::after{transform:translateX(3px);color:var(--tlk-ink)}@media (min-width: 1024px){#content-container{padding-left:2.25rem;padding-right:2.25rem}}@media (max-width: 1023px){.tlk-home{padding-inline:1.25rem}}@media (max-width: 767px){.tlk-home{padding-top:1rem;padding-inline:1rem}.tlk-hero{padding:2rem 1.25rem;border-radius:1.25rem}.tlk-hero-title{font-size:2.125rem}.tlk-hero-lead{font-size:1rem}.tlk-home a.tlk-button{padding:0 1rem}.tlk-reference{grid-template-columns:minmax(0, 1fr);gap:1.5rem}}@media (prefers-reduced-motion: reduce){.tlk-home a.tlk-button,#content .tlk-reference a::after,#content .card{transition:none}}div:has(>.method-pill)>[data-component-part=\"scroll-area\"] [data-component-part=\"scroll-area-content\"]{min-width:0!important}div:has(>.method-pill)>[data-component-part=\"scroll-area\"] [data-component-part=\"scroll-area-content\"]>div{flex-wrap:wrap;row-gap:0.125rem}"}],"page":{"pagePath":"core/billing","slug":"/core/billing","pageMetadata":{"title":"Billing","description":"How Data Labeling pipeline runs and Training Runs share your team's balance, reserve funds, charge for work, and respond to insufficient funds.","type":"explanation","status":"verified","summary":"How Data Labeling pipeline runs and Training Runs share your team's balance, reserve funds, charge for work, and respond to insufficient funds.","sources":[{"code":"app/src/backend/queuert/processors/run-pipeline-item.ts"},{"code":"app/src/backend/queuert/processors/run-pipeline-item-node/billing.ts#settleNodeHold"},{"code":"app/src/backend/pipelines/billing/billing-rules.ts#SETTLE_RULES"},{"code":"app/src/backend/entities/implementations/pipeline-run-pricing.ts#freezeContracts"},{"code":"app/src/shared/constants/pipelines.ts#MINIMUM_DEPLOY_BALANCE"},{"code":"app/src/backend/entities/implementations/training-cost-estimate/calculator.ts#calculateTrainingBudget"},{"code":"app/src/backend/services/training-execution/service.ts#settleFunds"},{"code":"app/src/frontend/pages/v2/common-layout/components/balance-menu-item.tsx"},{"code":"app/src/backend/clients/billing/client.ts#getBalance"}],"statusReasons":["Main sync 2026-11-03: Carried the cancellation and failure settlement rules from pricing-and-billing into the shared billing summary; detailed cost lines remain on Pipeline pricing.","Split from the verified pipeline pricing, Training, and team balance pages during the product-first Mintlify migration; no product-specific charge rule was generalized across products.","Migration review 2026-10-06: shared billing claims checked against product-specific rules. The requester approved branch-preview publication of the full Platform migration before narrative owner sign-off; no owner sign-off is recorded."],"suggestedReviewers":[],"href":"/core/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 Data Labeling pipeline runs and Training Runs share your team’s balance, reserve funds, charge for work, and respond to insufficient funds.\"\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`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Each team has one balance shared by every project in that team. Data Labeling pipeline runs and Training Runs both use it, but they estimate and settle costs differently.`}),`\n`,_jsxs(_components.p,{children:[`For the calculations behind a product’s estimate, see `,_jsx(_components.a,{href:`/data/concepts/pricing`,children:`Pipeline pricing`}),` or `,_jsx(_components.a,{href:`/train/concepts/cost`,children:`Training cost`}),`.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Starting paid work can reserve or charge your team’s balance. Review the product’s estimate before you start. A pipeline’s `,_jsx(_components.strong,{children:`Maximum`}),` forecast and a Training Run’s maximum charge are not the same billing rule.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`balance-and-pauses`,children:`Balance and pauses`}),`\n`,_jsx(_components.p,{children:`The sidebar shows the selected team’s balance in US dollars. All projects in that team draw from the same balance. Switching projects does not create a separate pool of funds.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`A Data Labeling pipeline run can pause automatically when it cannot reserve the next node’s cost. After the balance covers the remainder, resume it from the run.`}),`\n`,_jsx(_components.li,{children:`A Training Run can enter a funds block before training starts when the balance cannot cover its maximum charge. Top up, then resume or cancel it.`}),`\n`,_jsxs(_components.li,{children:[`A Training Run can also be blocked after training if the final charge cannot be collected. Its product-specific payment window and controls are documented under `,_jsx(_components.a,{href:`/train/concepts/cost`,children:`Training cost`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/core/teams-and-balance#top-up`,children:`Manage your team and balance`}),` explains how to add funds. The platform links to the Business Console for payments; it does not contain a payment form.`]}),`\n`,_jsx(Heading,{level:`2`,id:`pipeline-runs`,children:`Pipeline runs`}),`\n`,_jsxs(_components.p,{children:[`A Data Labeling pipeline shows a `,_jsx(_components.strong,{children:`Cost breakdown (forecast)`}),` before deployment. Its `,_jsx(_components.strong,{children:`Expected`}),` total is the likely cost and its `,_jsx(_components.strong,{children:`Maximum`}),` total is the forecast ceiling if every item triggers every billable event.`]}),`\n`,_jsxs(_components.p,{children:[`Pipeline billing is pay-as-you-go for work actually processed. A pipeline can deploy with a balance of at least `,_jsx(_components.code,{children:`$0.01`}),`; covering its entire `,_jsx(_components.strong,{children:`Maximum`}),` is advice rather than a deployment requirement. When the balance is below the maximum, the deploy window can show `,_jsx(_components.strong,{children:`Min`}),`, `,_jsx(_components.strong,{children:`Expected`}),`, and `,_jsx(_components.strong,{children:`Max`}),` funding levels.`]}),`\n`,_jsxs(_components.p,{children:[`Deploying freezes the pipeline run’s per-item prices in its contract. The run then reserves and settles funds as items move through billable nodes. If an item cannot reserve its next node’s cost while deployment is still creating items, the run records the funding pause; the top-up banner and run controls remain hidden during deployment or if deployment fails. After a successful deployment finishes, top up and use `,_jsx(_components.strong,{children:`Resume`}),` when the run says the balance covers the remainder.`]}),`\n`,_jsxs(_components.p,{children:[`Canceling a pipeline run still charges for work performed before each item ends on its node. The unused reserved amount returns to your balance. If an item fails on a node, its reserved amount returns in full, but recorded Human QA and one-time per-expert charges still apply. See `,_jsx(_components.a,{href:`/data/concepts/pricing#what-a-canceled-or-failed-item-costs`,children:`What a canceled or failed item costs`}),` for the rules by cost line.`]}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/data/concepts/pricing`,children:`Pipeline pricing`}),` for every cost line, the Expected and Maximum calculations, and the contract freeze. See `,_jsx(_components.a,{href:`/data/guides/pause-resume-cancel#when-a-run-pauses-itself-for-funds`,children:`Resume or cancel a pipeline run`}),` for the run controls.`]}),`\n`,_jsx(Heading,{level:`2`,id:`training-runs`,children:`Training Runs`}),`\n`,_jsx(_components.p,{children:`A Training cost estimate reports one maximum charge. Starting the Training Run places a hold for that amount on the team balance. The maximum charge is based on the estimate’s maximum GPU seconds, is rounded up to the cent, and has a minimum of $1 per GPU. The ready estimate shows the authoritative amount.`}),`\n`,_jsx(_components.p,{children:`A completed Training Run, or one canceled after training starts, is charged for GPU seconds used, subject to the $1-per-GPU minimum for a nonzero charge and the approved maximum. The unused part of the hold returns to the team balance. No charge applies when training never starts or when a platform failure prevents a successful output; the product page lists the complete no-charge cases.`}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/train/concepts/cost`,children:`Training cost`}),` for the inputs to the maximum charge, cancellation behavior, payment blocks, and no-charge cases.`]}),`\n`,_jsx(Heading,{level:`2`,id:`top-up-and-billing-history`,children:`Top up and billing history`}),`\n`,_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`Balance`}),` in the sidebar:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Top up`}),` opens the Business Console billing page in a new tab.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Billing history`}),` opens the same external billing area and remains available to read-only team members.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Apply promocode`}),` adds credit to the selected team’s balance when the code is valid.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`The platform reads the resulting balance. Payments, invoices, payment methods, and billing history remain in the Business Console. See `,_jsx(_components.a,{href:`/core/teams-and-balance`,children:`Teams, access, and balance`}),` for the exact controls and team-access rules.`]}),`\n`,_jsx(Heading,{level:`2`,id:`related`,children:`Related`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/data/concepts/pricing`,children:`Pipeline pricing`}),` — forecast and contract mechanics for Data Labeling`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/train/concepts/cost`,children:`Training cost`}),` — estimates, holds, and settlement for Training`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/core/teams-and-balance`,children:`Teams, access, and balance`}),` — switch teams, add credit, and open billing history`]}),`\n`]})]})}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":"Billing","description":"How Data Labeling pipeline runs and Training Runs share your team's balance, reserve funds, charge for work, and respond to insufficient funds.","type":"explanation","status":"verified","summary":"How Data Labeling pipeline runs and Training Runs share your team's balance, reserve funds, charge for work, and respond to insufficient funds.","sources":[{"code":"app/src/backend/queuert/processors/run-pipeline-item.ts"},{"code":"app/src/backend/queuert/processors/run-pipeline-item-node/billing.ts#settleNodeHold"},{"code":"app/src/backend/pipelines/billing/billing-rules.ts#SETTLE_RULES"},{"code":"app/src/backend/entities/implementations/pipeline-run-pricing.ts#freezeContracts"},{"code":"app/src/shared/constants/pipelines.ts#MINIMUM_DEPLOY_BALANCE"},{"code":"app/src/backend/entities/implementations/training-cost-estimate/calculator.ts#calculateTrainingBudget"},{"code":"app/src/backend/services/training-execution/service.ts#settleFunds"},{"code":"app/src/frontend/pages/v2/common-layout/components/balance-menu-item.tsx"},{"code":"app/src/backend/clients/billing/client.ts#getBalance"}],"statusReasons":["Main sync 2026-11-03: Carried the cancellation and failure settlement rules from pricing-and-billing into the shared billing summary; detailed cost lines remain on Pipeline pricing.","Split from the verified pipeline pricing, Training, and team balance pages during the product-first Mintlify migration; no product-specific charge rule was generalized across products.","Migration review 2026-10-06: shared billing claims checked against product-specific rules. The requester approved branch-preview publication of the full Platform migration before narrative owner sign-off; no owner sign-off is recorded."],"suggestedReviewers":[],"href":"/core/billing"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Balance and pauses","slug":"balance-and-pauses","depth":2,"children":[]},{"title":"Pipeline runs","slug":"pipeline-runs","depth":2,"children":[]},{"title":"Training Runs","slug":"training-runs","depth":2,"children":[]},{"title":"Top up and billing history","slug":"top-up-and-billing-history","depth":2,"children":[]},{"title":"Related","slug":"related","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/toloka-platform/de8aa1b19d1c608c/platform-links.js"],"subdomain":"toloka-platform","siteName":"Toloka Platform","title":"Billing - Toloka Platform","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-03T15:27:17.574Z","originalFileLocation":"core/billing.mdx"},"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 Data Labeling pipeline runs and Training Runs share your team\u0026#x27;s balance, reserve funds, charge for work, and respond to insufficient funds.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Toloka Platform\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/toloka-platform/DF8VYWTGOtIk-J7s/_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=\"/docs/mintlify-assets/_mintlify/favicons/toloka-platform/DF8VYWTGOtIk-J7s/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/toloka-platform/DF8VYWTGOtIk-J7s/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/toloka-platform/DF8VYWTGOtIk-J7s/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/toloka-platform/DF8VYWTGOtIk-J7s/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/toloka-platform/DF8VYWTGOtIk-J7s/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/toloka-platform/DF8VYWTGOtIk-J7s/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/toloka-platform/DF8VYWTGOtIk-J7s/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/toloka-platform/DF8VYWTGOtIk-J7s/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Billing - Toloka Platform\">\u003cmeta data-mint-head property=\"og:description\" content=\"How Data Labeling pipeline runs and Training Runs share your team\u0026#x27;s balance, reserve funds, charge for work, and respond to insufficient funds.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Toloka Platform\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://toloka-platform.mintlify.dev/docs/core/billing\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://toloka-platform.mintlify.site/docs/_mintlify/api/og/v2?division=Admin\u0026amp;title=Billing\u0026amp;description=How+Data+Labeling+pipeline+runs+and+Training+Runs+share+your+team%27s+balance%2C+reserve+funds%2C+charge+for+work%2C+and+respond+to+insufficient+funds.\u0026amp;theme=4f0acd7e5281f22bad8ad665\u0026amp;signature=8a657be624868b5943a844e11dbe9e77c640bd3895b5056c96c12dce646a1511\">\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=\"Billing - Toloka Platform\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"How Data Labeling pipeline runs and Training Runs share your team\u0026#x27;s balance, reserve funds, charge for work, and respond to insufficient funds.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://toloka-platform.mintlify.site/docs/_mintlify/api/og/v2?division=Admin\u0026amp;title=Billing\u0026amp;description=How+Data+Labeling+pipeline+runs+and+Training+Runs+share+your+team%27s+balance%2C+reserve+funds%2C+charge+for+work%2C+and+respond+to+insufficient+funds.\u0026amp;theme=4f0acd7e5281f22bad8ad665\u0026amp;signature=8a657be624868b5943a844e11dbe9e77c640bd3895b5056c96c12dce646a1511\">\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=\"/docs/mintlify-assets/_mintlify/favicons/toloka-platform/DF8VYWTGOtIk-J7s/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Toloka Platform\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#18181B\">\u003clink data-mint-head rel=\"canonical\" href=\"https://toloka-platform.mintlify.dev/docs/core/billing\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/core/billing.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://toloka-platform.mintlify.dev/#organization\",\"name\":\"Toloka Platform\",\"url\":\"https://toloka-platform.mintlify.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/toloka-platform/fjh9GDGXaqVVguLv/logo/light.svg?fit=max\u0026auto=format\u0026n=fjh9GDGXaqVVguLv\u0026q=85\u0026s=9416e21160a0887c5e444512177d135c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://toloka-platform.mintlify.dev/docs#website\",\"name\":\"Toloka Platform\",\"url\":\"https://toloka-platform.mintlify.dev/docs\",\"publisher\":{\"@id\":\"https://toloka-platform.mintlify.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://toloka-platform.mintlify.dev/docs/core/billing#webpage\",\"url\":\"https://toloka-platform.mintlify.dev/docs/core/billing\",\"name\":\"Billing\",\"description\":\"How Data Labeling pipeline runs and Training Runs share your team's balance, reserve funds, charge for work, and respond to insufficient funds.\",\"dateModified\":\"2026-11-03T15:27:17.574Z\",\"isPartOf\":{\"@id\":\"https://toloka-platform.mintlify.dev/docs#website\"},\"breadcrumb\":{\"@id\":\"https://toloka-platform.mintlify.dev/docs/core/billing#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://toloka-platform.mintlify.dev/docs/core/billing#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Admin\",\"item\":\"https://toloka-platform.mintlify.dev/docs/core/teams-and-balance\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Billing\",\"item\":\"https://toloka-platform.mintlify.dev/docs/core/billing\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://toloka-platform.mintlify.dev/docs/core/billing#article\",\"headline\":\"Billing\",\"name\":\"Billing\",\"description\":\"How Data Labeling pipeline runs and Training Runs share your team's balance, reserve funds, charge for work, and respond to insufficient funds.\",\"url\":\"https://toloka-platform.mintlify.dev/docs/core/billing\",\"mainEntityOfPage\":{\"@id\":\"https://toloka-platform.mintlify.dev/docs/core/billing#webpage\"},\"dateModified\":\"2026-11-03T15:27:17.574Z\",\"publisher\":{\"@id\":\"https://toloka-platform.mintlify.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://toloka-platform.mintlify.dev/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Toloka Platform\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Toloka Platform","nav":{"global":null,"tabs":[{"tab":"Guides","icon":"book-open","groups":[{"group":"Start","icon":"flag","pages":[{"title":"Get started with Toloka Platform","sidebarTitle":"Introduction","mode":"frame","href":""},{"title":"How the platform works","href":"/start/how-it-works"},{"title":"Glossary","href":"/start/glossary"}]},{"group":"Data Labeling","icon":"tags","pages":[{"title":"Get your first labeled dataset","href":"/data/get-started/first-labeled-dataset"},{"title":"How data labeling works","href":"/data/concepts/overview"},{"title":"Projects","href":"/core/projects"},{"title":"Create and manage datasets","sidebarTitle":"Datasets","href":"/core/datasets"},{"group":"Concepts","pages":[{"title":"Pipelines","href":"/data/concepts/pipelines"},{"title":"Fields and data","href":"/data/concepts/fields-and-data"},{"title":"Quality control","href":"/data/concepts/quality-control"},{"title":"Self-check","href":"/data/concepts/self-check"},{"title":"Pipeline pricing","href":"/data/concepts/pricing"}]},{"group":"How-to guides","pages":[{"title":"Review the labeling interface","href":"/data/guides/review-labeling-interface"},{"title":"Label a large dataset in batches","href":"/data/guides/label-at-volume"},{"title":"Label with an LLM instead of experts","href":"/data/guides/synthetic-labeling"},{"title":"Export your labeled results","href":"/data/guides/export-results"},{"title":"Resume or cancel a pipeline run","href":"/data/guides/pause-resume-cancel"}]},{"group":"Recipes","pages":[{"title":"Start a project from a template","href":"/data/recipes/preset-project"},{"title":"Have the agent build your project","href":"/data/recipes/agentic-project"}]},{"group":"Pipeline nodes","pages":[{"title":"Pipeline nodes","href":"/data/reference/nodes/index"},{"title":"Start and End nodes","href":"/data/reference/nodes/start-and-end"},{"title":"Generation node","href":"/data/reference/nodes/generation"},{"title":"Quorum node","href":"/data/reference/nodes/quorum"},{"title":"Code node","href":"/data/reference/nodes/code"},{"title":"Match node","href":"/data/reference/nodes/match"}]},{"title":"Export format","href":"/data/reference/export-format"}]},{"group":"Train","icon":"brain","pages":[{"title":"Choose a training method","href":"/train/get-started/choose-method"},{"title":"Train your first model","href":"/train/get-started/first-trained-model"},{"group":"Concepts","pages":[{"title":"How Training works","href":"/train/concepts/how-training-works"},{"title":"Training cost","href":"/train/concepts/cost"}]},{"group":"How-to guides","pages":[{"title":"Prepare training data from labels","href":"/train/guides/prepare-training-data"},{"title":"Fine-tune a model","href":"/train/guides/fine-tune"},{"title":"Compress a prompt with gisting","href":"/train/guides/gist"}]},{"group":"Models and settings","pages":[{"title":"Base models","href":"/train/reference/base-models"},{"title":"Training settings","href":"/train/reference/settings"},{"title":"Training limits","href":"/train/reference/limits"}]}]},{"group":"Workflows","icon":"workflow","pages":[{"title":"Label, train, and evaluate","href":"/workflows/label-train-evaluate"}]},{"group":"Admin","icon":"shield","pages":[{"title":"Teams, access, and balance","description":"Manage team access in the Business Console, switch teams, add funds or promocodes, and view billing history.","href":"/core/teams-and-balance"},{"title":"Billing","href":"/core/billing"},{"title":"Security and privacy","description":"Find Toloka's security policies, privacy terms, and the right contact for a data-handling question.","href":"/core/security"}]}]},{"tab":"SDKs","icon":"boxes","pages":[{"title":"SDKs","href":"/sdk"}]},{"tab":"Reference","icon":"code","pages":[{"title":"Reference","href":"/reference"}]},{"tab":"Troubleshooting","icon":"wrench","pages":[{"title":"Troubleshooting","href":"/data/guides/troubleshoot"}]}]},"basePath":"","title":"Billing - Toloka Platform","buildId":"dpl_6dVqRXFR2Go5vF5RLvAdHuv189oT","deploymentId":"dpl_6dVqRXFR2Go5vF5RLvAdHuv189oT","dynamics":[],"chunks":[]}