Monetization
DevEx net cash-out calculation: a line-by-line model
A net model should expose every assumption instead of offering one universal “take-home” percentage. Start with eligible Robux by rate category, then follow the actual payout path. Keep U.S. withholding, provider fees, FX, business costs, and local tax separate so each line can be replaced with a verified value. This supports both the [full DevEx guide](/en/resources/roblox-devex-cashout) and [short checklist](/en/resources/roblox-cashout-simple).
Focused deep dive
The calculation stack
Gross DevEx USD equals the sum of each eligible Robux category multiplied by its applicable rate. Payout after U.S. withholding equals gross USD minus the amount Roblox withholds under the tax status and source allocation. Cash received equals that payout minus transaction and bank fees, converted at the actual offered rate. Business profit then subtracts deductible operating costs under the local rules. Personal take-home may require company tax, salary or dividend rules, social contributions, and personal tax.
Do not collapse these layers into one tax rate. U.S. withholding is an advance tax and a foreign-tax credit may or may not be available locally. A provider fee is a cost. FX is the value lost or gained through conversion. A tax reserve is a budgeting choice until a qualified calculation determines the liability.
Worked example: mixed payout with explicit assumptions
Assume 800,000 standard Earned Robux at the currently documented $0.0038 rate and 200,000 older Robux at $0.0035. Gross DevEx is $3,040 + $700 = $3,740. Assume, purely for the model, that Roblox identifies 30% as U.S.-source and the valid applicable withholding rate is 10%: withholding is $112.20. The payout sent is $3,627.80.
Assume a $7 transaction fee, no intermediary fee, and an offered rate of €0.91 per USD. Cash received is ($3,627.80 − $7) × 0.91 = €3,294.93. Suppose documented business costs allocated to the earning period are €600. Pre-local-tax profit in the simplified model is €2,694.93. A 25% reserve would be €673.73, leaving €2,021.20 available after the reserve. The 10% and 25% are assumptions, not advice or a claim about a jurisdiction.
Replace assumptions with evidence
Keep an input sheet and a results sheet so changing one verified line does not rewrite the logic.
- Enter eligible Robux by the category shown in the request.
- Record Roblox’s gross USD and actual withholding.
- Enter provider, intermediary, and bank fees.
- Use the actual FX quote and final bank receipt.
- Add documented business costs and a separately justified local reserve.
- Reconcile the model to statements and year-end tax forms.
Double counting and false precision
Do not subtract the Roblox platform share again from an existing Earned Robux balance. Do not apply the highest special rate to all Robux, or apply a U.S. withholding rate to the whole payout when the official statement uses a source portion. Avoid rounding every line; round for display after the calculation.
A company’s bank balance is not automatically the owner’s personal money. Taxes, retained earnings, salary, dividends, and contributions can sit at different layers. A monthly payout is also not a reliable annual forecast. Model several volume and FX scenarios, but label each as hypothetical until the underlying facts are verified.
Decision record
Version the input sheet for each request and reconcile forecast with actual Roblox, provider, and bank statements. Keep forecast, actual, and variance columns. A changed assumption should alter one input, not silently rewrite the formula or prior payout history.
Primary sources
Put this into practice in MARPLA
Start with annual game revenue and reconcile community reports. Use actual fees and taxes from Roblox, Tipalti and bank records so the calculation reflects your own amounts.
- Set up additional connectionsConnect additional Roblox sources and check the scope of the available data.Step-by-step guide →
- Compare your game with benchmarksBenchmark scales show how your game performs alongside other projects.Step-by-step guide →
Discussion0
Loading comments…