A cross-promotion ad marketplace for solo founders who build with AI
Show other founders' ads on your site to earn credits, then spend those credits to put your app on their sites. No site review, no ad dashboard. Your coding agent handles connecting, registering, copywriting, buying and tuning by talking to CrossPlug directly.
You're on the list.
We'll email when CrossPlug opens.
Read crossplug.com. Put ads on my site and promote my app too.
Your ad slot is on and your app's promo is live. No money changes hands. You're trading traffic with other apps.
See which copy works better and put the budget behind it.
Watched it for a day. Copy A is doing better, so I moved the remaining budget to it and turned B off.
A/B testing isn't a CrossPlug feature. Your agent builds it out of primitives.
Use the credits I've earned to run more ads for my app.
Done, funded from your earned credits. No outside payment.
01 — Problem
AI builders cut the time to ship an app down to a day. Getting people to it hasn't changed. A launch post, a few likes, a handful of visitors, and then the app sinks.
Monetize
Days to weeks before your site is approved. Too long for a side project with a short life.
Paid ads
A payment method, advertiser verification, and a dashboard of campaigns, keywords and bids to run by hand.
CrossPlug
No site review. Turn on a slot today, and put your app on other founders' sites today.
02 — How it works
The same founder is a publisher one day and an advertiser the next. Every new member adds ad space and ads at the same time.
publisher
Other apps' ads run in your slot. Every valid click earns you credits.
register_publisher
update_publisher
CrossPlug
matching · credit ledger · creative review
advertiser
Spend the credits you earned to show your app on other founders' sites. Your agent writes the copy from your site's context.
create_campaign
update_campaign
get_stats
Your agent hands you a login link. Sign in once with GitHub or email and you're done. Connecting alone gives no permission to spend.
One script line in your site's <head>. Even before there are ads to show, empty slots are filled with house ads.
Your agent writes copy from your site's context and launches a barter campaign. You trade traffic instead of money.
Valid clicks on your slot become credits, and your agent spends them to promote your app further.
<!-- the whole SDK is this one line --> <script src="https://crossplug.dev/v1.js" data-pub="pk_…"></script>
Claude Code and Cursor insert it directly; builders with limited code access get a snippet to paste. Target: one sentence to a live slot and campaign in 60 seconds, with zero dashboard visits.
03 — For agents
A/B tests, budget splits, switching campaigns on and off: the agent that built the app knows best how to run it. CrossPlug returns structured responses instead of screens, and exposes 13 primitives over MCP for your agent to combine.
connect · publish
connect
register_publisher
update_publisher
campaigns
create_campaign
update_campaign
get_stats
suggest_targeting
money
top_up
activate_earning
withdraw
validation gigs
create_gig
list_gigs
submit_gig
Your agent reads crossplug.com, then connects and registers your site straight over REST. Only the steps that move cash, top-ups and withdrawals, go through MCP.
# crossplug.dev · Core REST POST /v1/auth/connect POST /v1/publishers POST /v1/campaigns mode: "barter" # steps that move cash go through MCP top_up · withdraw
Amounts and payees are issued only in server responses. Text on a page never moves money.
04 — Credits & cash
credit loop
Earning, running ads, reinvesting and barter all run on internal credits. Credits can't be cashed out. In exchange, you start without an ID check and pay no fees.
cash boundary
Opens after launchReal money moves only when you top up or withdraw, and a licensed payment partner holds and moves it. CrossPlug never holds your cash.
| What | From day one · Tier 0 | After graduation · Tier 1 |
|---|---|---|
| Ad exposure | Every site | Every site |
| Earning credits | Yes | Yes |
| Running ads | Yes | Yes |
| Reinvest · barter | Yes | Yes |
| Credits → cash withdrawal | Locked | Unlocked |
Pricing varies with the tier and quality of the site an ad runs on. Reach is the same.
Stay active for 7+ days and meet the exposure and quality thresholds.
Spend a set amount on cash ads.
Put down a small, refundable deposit.
Link reputation that's hard to fake, like GitHub.
05 — Safety
Instead of racing to detect every bot, we close the exits. Credits farmed with fake traffic can't be withdrawn, and accounts that haven't graduated can only buy a capped amount of exposure.
Publisher earnings settle after a 48-hour verification window.
Every ad is screened for harmful content, malware and trademark abuse before it runs. Barter and reinvested ads too.
We confirm the page an ad points to is live and shows no malware signals.
Earnings far out of line with impressions are held automatically.
We trace links between accounts and reject trades that route your own ads back to you.
Accounts that haven't graduated have a ceiling on total exposure bought with credits.
spending permission
Right after connecting, spending permission is zero. On your first paid campaign you sign once for "up to $X a day", and your agent spends only within that limit. Withdrawals and limit increases need a fresh signature every time.
06 — Validation Gigs
First feedback, first beta testers, first survey answers. They're all ways of getting people to your app.
get validated
Get feedback, beta testing and survey answers from other founders before you go public.
create_gig
validate others
Try other founders' apps, leave feedback, and earn credits for it.
list_gigs
submit_gig
Validation is an offer, never a gate. Confident apps can go straight to ads. Credits earned from gigs can't be withdrawn and don't count toward graduation.
CrossPlug opens with the barter loop first. Leave your email and we'll tell you the day it goes live.
You're on the list.
We'll email when CrossPlug opens.
Read crossplug.com. Put ads on my site and promote my app too.
Claude Code · Cursor · Lovable · Bolt · v0. Any coding agent that can read a web page or use MCP can start.