Fundraising that can’t be deplatformed, now on any website
Agora campaigns can now live anywhere on the web. Pick a widget, preview it live, paste the code, and visitors donate Bitcoin without leaving your page. Here’s how.
Crowdfunding platforms remove campaigns all the time. Sometimes it’s fraud enforcement. Sometimes it’s a government request, a payment processor’s policy, a journalist’s phone call, or a Terms of Service paragraph nobody read. If your cause is politically inconvenient, your fundraiser’s lifespan is somebody else’s decision.
Agora exists to solve exactly this: Bitcoin fundraising with no custodian, no platform fees, and no off-switch. Campaigns get paid on-chain with Taproot and Silent Payments, donor to recipient, and 100% of the sats arrive.
Until now, an Agora campaign was something you sent people to. Campaigns are Nostr events, so they were never locked inside Agora. Any app that speaks the protocol, like Ditto, shows them too. But a campaign rendered in somebody else’s app is still somebody else’s ground. Your own site couldn’t take donations for it.
Not anymore. The latest version of Agora ships an embed builder that lets anyone turn a campaign into a live, donate-able widget and paste it onto any site they control. Visitors donate without leaving the page.
How to embed a campaign
It takes about thirty seconds:
- Open any campaign page on agora.spot.
- Click the ⋯ More button in the title row.
- Pick Embed widget.
- A builder opens: “Choose a widget, preview it, then paste the code into your site.”

Three widgets, one iframe
The embed is a plain <iframe>. No script tag, no third-party tracker, no build step:
<iframe src="https://agora.spot/embed/campaign/naddr1qqdxzem0wfsj6ctswqkkgetkv4kx7urdv4h8gttxw4hxgqg4waehxw309aex2mrp0yhxg6t5w3hjuur4vgpzq7q6z5ns2hm5c8msyv83qwzxpxe52j8c4d4q5m92wsp9sflelkh9qvzqqqyyguzezrjg?variant=card&theme=auto"
width="420" height="560"
style="border:0;width:100%;max-width:420px;"
loading="lazy" allow="clipboard-write"
referrerpolicy="no-referrer-when-downgrade"
title="Agora App Development Fund"></iframe>Drop that into any page: a blog post, a WordPress sidebar, a hand-rolled HTML site, a docs page. The campaign is live there.
Three variants, pick what fits:
Card (420×560) is the compact one. Title, raised total, banner image. No payment on the page; clicking opens the full campaign on agora.spot. The right choice for sidebars and link roundups.
Donate (380×660) is the payment-focused one. Everything a supporter needs to pay you, right in the frame.
Full (420×900) is the whole story: banner, verification badge, title, campaign description, and the raised-so-far total, with the payment stack underneath. This is the one you build a page around.
Each variant comes in System, Light, or Dark. System follows the visitor’s device theme, so it looks native on whatever site it lands on.

Donating inside the widget
My favorite part: the donate variants take real payments, in the frame, with no Agora account, no wallet signup, no redirect.
The widget shows a QR code of the campaign’s BIP-21 payment URI, the combined form bitcoin:bc1p…?sp=sp1q… that carries both an on-chain address and a Silent Payments address. Modern wallets that speak BIP-352 follow the Silent Payments path; everything else falls back to the plain address. One QR, every wallet.
Next to it: a copyable payment URI, and an Open external wallet button for visitors on mobile. Campaigns that have set up a fiat on-ramp get a Pay with card option too, with a “don’t have Bitcoin?” path for newcomers.
The raised-so-far total is live as well, a real on-chain balance lookup for the campaign. The number on your website is the number on the chain.

What’s deliberately not in the widget
The embed does not include Agora’s in-app wallet, and it doesn’t handle Lightning invoices. The reason is security. An iframe living on somebody else’s website is third-party territory, and exposing key material or wallet flows inside someone else’s page is how people get robbed. So the widget carries addresses and URIs (safe to show anywhere), and keys never leave home.
Freedom tech earns its name by being boring about the right things.
Why “anyone can embed” matters
The builder doesn’t check whether you own the campaign. Any viewer can embed any campaign. A journalist covering your cause, a community site, a volunteer who wants to help. Fundraising stops being a page you send people to and becomes something other people can amplify on their own ground, each copy as uncensorable as the original.
In the wild: the Support section of my own site runs the full widget, taking on-chain donations directly from derekross.me.

Embed anywhere. Pay from any wallet. Nobody can switch it off.
Try it
- Browse campaigns on agora.spot, hit ⋯ → Embed widget, and see the builder for yourself
- Building a campaign? Set it up in minutes: on-chain Bitcoin, no custodian, no fees
- Read the code: Agora is AGPL-3.0 on Nostr Git
Money that can’t be frozen, now living wherever your people already are. That’s fundraising without a landlord.
Soapbox is funded by grants and donations, not ads or data sales.
Everything we build is open source and belongs to the community. Help us keep it that way.
