moula · FAQ
Frequently asked questions
Straight answers about how moula pays you, what it measures, and the controls you always keep. These are our principles — the parts of an in-editor ad product that other tools have gotten wrong, written down so you can hold us to them.
What is moula?
moula is an ad marketplace for developer-tool status bars. Advertisers bid to show one short, text-only sponsored line in your editor's status bar; developers who run the moula VS Code extension earn a revenue share every time a sponsored line is served to them. That is the entire product — one line of text, and a click-through you choose whether to open.
How do earnings work?
You earn 70% of gross revenue on every validated impression andevery validated click — gross, not "net after deductions." Some in-editor ad tools have paid developers almost nothing by taking a share of an undefined "net" and rounding each tiny impression down to zero cents. Our principle is the opposite: we compute in whole micro-dollars (1 micro-dollar = one millionth of a US dollar) so nothing rounds away.
The exact math, worked through for a campaign bidding a $5.00 CPM (cost per 1,000 impressions):
- One impression bills the advertiser $5.00 ÷ 1,000 = 5,000 micro-dollars ($0.005).
- Your 70% share = 5,000 × 0.70 = 3,500 micro-dollars ($0.0035) per validated impression.
- A validated click is worth 20× an impression: it bills 100,000 micro-dollars ($0.10), and your 70% share = 70,000 micro-dollars ($0.07) per validated click.
Every impression and click is stored as its own row with the CPM at serve time, the gross amount, and your share — all as exact integers. You can open that per-impression ledger in your dashboard and export it to CSV, so your earnings are something you can reconcile line by line rather than a single number we ask you to trust.
During the MVP, budgets are simulated and earnings are display-only — no money moves yet. See the payout question below for how and when that changes.
What data does the extension send?
As little as possible. To fetch an ad the extension sends only your account API key (which identifies your account, nothing more) and a fresh random event id used to de-duplicate retries. When you choose to open a sponsored link, the click carries that event id so the click can be credited to you. That is the whole picture.
It never sends your source code, your prompts, your keystrokes, your file paths, your open files, your workspace or project names, or a list of your other extensions. moula has no way to read any of that, because it never asks the editor for it.
The full field-by-field schema — including the coarse, non-content signals reserved for future viewability checks — is published in our Privacy policy and in the telemetry schema (docs/telemetry.md). If we ever add a field, it lands in that document before it ships.
Does moula modify my editor or other extensions?
No.moula draws its status-bar line entirely through public, documented VS Code APIs. It does not patch any files on disk, it does not touch your editor's Content-Security-Policy, it does not modify or read your other extensions, and it does not auto-update itself in the background. An in-editor ad tool that patched its host's files to keep showing ads is exactly the failure mode we designed moula to make impossible — so we render only our own status bar item and nothing else.
The practical guarantee: uninstall moula and your editor is byte-for-byte identical to before you installed it. Nothing to clean up, nothing left patched.
How do I pause or stop?
Whenever you want, however you want. You can snooze moula for a while, switch on presentation mode before you screen-share or record, clear your API key, or uninstall the extension outright. Any of these is a supported, first-class control — pausing moula only pauses your earning; it is never a violation of our terms.
This is deliberate. We will never add anti-circumvention language that treats blocking, pausing, or removing ads as a breach. Your editor is yours.
What is the payout threshold, and how do I get paid?
We are targeting a low payout threshold — around $1, or no threshold at all via batched micro-payouts — rather than a $10 floor that strands small earners. We also check geo-eligibility at signup, before you earn a cent, so you can never accrue a balance in a country we cannot pay into. Where a single processor would exclude you, the plan is to offer at least one alternative rail (for example Wise or PayPal), and to let any sub-threshold balance convert to product credits or a charity donation instead of being stranded.
To be honest with you: real payouts, billing, and those alternative rails are roadmap for the MVP, not shipped yet. Today's earnings are display-only. We are telling you the plan up front rather than after you have accrued a balance you cannot withdraw.
What kind of ads will I see?
Text only. A sponsored line is at most 100 characters of plain text plus a single https:// click-through URL — no images, no scripts, no tracking pixels, no auto-playing anything. Ads are reviewed before they run. Category blocking (so you can opt out of whole categories of advertiser) is on the roadmap for the MVP and is documented as such rather than promised as if it already shipped.
Still have a question, or want to report a security issue? See our Security page and Terms.