Pricing & Earnings
How to price your workflow, control API costs, get paid, and withdraw earnings.
Written By Philippe
Last updated 3 days ago
Pricing Your Workflow
When you publish a workflow, you set three prices. They're locked permanently after deployment.
During publishing, the form shows a live revenue estimate per run.
Heavy computation has its own compute limit, from 5 seconds at the minimum price up to 5 minutes, set by your run price. Price for the compute your workflow needs.
Prices cannot be changed after deployment. To adjust, deploy a new workflow.
Payment mode neutrality: Your builder fee is the same regardless of which payment mode the buyer used (per-run payment, buyer-funded balance, or their prepaid balance). The platform handles routing transparently.
If you use your own API keys {#own-keys}
When you publish a workflow with your own API keys (instead of platform-provided keys or letting buyers bring theirs), each run is bounded by the buyer's per-execution API budget — the cap the buyer authorizes when they fund a run.
If a single API call costs more than that budget, the run stops and the workflow pauses for that buyer. The buyer pays nothing for the failed run. They can top up and reactivate.
Why this matters for you:
- Pick model defaults and prompt lengths that comfortably fit inside typical per-execution API budgets for your category. Outlier-prompt runs that blow past the budget cause buyer-visible pauses — bad for retention.
- You still keep your builder fee for runs that complete successfully; you don't pay anything for runs that abort on budget.
- If your costs are inherently spiky, set a higher minimum per-execution API budget when you publish, or use the platform-provided key option so the workflow balance covers the variance instead. This applies when buyers pay AI usage; with usage included in your price, your own key covers every run.
Worked example. Bob publishes a workflow with his own OpenRouter key and a $0.01 minimum per-execution API budget. A buyer runs it; the API call returns a $0.05 cost (longer-than-usual completion). The run stops; the buyer's workflow pauses with the message "Per-execution API budget exceeded"; Bob earns $0 from this run. To prevent this category of pause, Bob bumps the minimum per-execution API budget to $0.10 on his next publish.
What You Earn {#earnings}
You set your price — the full execution fee lands in your balance, and the only cut is a 10% fee when you cash out (net 90%).
In "Included in my price" mode you cover API usage yourself -- see Who Pays for AI Usage? below.
Earnings accumulate in your balance. Use them to buy workflows and passes, or to pay per run at the paywall — or withdraw to USDC. Topping up a prepaid balance or a workflow's run budget is paid in USDC, so funding either one from earnings means cashing out first.
Cached answers are not runs. A webhook answer marked for caching is served again on the You pay link without a run. That repeat is not charged to the Workflow balance, earns nothing, and does not appear in run counts or earnings. Calls through the Caller pays link are never cached, so every paid call is a run you earn from. See Repeat answers from cache.
Settlement
Payments batch every 5 minutes. No invoicing, no chasing payments.
- Buyer runs workflow -- money reserved when the run starts (for workflows where buyers pay AI usage, this includes run price plus the buyer's usage budget)
- Batch settles (~5 min)
- Lands in your balance
When AI usage is included in the workflow's price: the buyer's balance reserves only the run price (plus the $0.001 payment-processing fee on pay-per-run calls). Your key safety limit is your private brake on your own keys — buyers never see it, and it never changes what they hold or pay.
Who Pays for AI Usage? {#multiplier}
On the pricing step you choose one of three modes for cost-bearing API usage:
The preselected mode follows your key-ownership answer from the Connect step: your own keys start on Included in my price, platform keys always bill at cost, and when buyers bring their own keys there is nothing to choose — they pay their provider directly.
If buyers bring their own keys, the mode doesn't apply -- they pay their API provider directly.
These modes only affect cost-bearing APIs (OpenAI, Twilio, DeepL). Free messaging APIs (Telegram, Slack) have no per-call cost.
Withdrawing Earnings {#withdraw}
Withdraw to USDC (10% exit fee, $10 minimum). Network fees are on us.
Steps: Click balance in top nav > Withdraw tab > Enter amount > Swap > Confirm transaction.
Why 10% on Exit?
Spend earnings inside the platform and you keep virtually everything — with one exception, below.
Fee-free reinvestment covers workflow purchases, passes, and paying per run at the paywall. Prepaid balances and workflow run budgets are the exception — they're topped up in USDC, so funding those from earnings goes through the 10% conversion.
Calling Other Workflows From Your Workflow {#chained-calls}
Your workflow can call other workflows on indie.money as part of its execution. When it does, you pay the actual consumption of those downstream workflows — not their advertised maximum price.
For example: your workflow signs up to spend at most $0.04 on a downstream workflow. That downstream workflow finishes and only charges $0.02. Your buyers are billed $0.02, not $0.04. The unused $0.02 is refunded automatically, to the wallet that paid for your workflow's run. When a Workflow balance paid for the run, the refund goes to the wallet that holds the workflow, not back into the balance.
External paid services that aren't hosted on indie.money may charge the full authorized amount — only indie.money workflows participate in actual-cost billing with automatic refund of the unused portion.
Only the actual execution and API costs are charged.
Related
Was this helpful?
More in for-builders
Understanding the Builder DashboardHow to Showcase Your WorkflowUpload & Validate Your WorkflowWhat nodes are supported?Still need help? Ask the team