How it works
When your page loads,widget.js scans for any element carrying a data-tipstack-id attribute, injects a styled button in its place, and opens a sandboxed Tip Stack checkout inside an iframe when a visitor clicks it. Payments flow non-custodially from supporter to your wallet — the widget never holds funds.
Embed the widget
Copy the snippet
Paste the following HTML wherever you want the tipping button to appear. Replace the placeholder values with your own handle, preferred theme, and accent color.
index.html
Whitelist your domain
Before you deploy to production, add your site’s origin to the allowed-domains list in your creator dashboard. The widget will refuse to load on any origin that is not whitelisted.See Origin Whitelist for step-by-step instructions.
Add your domain to the whitelist in your creator dashboard before deploying the widget in production.
Data attributes
Customize the widget’s appearance and identity using HTML data attributes on the container<div>.
| Attribute | Required | Description |
|---|---|---|
data-tipstack-id | Yes | Your creator handle (e.g. satoshi), Solana wallet address, or numeric user ID. |
data-tipstack-theme | No | Color scheme for the checkout iframe. Accepts dark (default) or light. |
data-tipstack-color | No | Hex accent color applied to the button and checkout UI. Defaults to #00D265. |
Accent color presets
The creator dashboard offers six built-in swatches you can copy directly into your snippet:Green
#00D265 — default brand colorRed
#FF3B30 — bold call to actionIndigo
#5865F2 — Discord-styleSky
#1DA1F2 — Twitter / X blueOrange
#FF9500 — warm contrastPurple
#AF52DE — creator purpleWhat the button looks like
The button renders as a rounded pill containing a lightning bolt icon on the left and the label “Tip me on Tip Stack” in bold. The background is filled with your chosen accent color and the text is dark for maximum contrast. It is fully responsive and scales correctly on mobile without any extra CSS.Where to place it
You can drop the snippet into virtually any HTML surface:Blog or personal site
Place it at the bottom of each post to let readers tip after they finish reading.
Linktree alternative page
Add it alongside your social links so fans have a direct way to support you.
Notion embed
Paste the snippet into a Notion page via the HTML embed block.
GitHub profile README
Embed the action button in your
README.md using a linked badge or raw HTML.Share your bio link
Every Tip Stack creator also gets a standalone profile page at:Security
When the widget initializes, the Tip Stack server validates that the embedding page’s origin matches your whitelisted domains. If the origin is not recognized, the widget silently refuses to render and the server returns a403 Unauthorized Origin response.
localhost and 127.0.0.1 are automatically allowed during development — you do not need to add them to your whitelist.