Your friend downloads it before you're done uploading

The white-label file host that doubles your AdSense earnings*

Encrypted · Up to 1 TB · Instant links · No-expiry paid links · Your domain, your ad units · Free tier · White label from just $5/month

HTTPTUSSFTPWEBHOOKSEMAILPRE-SIGNEDCLI
For agents·curl -F file=@yourfile https://files.yourdomain.com/api/upload
E2E encrypted

Drop your file here

or click to browse. Up to 50.0 MB.

You'll get a shareable link instantly

1 sec
To a shareable link
1 TB
Largest single transfer
100%
Ad revenue stays yours
100 / 100
Cloudflare agent-readiness
.ZIPSOFTWARE RELEASES.PDFCOURSE FILES.APKGAME MODS.PSDDESIGN ASSETS.MP4PODCAST MASTERS.CSVDATASETS.ISODRIVER BUNDLES.EPUBLEAD MAGNETS
01

Others make you wait. We don't.

Every other host makes you finish the upload before it will give you a link. MoonPush hands you the link at byte zero, and your recipient watches the file arrive while you are still sending it.

Dropbox, WeTransfer, Drive24 min
waiting for upload to finish before the link exists
MoonPush1 sec
link returned at byte zero - recipient downloads live
$ curl -F "[email protected]" moonpush.com/api/upload|
{ "shareUrl": "https://files.yourdomain.com/share/K3F9QX#KEY" }
No round trip, no follow-up message
You paste the link the moment you drop the file. Nobody sits watching a progress bar to report back that it finished.
Resumable by default
Native TUS 1.0.0 survives flaky networks, sleep and wake, and browser crashes. A dropped 40 GB upload does not start over.
Pre-signed PUT skips us entirely
Bytes go straight to storage, never proxied. That is what keeps giant files fast and egress cheap.
02

What the waiting costs you

Every large file sent the old way burns time twice: once for the sender watching the bar, once for the recipient waiting on a link. Put your own numbers in.

Inputs
Recovered
Payroll time back, per month
$6,267
96.4 hours of waiting removed. $75,203 a year.
Transfers per month415.7
Hours spent waiting today97.0 h
Hours spent on MoonPush0.6 h
4.33 weeks per month | MoonPush send counted at 5 seconds | sender time only, recipients excluded
03

Now the revenue side

Inputs
Monthly
Net after bandwidth
$3,312
$39,748 a year, on files you are already serving.
Cumulative net | 12 months
M1M6M12
Ad-eligible pageviews1.1M
Egress moved11.9 TB
Same egress on AWS S3$1,099
AdSense revenue$3,360
MoonPush bandwidth-$47.68
On a generic file host$0
2.1 pageviews assumed per download | egress billed at $4 / TB | S3 compared at $0.09 / GB list
04

Your ad code, on your download page

You paste your own AdSense snippet into the three slots on the download page below. MoonPush never injects an ad, never takes a share, and never rewrites your page. The file is served from your hostname, so the traffic is yours in Search Console too.

Three slots, policy-safe by default
Slots sit above, beside and below the file card. Nothing overlaps the download button, so accidental clicks stay off your account.
Your publisher ID, your reporting
The page loads adsbygoogle.js under your own client ID. Impressions, RPM and payouts all land in your existing AdSense dashboard.
The second pageview is the referrer page
Share links resolve through /share/CODE before the download page, so one shared file is worth two monetised views.
05

White label in one DNS record

Point a subdomain at the MoonPush edge. Certificates are issued automatically. No MoonPush branding appears anywhere on the page unless you put it there.

STEP 01
Add the CNAME
One record at your registrar. Propagation is usually under a minute on Cloudflare.
STEP 02
Paste your ad units
Drop your AdSense snippet into the header slot and the two body slots. Saved per domain.
STEP 03
Upload as usual
Browser, curl, API or the MCP server. Every link comes back on your hostname.
TypeNameValueTTL
CNAMEfilesedge.moonpush.comAuto
$ curl -F "[email protected]" https://files.yourdomain.com/api/upload
{ "shareUrl": "https://files.yourdomain.com/share/K3F9QX#KEY", "expiresIn": "custom" }
$ curl -OJL https://files.yourdomain.com/api/dl/9f6b14e5-c642-461c-a19e-6c348287c189
06

Bandwidth is the whole cost

A download business lives or dies on egress. Storage is rounding error; the terabytes leaving your server are the bill. Here is what the same terabyte costs, at list.

ProviderPer TB egress10 TB / month
MoonPush white label$4.00$40
Bunny CDN$10.00$100
Backblaze B2$10.00$100
AWS S3$92.16$921
Public list pricing, first tier, no committed-use discounts. Verify before publishing.
07

Ten ways in. One link out.

Browser, API, terminal, email, SFTP and agents all land in the same encrypted file pipeline.

Bulk CLI
Ship whole folders from scripts.
moonpush put ./dist
Pre-signed PUT
Send bytes straight to storage.
POST /api/upload/presign
TUS resumable
Survive laptop sleep and flaky networks.
POST /api/tus
SFTP gateway
Upload from legacy tools.
Email
Mail attachments into a folder.
Webhooks
Notify your stack on every file.
HMAC signed
URL import
Pull remote files into your account.
POST /api/upload/from-url
Folder auto-zip
One link for many files.
Upload a folder
One-time receive
Collect files from anyone.
/receive/{id}
MCP
Let AI agents upload and download.
upload_file
100 / 100
Cloudflare agent-readiness, Level 5 Agent Native.
3/3 APIs
3/3 Docs
2/2 Discovery
7/7 Tools
08

Three endpoints. One curl.

Encrypted at rest by default. Full docs stay public for agents at /llms.txt, /llm.txt and /openapi.json.

POST

/api/upload

Upload any file. Server encrypts with an ephemeral key and returns shareUrl#KEY.

GET

/api/dl/{id}

Stream bytes. Encrypted pipes decrypt locally with the fragment key.

GET

/api/share/{code}

Resolve short share codes into pipe metadata and download URLs.

CLI

TRUE E2E
curl -sSL moonpush.com/cli/moonpush.mjs -o moonpush

MCP

upload_file download_file download_share upload_text
claude mcp add moonpush

Discovery

/llms.txt /llm.txt /openapi.json api-catalog
opt out of encryption with ?plain=true
09

Plans

Free for quick encrypted links. Plus is the white-label publisher plan from the design.

Free
$0
  • + 50 MB free uploads
  • + 30-minute links
  • + Unlimited downloads
  • + E2E + API
Drop a file
Basic
$2/mo
  • + 10 GB storage
  • + No expiry cap
  • + TUS + webhooks
  • + Email alias
Start Basic
Plus
$5/mo
  • + 1 TB transfers
  • + Unlimited custom domains
  • + Your ad units in three slots
  • + No MoonPush branding
Go white label
Volume
Talk
  • + Higher bandwidth
  • + SFTP + presign
  • + Per-folder retention
  • + Publisher support
Email us
10

Before you ask

Does MoonPush take a cut of the ad revenue?
No. You pay for plan and bandwidth. Your publisher ID sits in your own page, and Google pays you directly.
Is this within AdSense policy?
Ad slots never overlap the download control, there is no forced countdown and no pop-under. You are responsible for your content and policy compliance.
How long do files stay up?
Free links expire in 30 minutes. Paid plans advertise no-expiry links within plan limits.
What happens to my existing links?
They keep resolving. Existing moonpush.com links can keep working while branded links use your verified hostname.

Point a subdomain at us and keep the pageview.

Setup takes one DNS record. Bring your own AdSense ID, your own retention rules and your own brand.

curl -F "[email protected]" https://files.yourdomain.com/api/upload