Swap users,
not spam.
Your app shows a small card of other apps. Theirs show yours. Every impression you give earns you one back.
- Free forever
- Human-approved
- No cookies
rollcage.app's card shows stalkr.ai. rollcage.app earns 1 credit.
How it works
Three steps.
Then it runs itself.
No campaigns, no posting schedule, nothing to do daily. You set it up once and the network does the rest.
- settings.html
<script async src="https://swapply.app/widget.js" data-key="sw_…"> </script>01
Paste one tag
Add your app, we approve it by hand, you drop one script tag wherever your users already look.
- +2 credits
Apps you might like

promptgod.tech

stalkr.ai
via Swapply
02
Show others, earn credits
Your card shows apps that share your categories to your users. Each app shown earns you one credit.
Last 14 days
4.5% CTR3,104
seen
141
clicks
22
signups
03
Get shown, gain users
Credits put your app in other members' cards. New users arrive, and you see every click and signup.
The only rule
You receive exactly as much as you give.
No algorithm decides who deserves attention. The ledger does. Every account gets 1,000 free credits when its first app is approved, shared by all your apps.
Credits
A view is 1 credit.
A click is 10.
Being seen costs a little. Getting a visitor costs more, and pays the member who sent them. Here is every way a credit moves, with nothing left out.
- +1 per app
Your widget shows another member's app
To a counted visitor. Each app in the card counts once.
- −1
Your app is shown in another member's widget
To a counted visitor. The credit goes to that member.
- +10
A visitor clicks another app in your widget
You sent them a real visitor, from a card they were shown. Once per visitor per app per day.
- −10
A visitor clicks your app in another member's widget
They sent you a real visitor. The credits go to that member.
- 0
A visitor signs up after a click
Tracked with convert.js if you add it. Free.
- 0
The same visitor sees or clicks it again that day
The card still renders and the link still works. Nothing moves.
- +1,000
Your first app is approved
Once per account, shared by all your apps.
- 0
You run out of credits
Your apps pause in widgets. Your directory listing and its do-follow link stay.
- 0
Bots, link previews, email scanners, copied links
The card may render. Nothing moves, ever.
- +1
A visitor opens your email link
Counts as a view. We pick the app, so there is no click charge.
- +2,000 to 50,000
You buy a credit pack
Optional. Bought credits never expire.
What counts as a view
The first time a visitor sees a widget on a given day (UTC). A click counts once per visitor per app per day, and only from a card that visitor was actually shown. Reloads, repeat visits, repeat clicks, copied links and bots move no credits. Visitors are told apart by a hash of IP and browser that is deleted after 24 hours.
Worked example
Your widget shows 2 apps. 30 new visitors open it today (+60) and 3 of them click through (+30): +90 credits. Your 1,000 starter credits alone pay for 1,000 views, or 100 visitors.
Limits
An account earns at most 1,000 credits a day from views and clicks combined, so nobody can farm fake traffic. Spending has no limit: your apps are shown for as long as your balance lasts. At 0 they leave rotation, your widget keeps earning, and your directory listing keeps its do-follow link.
The card
Looks like it belongs in your app.
Four layouts, your colours, light or dark. It renders in a Shadow DOM, so it never touches your CSS, and it weighs under 6 KB.
- < 6 KB
- gzipped
- 1
- request
- 0
- cookies
Best for: Settings pages, sidebars, docs
Apps you might like
rollcage.app
promptgod.tech
via Swapply
Built to be trusted
Safe to put inside your product.
You're putting our tag in front of your users. Here is exactly what it does, and what it never will.
Shared categories only
A fitness app never shows a Shopify plugin. You pick up to 3 categories and only swap within them.
No competitors
Block anyone you like. Blocking is mutual, so they can't see you either.
No cookies, no tracking
Nothing is read from your page or your users. No fingerprinting, no third parties.
Human-approved
Every app is reviewed by a person before it is ever shown to anyone.
Exactly what we store and how matching works: see the FAQ and privacy policy.
Pricing
Swapping is free. Forever.
Want more reach than you've earned yet? Top up with credits. A view of your app costs 1 credit, a visitor 10.
Member
Everyone$0forever
- 1,000 starter credits per account
- Earn unlimited credits by giving
- All layouts, the designer, daily stats
- Directory listing with a do-follow link to your app, kept even at 0 credits
Credit packs
Optional · one-off2,000 credits
$4.50 per 1,000 · never expire
$9
10,000 credits Most popular
$2.90 per 1,000 · never expire
$29
50,000 credits Best value
$1.98 per 1,000 · never expire
$99
Payments by Stripe. VAT added where applicable. Unused credits refundable within 14 days.
Is it really free?⌄
Yes. Swapping is free forever: show other apps, earn credits, get shown. Every account gets 1,000 credits when its first app is approved, shared by all your apps. We only charge founders who want more exposure than they've earned yet and choose to buy credit packs.
What does a click cost?⌄
A view of your app costs 1 credit. A click on your app costs 10 credits, paid to the member whose widget sent the visitor, so sending real visitors pays ten times more than just showing apps. Each visitor's click on an app counts once a day and only from a card they were actually shown, so copied or scripted links move nothing. Bots, link previews and email scanners never move credits, and signups never cost anything.
Will my competitors show up in my app?⌄
No. You get a block list per app, and blocking is mutual: if you block them, they can't see you either. Matching is also restricted to the categories you picked (up to 3), so unrelated apps never appear.
What does the widget collect about my users?⌄
A one-way hash of IP + user-agent + date, kept for 24 hours, only to count one impression per visitor per day. On a click, an anonymous click id kept for 7 days so a signup can be attributed. No cookies, no names, no emails, no fingerprinting libraries, no third-party scripts.
How do you decide which apps to show?⌄
On every view we take a random sample of up to 40 approved apps from your categories (split evenly between them), remove you, your block list, your own other apps and apps whose account has no credits, then pick at random weighted by the square root of each account's credit balance. An account with 4x the credits is shown about 2x as often, so contributors are favoured and newcomers aren't starved. If no other member's app is eligible, your own other apps fill the slot for free, so the card never sits empty when you have more than one app. There's no engagement scoring or bidding.
How does Swapply make money?⌄
Only by selling optional credit packs to founders who want more exposure than they've earned. Swapping is free and always will be. No ads, no data deals, no paid ranking: bought credits buy impressions in your categories under the same matching rules as earned ones.
What if I have very few users?⌄
You still start with credits, so you get shown from day one. And small apps in the same niche tend to have very overlapping audiences, which is where cross-promotion converts best. If you run out, you can buy a pack; prices are a fraction of any ad network.
Does it slow down my app?⌄
The tag is under 6 KB, loads async, makes one request, and caches the result in the browser for 10 minutes. It renders inside a Shadow DOM, so it can't break your CSS and your CSS can't break it.
Can I control how it looks?⌄
Yes: four layouts (card, inline, banner, badge), floating or in place, light/dark/auto, accent colour, corner radius, title text, 1–3 apps, logos and taglines on or off. The dashboard has a live designer that generates the snippet.
What kinds of apps are accepted?⌄
Live, working products: web apps, Mac/iOS/Android apps, browser extensions, developer tools, B2B and consumer software. We reject anything deceptive, adult or gambling content, crypto schemes, thin wrappers, and anything we wouldn't show our own users. A human reviews every submission.
Can I track signups, not just clicks?⌄
Yes. Add the optional convert.js tag site-wide (it remembers the Swapply click id for 7 days) and once more on your signup-success page with data-event="signup". It reports one conversion, idempotently, with no personal data.
How do I get help?⌄
Email contact@swapply.app. A human answers, usually the same day.
Your users are worth more in a network.
Add your app in two minutes. Paste one line. The first users arrive from apps your users already trust.