Platforms
However your site is built, the widget itself is the same — a few lines of code loading pybara-donate.iife.js. What differs is how those lines get in, and whether your site’s address can hold the DNS record the widget needs.
AI site builders — Replit, Lovable, Bolt
Section titled “AI site builders — Replit, Lovable, Bolt”A site built by an AI agent is edited by prompting it — which is all the widget needs:
- Set your site up in Pybara Wallet — Setup walks through the DNS record and the terms. The last step gives you the snippet for your site, with your principal and its address already filled in, and a ready-made prompt.
- Paste the prompt into your builder — something like “Add this Pybara donation widget to my page, exactly as given: …” — and the agent inserts it where it belongs.
- Say where it goes — “in the footer”, “on my /support page” — and give it your site’s accent colour for
primaryColor.
Two things to know on these platforms:
- Custom domain required. A
*.replit.appor*.lovable.appaddress cannot hold the_pybara-paytorecord. Attach your own domain first — every builder offers this — then set the site up in Pybara Wallet. - Content Security Policy. If the generated app sets one, point the agent at the allowances in the widget’s README.
- Every option, machine-readable. The init options have a JSON Schema at
/donate-widget/options.schema.json— an agent can validate the config it writes against it.
Site builders with embed blocks — Webflow, Squarespace
Section titled “Site builders with embed blocks — Webflow, Squarespace”These take the same snippet in a custom-code or embed block:
- Per page: an Embed element holding the
<div>, the<script>tag and thePybaraDonate.init(…)call. - Site-wide: the builder’s custom-code setting (on Webflow, Site settings → Custom code), which usually needs a paid plan.
Plain HTML
Section titled “Plain HTML”Any page, no platform:
<div id="pybara-donate"></div><script src="https://cdn.jsdelivr.net/npm/@pybara/donate-widget@beta/dist/pybara-donate.iife.js"></script><script> PybaraDonate.init({ target: '#pybara-donate', // where the widget renders recipientPrincipal: 'xxxxx-xxxxx-...', // your Pybara Wallet's principal siteUrl: 'https://example.com', // your site's address siteName: 'Example Charity', // the name donors see });</script>Every option and its default is in Options.