Every feature · every tier · one rate card
Nothing is behind a plan.
Some things cost credits.
Every capability below runs on every account, including the 7-day trial: the routing engine, smart pages, the full analytics history, the live feed, webhooks, the REST API, the MCP server and the GS1 resolver. What changes as you go up the ladder is how many scans your credits cover and how many domains you can hold at once. Never what you are allowed to do.
30 credits to try (7 days) · no card · 1 credit = 1 scan
The business model
They don't sell you QR codes.
They sell you the fear of stopping.
A dynamic QR code does not contain your address. It contains the vendor's. Every scan of the code on your packaging is a request to their server, which then decides where to send your customer. That is a useful piece of engineering, and it is also the whole business model: stop paying and the redirect stops resolving. Not the next code you make. The ones already printed on the menus, the shelf talkers, the vehicle livery, the fifty thousand cartons in the warehouse.
This is not a hypothetical. There are documented cases of a charity's printed gala programme leading to an error page because a 14-day trial had quietly expired, and an entire cottage industry of "pay once, never expires" vendors that exists for no reason other than how much people resent it. The feature list is scaffolding. The product is the hostage.
The obvious objection, which is that we are also a vendor
Correct. tap2u.link is our domain, and a code pointing at it depends on us. So we did the three things that actually answer it rather than the one that sounds good. A custom domain you own is available on every pack, including the cheapest, so the code on your packaging can carry your hostname and not ours. Links pause when a balance runs out, they are never deleted and the slugs are never recycled, so there is nothing to lose and nothing to race back for. And the terms are published as a contract at the pledge, not as a value on a marketing page. Take the second one seriously: it means the worst thing we can do to you is stop, and stopping is recoverable.
The comparison table
The boring version
of a familiar table.
You have read this table before on another site, and you know what it usually looks like: the left column lists what you want, and the checks start appearing three columns to the right. Here is ours. The only rows that change are the two at the bottom, and neither of them is about permission.
| Capability | Starter | Basic | Pro | Growth | Scale | Volume |
|---|---|---|---|---|---|---|
| Dynamic routing: geo, device, language, time, A/B | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Visual flow canvas | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Password, scan cap and expiry gates | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Hosted smart pages | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Premium page themes | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| All 20 analytics dimensions | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Lifetime scan history | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Live scan feed | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Per-scan webhooks, HMAC signed | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Full REST API | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| MCP server | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| GS1 Digital Link resolver | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Bulk serialization | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Agency client workspaces | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Unlimited static QR codes | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| A custom domain of your own | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Scans your credits cover | 3,000 | 12,000 | 28,000 | 75,000 | 250,000 | 1,000,000 |
| Custom domains included free | add as a slot | add as a slot | add as a slot | 1 | 2 | 2 |
Support is sold separately, and that is the only exception on this page · the full pack comparison →
Routing
One code.
Every answer.
if country in (IL, US) → /he/menu else → /en/menu
Resolved from the edge datacenter that took the scan. No lookup, no latency.
Rules are drawn on a canvas, compiled once, and walked at the edge by an evaluator that is tested for purity: the same scan always takes the same path, so what you drew and what runs cannot drift apart. Up to 50 nodes and 20 branches per code.
- ✓password gate, rendered at the edge, that carries your UTM and GS1 parameters through it
- ✓scan caps, for the first 500 people rather than everyone
- ✓hard expiry, which beats every other rule
- ✓a verified-brand preview, for scanners who want to see where they are going
1 credit per rule, charged when you add it and never again.
Analytics
Retention isn't a tier.
It's just your history.
Selling the past back to you in 30, 90 and 180-day slices is a pricing decision dressed as an engineering limit. Ours is the other way round. Scans from the last 90 days are queried live with all 20 dimensions intact. Past that, a nightly rollup writes your daily history down permanently, so it outlives the 90-day window of the engine underneath. Same on every pack, same on the trial.
- ✓unique visitors estimated without a cookie, so no consent banner
- ✓bot scans counted, flagged and shown separately, never quietly folded into your numbers
- ✓the hour of day in the scanner's timezone, not yours
- ✓white-label report links, signed, no login, 30-day expiry
One honest limit: the rollup keeps workspace-level dimensions, so folder filtering and A/B variant breakdown only reach back 90 days. Past that the dashboard hides those two controls rather than showing you a confident zero.
Live
Watch a scan land
before they pocket the phone.
A live feed of every scan as it happens, on every account. And a signed webhook for each one if you would rather your own systems knew: retried on failure, with the destination checked so it cannot be pointed at your internal network. Elsewhere per-scan webhooks are an enterprise line item.
scan /menu · IL · Tel Aviv · iOS · 14ms
scan /menu · DE · Berlin · Android · 19ms
scan /menu · US · Austin · desktop · 22ms
bot /menu · US · crawler · flagged, counted separately
Pages
A page that answers
each visitor differently.
A destination we host and render at the edge, with no trip back to an origin server. Link-in-bio platforms sell everyone the same static list and then charge for the good themes. Every theme here is free on every plan.
Unlock a smart page and every block on it gets its own conditions: country, language, device, days of the week, a time window, the scanner's timezone, or a fixed start and end. The lunch menu and the wine list on one page, deciding which of them you are looking at when you scan it. A smart page is a one-time 200 credits unlock, and scans of one bill 2 credits instead of 1. That is the single exception to 1 credit = 1 scan anywhere in this product, we ratified it in public, and we would rather print it here than let you find it on an invoice.
Your domain
The white-label fee
is a rounding error.
Point a subdomain you already own at us with one CNAME record and we run the certificate and the routing. We do not sell you the domain, and there is no white-label fee. Every pack can hold one, because this is a matter of credits and not of tier. From Growth up the first one is free.
Elsewhere your own domain is the thing that sells the expensive plan, at $420 to $2,000 per domain per year, every year, for as long as you want to keep the name you already own. Here it is a one-time 20,000-credit slot, and lapse-based: you keep it for as long as your account is alive and you never pay for it twice.
| Pack | A domain costs | Free |
|---|---|---|
| Starter | $100.00 | · |
| Basic | $65.00 | · |
| Pro | $56.43 | · |
| Growth | $39.73 | 1 |
| Scale | $23.92 | 2 |
| Volume | $15.98 | 2 |
One time. Not every year.
Look at the top of that column honestly. On Starter a domain costs about $100.00, because credits are dearest in the smallest pack, and you cannot even reach 20,000 credits without buying Starter seven times. Growth is $149, includes the domain, and leaves you 75,000 scans. So if you want a branded code, buy Growth. We would rather tell you which pack to buy than lock the feature and let you discover the wall after you have paid.
The edge
10–40ms,
and a public page that proves it.
A scan is a redirect, and a redirect is the only part of this product your customer actually experiences. The connection lands in the Cloudflare city nearest the phone and the answer is already there. Nobody in this category advertises redirect speed, which is its own kind of answer, so we publish ours on a live page you can check right now rather than a number in a footer.
Trust
A QR code is a link
nobody can read.
Your scanner cannot see where they are about to go, and they are pointing their camera at your brand on the strength of that. Everything here exists because of that asymmetry.
Screened on the way in
Every destination is checked against Google Web Risk when it is created and again whenever it is edited, including addresses pulled out of raw HTML blocks on a page.
Re-checked while you sleep
A clean URL today is not a clean URL in March. A nightly job re-scans live destinations and blocks the ones that turned, because the code is already printed.
Signed, and publicly verifiable
Links can be signed with a key, and anyone can check one at /verify without an account. A preview interstitial is available for scanners who want to look first.
Reportable by anyone
Abuse is reported at /report with no login. Hosting the reporting form for codes on our own infrastructure is the minimum.
Developers and agents
Full REST API and an MCP server
on the trial account.
Create a thousand serialized codes from a CI job, stream every scan to your webhook, or let an agent run the campaign over MCP: 11 tools covering links, folders, QR, wallet and analytics. Up to 100 links per call. API access is a $49-a-month tier elsewhere. Here it is on the free trial, which is the entire claim we are making.
curl -X POST https://api.taproute.io/v1/links \
-H "Authorization: Bearer tr_..." \
-d '{"url":"https://example.com"}' Agencies
One client blows the budget.
The others keep resolving.
Give each client their own workspace, billed to your wallet, with a monthly credit budget you set. The budget is enforced at the edge on the scan itself, not reconciled in a report afterwards, so a client who burns through theirs pauses only their own codes. Everyone else's keep resolving, which is the only version of this feature that is worth having. Alerts at 80% and 100%, and the month rolls over on its own.
Packaging
And if the code goes
on a product.
All 16 GS1 primary keys, 541 application identifiers, licence checking against your own company prefix, and serialized runs up to 100,000. Retail point of sale is being rebuilt around 2D codes for 2027, and packaging artwork locks long before a shelf date.
How GS1 works here →Free studio
Static codes, in your browser,
that we never see.
Unlimited static QR codes for a URL, a WiFi network, a contact card, an SMS or a phone number. Generated on your machine, never uploaded, and no account needed. A static code cannot be re-pointed or measured, which is the honest trade: if that is all you need, take it and go.
Free codes carry a small taproute mark. Remove it →
Want to edit the destination after printing? Make it dynamic →Not shipped
Things this page
could have claimed.
Every feature page you have ever read lists what its product has. This is what ours does not. If you need one of these, we are the wrong tool, and the cheapest possible moment for both of us to find that out is now.
- Data Matrix. We emit QR only.
- ISO 15415 print grading.
- EPCIS event trails.
- Routing on live external data, like weather or stock levels.
- Apple and Google Wallet passes.
- Ready-made n8n and Zapier templates. Raw webhooks ship; the templates do not.
- An SLA, or any support response time. Support is quoted separately, not bundled.
Questions
Is anything actually gated by plan?
No feature. Every capability on this page runs on every pack, and the REST API, MCP server, GS1 resolver and full analytics retention run on the 7-day trial too. Two things scale with the pack you bought: how many scans your credits cover, and how many custom hostnames you can hold at once (one on Starter, Basic and Pro; three on Growth; ten on Scale; twenty-five on Volume). Support is the one thing sold separately, and we would rather say that than pretend otherwise.
Can I use my own domain on the cheapest pack?
Yes. A custom domain is a matter of credits here, not of tier: any pack can hold one as a one-time 20,000-credit slot. Be aware of what that costs you at the bottom of the ladder, because credits are dearer in small packs: 20,000 credits is about $100 on Starter but $39.73 on Growth, which also includes a domain free and leaves you 75,000 scans. If you want a branded domain, Growth is almost always the better buy, and we would rather tell you that than lock the feature and make you find out.
Why does creating a code cost a credit?
Because a dynamic code is a real, permanent, resolvable identifier that we build and maintain an engine for, and pricing it at zero would just mean pricing something else higher. It is 1 credit, once, at creation. It is not per-code metering in the competitive sense: 1 credit is roughly $0.0008 at the Volume rate, so a hundred thousand serialized codes is about $80, while the platforms that advertise "unlimited" cap you at somewhere between 3 and 50 codes at any price. The point is not that minting is free. The point is that nothing is rented.
What does longer analytics retention cost?
Nothing, and it is identical on every tier including the trial. Scans from the last 90 days are queried live with every dimension intact. Beyond that, a nightly rollup keeps your daily history for the life of the account. One honest limit: the rollup stores workspace-level dimensions, so folder filtering and A/B variant breakdown only go back 90 days, and the dashboard hides those controls rather than showing you a plausible zero.
Do I need a cookie banner?
Not for our analytics. Unique-visitor counts are estimated with a daily-rotating-salt sketch that never writes anything to the scanner, and A/B split stickiness is a hash of the request rather than a stored identifier. Because these are estimates rather than exact counts, we label them as estimates.
What happens if I stop paying?
Nothing you printed breaks. There is no subscription to lapse and no card on file, so we cannot switch anything off to get your attention. When your balance reaches zero a grace period runs for 14 days or 5% of your last pack, whichever ends first. After that codes pause. They are never deleted, the slugs are never recycled, and any top-up brings everything back on the same URLs.