What are you actually paying for?

Everything that happens between a wallet connecting and you paying for a user.

pencil sketch of an iceberg with a small tip above the waterline and a huge mass below, Tip labeled “what you see" below water mass labeled "what you pay for"

The question we get from almost every advertiser is a simple one.

What happens when we run an ad with you?

It's long been said in Web3 that we need to make the user experience feel seamless. So that's what we did.

From the outside, it seems like not much is happening. You launch a campaign, you see the data come in, and later you get a report, and an invoice.

That's how it should feel.

But each of those steps has a lot of work going on behind it and it also has to happen really fast! For every single wallet, on every site we serve.

So here's both: what you see, and what's running underneath.

Two sides, one objective.

Specify is a performance ad network for web3.

On one side are advertisers: exchanges, lending apps, wallets, products that want new, active users.

On the other are publishers: sites, apps and newsletters with a web3 audience who want to earn from their space.

Most ad networks charge for views or clicks.

We built Specify around one thing instead: a person seeing an ad, and then them actually starting to use the product.

It starts with a wallet.

Someone connects their wallet in an app we work with.

At that point the publisher knows their wallet address. The publisher passes it to us and asks for an ad.

On your side, setting up the audience is just as short. You tell us which communities you want to reach, usually people who've used products like yours.

Underneath, we do a lot of data crunching. Blockchain activity is public, so we go through what wallets have actually done, the swaps, loans, bridges and stakes, and build your audience from the ones with the right history.

One address in. A whole onchain history behind it out.

We don't guess
Our targeting runs on what wallets have actually done.

Then we pick the ad.

When a request comes in, we check whether the person fits any live campaigns and choose one.

A few rules shape that choice.

If they already use your product, they don’t see your ad. You only pay to reach new or lapsed users.

They’ll also see the same ad from your campaign wherever they go, so results stay clean.

Publishers can set their own limits on frequency and categories. Campaigns can include or exclude countries.

While this sounds simple, there’s massive machinery underneath that runs at speed and at internet scale. Each of these checks happens in the moment between a wallet connecting and an ad appearing.

The person on the other end just sees an ad.

One person, however many wallets.

Most active web3 users use more than one wallet. To you, this is invisible: one person is counted once, and you’re charged once, no matter how many wallets they use.

Getting there isn’t easy. We group wallets that belong together, and we’re careful not to merge people on weak signals because getting it wrong in either direction costs someone money.

Then we watch what happens.

We track views, clicks and conversions.

Conversions are the ones that matter, and you define them before a campaign runs. It can be a first swap, a first deposit, whatever means "this person is now a user."

For you, there's nothing to install. Those actions happen onchain, so we see them without any tracking code on your site.

What that hides is the watching we do of those wallets and their transactions.

After someone sees your ad, we keep an eye on all of their wallets for the whole campaign and attribution window, which is 14 days.

A qualifying action inside this period counts as a conversion. Multiply that by everyone who's seen an ad, and the watching never really stops.

That includes the people who never click.

A lot of web3 users are trained not to click ads at all. Clicking unknown links is one of the fastest ways to get drained.

So they see your ad, remember the name, and come back later on their own.

Click-only tracking would miss them completely. We count them as view-through conversions, because they're real users who came from the ad.

We can also put a dollar value on each conversion, like the trading volume a new user brings.

If part of your product lives offchain, a custom data feed fills that gap.

You can check every one.

Every conversion sits in your dashboard, with the evidence behind it. Advertisers and publishers can both look at it and verify it themselves.

It reads like a simple list: the impression, the grouped wallets and the transactions, all pulled together so you don't have to.

If we charged you for a user, you can see who that was onchain.

How you pay.

Everyone starts on a test campaign, where we check targeting and agree on what counts as a conversion.

After that, you choose. A fixed price per conversion. Tiered pricing, where a user's price depends on the value they bring in their first days. Or, for some campaigns, paying per impression.

What happens after the test
After the test, you choose how you want to pay for the users we bring you.

We found that no two advertisers are the same and so we work to tailor the partnership to suit us all.

Of course you can set a budget cap, and we never bill past it. One invoice a month, in fiat or crypto.

Every charge on it traces back to a conversion you can check.

How publishers earn.

Publishers get a guaranteed base rate for the ads they show, plus a revenue share that grows as their audience converts better.

Readers who become real users earn the publisher more. Payouts are monthly, by bank transfer or crypto.

Why we built it this way.

When we were growing Outposts, we couldn't find an ad network we felt good about showing our own readers.

So we built the one we wanted: advertisers pay for outcomes, publishers get rewarded for a good audience, and the results come from public onchain data anyone can check.

Getting started is quick and easy.

Advertisers sign up, add their product’s contracts, agree on a conversion definition, and run the test.

Publishers sign up, get approved, add Specify to their site or app, and set their limits and payout details.

That’s how it works, end to end: a wallet connects, the right person sees one ad, and you pay only when they actually become a user.

It looks simple from where you sit. We’ve put a lot of work underneath to keep it that way.

Was this forwarded to you? Subscribe free to get the next article in your inbox.


Madusha Thilakarathna — Co-founder @ TICC. Building Specify, Outposts, Maru and W3A. Website