What actually happens, in plain words.
Meerkly lets somebody borrow a slice of an internet connection that was sitting idle anyway. Here is the whole of it, from the moment somebody asks to the moment you get paid — written for anyone, not just for developers.
Somebody borrows a slice of a connection that was sitting idle.
That really is the whole idea. A page is fetched through an ordinary home or mobile connection instead of a company one, so the website at the other end sees what it expects to see: a normal person, in a normal place, on a normal internet connection.
What happens when your device is asked for something.
Somebody needs to see a web page
Companies check their own adverts, prices and search results in other countries all day long. From a company connection those pages often look wrong, or refuse to load at all. So they ask to borrow an ordinary home connection instead — one that looks like a real person, because it is one.
We pick a device that is switched on
Yours, or somebody else's — whichever is online and has room to spare. All that gets sent to the device is the address of the page somebody wants. No files, no programs, nothing that stays behind.
The device fetches it and passes it straight back
It goes and gets the page the same way your own browser would, and hands it back through us. It does not open it, read it or keep it. Think of a courier carrying a sealed envelope: it goes through your hands, and you never see inside.
You are paid for what went through
We measure, on our side, what your connection carries for it as it moves — the device is never asked how much it did, so there is nothing to get wrong or argue about. Your own browsing is not part of any of this: it is not counted, not slowed and not seen.
The three questions everybody asks next.
Junk mail is the main thing people try to abuse connections like this for, so email is blocked outright, at our end, before anything reaches a device. It is not a setting anyone can turn on.
Only addresses out on the open internet are allowed. Your printer, your router's settings page, the files on your other computers — none of it can be reached, because none of it is a public address.
You choose when it starts and you can stop it in a moment. When it stops, it stops — nothing carries on in the background and nothing is left on the device.
The same thing, precisely.
Nothing new here — this is the paragraph above with the protocol names left in. Skip it happily if it is not your sort of thing.
An exit node holds a single outbound QUIC connection to the gateway, however much traffic flows over it. Nothing listens for inbound connections, so it works behind NAT and opens no hole in anyone's network.
No config file, no cache and no identity of its own. Whatever the host application does not persist for it, it does not persist. A device id, if there is one, is minted and kept by the host.
The exit resolves the target itself, rejects anything that is not a routable public address — loopback, RFC 1918, link-local, CGNAT, unique-local — and then connects to the address it validated, never re-resolving the name, so DNS rebinding cannot slip through.
The QUIC connection's own counters measure the tunnel leg as it moves — UDP payload plus IP/UDP headers, both directions. A wrapper on the gateway's stream counts the site-side payload, to which a stated 4% header allowance is added. Both are flushed to a durable stream. Nothing that decides money is ever self-reported by a client.
Depends which side you are on.
You are the last step — on a phone, a laptop or a server, it is the same. Your device fetches the page, we count the data on our side as it moves, and you are paid for it by the gigabyte. Your own browsing is never part of it.
Let your phone pay youIf you are shipping an appYour users' devices are the last step, and your publisher id is what says the bytes are yours. Your app carries the traffic; it is never the destination, and nothing about what your users do inside it is involved.
Monetise without adsNow you know what it does. See what it pays.
Create an account and point a device at it, or take a publisher id and run the SDK on your own machine first.