Earnings model
How Atriux pays creators. Short version: you keep at least 90% of every credit your users spend on your tool, and the split only gets better as you grow. Atriux's cut covers hosting, identity, payments, and the AI plumbing.
The split
Atriux uses a tier-aware split. Every credit charge against a creator-owned tool records a creator_share_cents on the transaction row, computed from your lifetime earnings before this charge. The tier locks in BEFORE the charge applies, so a charge that pushes you over a threshold takes the old tier; the next one takes the new one. Deterministic, no same-charge drift.
| Lifetime earned | You keep | Atriux keeps |
|---|---|---|
| $0 – $999 | 90% | 10% |
| $1,000 – $9,999 | 92.5% | 7.5% |
| $10,000+ | 95% | 5% |
1 credit = $0.10 USD. So at the base tier, every credit a user spends on your tool sends you $0.09 and Atriux $0.01.
creators.locked_tier_bpscolumn. If Atriux ever tightens its tiers (raises a threshold, lowers a percentage), anyone already at a better rate keeps it. This is one of the platform's fixed promises and it's enforced at the schema level — not a gentlemen's agreement.When you cross a threshold, the level-up is automatic. bumpEarnings recomputes your tier after every charge and updates locked_tier_bps + last_tier_levelup_at if your earnings just qualified you for a better rate. Refresh /creatorand you'll see a celebratory banner for the next 30 days, plus your new percentage takes effect on the next charge to your tools.
Atriux's own tools (Job Lister, the build agent itself) record creator_share_cents = 0 since they have no creator_user_id. Only third-party creator tools produce earnings.
Three balances on your /creator page
The Creator dashboard surfaces three running totals:
| Balance | What it counts | How it changes |
|---|---|---|
| Lifetime | Total ever earned across all your tools | Monotonic (only goes up). Drives your tier and the $600 tax-form threshold. |
| Pending | Earnings queued for the next payout cycle | Goes up as users spend on your tools. Goes to zero when a payout dispatches. |
| Paid out | Total successfully paid out to date | Goes up when a payout settles (the "paid" webhook event from the payout provider). |
When earnings show up
Atomically: as soon as a user pays credits to use your tool, the transaction commits with creator_share_cents set to your tier's rate, and a hook updates your lifetime_earnings_cents and pending_balance_cents in the same database transaction. Refresh /creator and you see the new totals.
/creatorshows everything you've earned, including what hasn't been paid out yet.What counts as a chargeable action
- End-user chat with the tool (~1 credit per turn) — only after the user's free trial is exhausted.
- AI research blocks (~1–3 credits per click) — only after the user's free trial is exhausted.
- Future: explicit
chargeCredits(n, reason)calls inside generate-mode tools.
Not chargeable:opening the tool, scrolling, looking at data, the user's free trial. Read-only viewing is free.
Free trials and starter credits
Every tool gives every visitor a small number of free uses before charging — default 5 free uses per (visitor, tool). Creators can adjust within a 0-20 range via the dashboard (Phase 7). When a visitor exhausts their free trial and decides to add credits, you start earning at your current tier. Atriux funds free trials from its own treasury, not yours — your earnings are unaffected by free-trial usage.
Mechanically, the free-trial state lives in project_free_trials(user_id, project_id, uses). Every chargeable action on a creator-owned tool runs through meterUsage() in @atriux/payments, which atomically checks-and-increments the counter. Reaching the cap flips the user to the standard credit-charge path automatically; no separate paywall code lives in each block.
Publish deposit
Going public costs a small refundable deposit — currently 10 credits ($1.00) per tool, charged the first time you flip a project to public. The deposit is returned automatically once the tool earns its first $5 in user spending. Failed projects fund their own quality filtering; successful ones effectively pay nothing.
- Held: deposit charged, waiting for the tool to earn its refund threshold.
- Refunded: tool earned $5 in user spending. Deposit returned to your balance automatically — no action required.
- Forfeited: project deleted before earning the threshold. Deposit is not returned.
Toggling visibility back to unlisted and then to public again does NOT charge a second deposit. The first deposit row stays on the project for its lifetime, with the status reflecting where it ended up.
See the deposits list on /creatorfor the live status of each tool you've published.
Refunds + chargebacks
Currently rare. If a user requests a refund of their credit purchase within the 30-day window, those credits are removed from their balance. If they had already spent them on creator tools, those creator earnings are also reversed (debit to pending_balance_cents; never debits already-paid-out balances).
Tax thresholds (US)
Below $600 lifetime earnings: no tax form required. Atriux pays out freely.
At $600 lifetime: payouts pause. You'll see a banner on /creator directing you to submit a W-9. After submission, payouts resume; we generate a 1099-NEC at year-end. See Tax forms for the flow.
What happens at payout time
Weekly cron (Mondays at 9 a.m. UTC) sweeps all creators with pending_balance_cents > 0 and a payout_method set, dispatches via the chosen method, and on settlement moves the amount from pending to total_paid_cents. Detailed flow in Payout methods.
Next: Payout methods →