Bitculator
Bitculator · Embeds · v1

Embed widgets

Put Bitculator's live crypto tools straight onto your own site with a single <iframe> — a real-time price chart, a converter, a marketcap flipper, and six calculators. No SDK, no build step.

9 widgets Embed key + domain Anonymous mode

Every widget is a self-contained page under /{locale}/embed/… that you drop into your site with an <iframe>. It renders Bitculator's live market data — the same feed the app uses — and needs no JavaScript on your side.

Paste it anywhere — no script tag needed:

<iframe src="https://bitculator.com/en/embed/converter/bitcoin/usd?embed_key=YOUR_EMBED_KEY"
        title="Bitculator converter" loading="lazy"
        width="100%" height="470" style="border:0;border-radius:12px"></iframe>

Add your embed key as a query parameter and register the domain you'll embed on (both in your developer console). Keyless embeds also work in anonymous mode — handy for a quick test — but are limited per visitor IP. Every widget honours the {locale} in the URL and follows the theme cookie (or ?theme=dark).

Content-Security-Policy

Serving a Content-Security-Policy on your site? Add https://bitculator.com to your frame-src (and child-src for older browsers) so the widget can load. Nothing to change on our side — Bitculator already allows embedding on any domain.

Content-Security-Policy: frame-src https://bitculator.com

Snippet builder

Pick a widget and its options — the embed snippet updates as you go. Copy it, or open a live preview in a new tab.

Embed snippet Open example

                    

Rendered live in anonymous mode.

Authentication

An embed key is a token with the api ability, minted in your developer console. Unlike Data API keys, it rides in the iframe URL as a query parameter — never a header — so it is public by design. It carries the api ability only; the Bearer-only data-api keys are rejected here so they can't leak into referers or logs.

Pass it as ?embed_key=… (or the alias ?api_key=…). A keyed request must also come from an allow-listed domain (see below). If you're logged into Bitculator in the same browser, the key check is skipped for your own session.

Domains

A keyed embed only renders on domains you've registered. Bitculator reads the embedding page's Referer (falling back to Origin), normalises it (lower-cased, www. and any trailing dot removed) and matches it exactly against your allow-list. An unregistered or unreadable host returns 403.

Manage domains in your developer console; each plan allows a set number (below). Because Referer/Origin is set by the visitor's browser and can be spoofed, the allow-list is a guard against casual key reuse, not cryptographic proof — treat the key as public either way. Anonymous (keyless) embeds are not domain-gated; they're limited per IP instead.

Quota & limits

Embeds draw from a monthly pool that is entirely separate from the Data API — its own plan, its own counter. Anonymous loads count per visitor IP (1,000/month); keyed loads count against your plan's monthly limit. Free plans reset on the calendar month; paid plans reset on your billing day.

*Embed responses carry no `X-Quota-headers** — deliberately, so quota numbers never leak into your visitors' pages. Watch your usage in the [developer console](/user/developer/api) instead. (TheX-Quota-*` headers you may have seen are on the Data API only.)

Over the limit

When a widget is over quota it returns 429. In a browser iframe that's a small styled "usage limit reached" page (so your layout doesn't break); a JSON caller gets {"message", "limit", "used"}. Add a key, or upgrade your plan, for more.

Plans

Embed plans are separate from your Data API plan. Every account starts on Free; keyless visitors get the anonymous tier.

Plan Loads / month Domains Keys
Free 10,000 1 2
Starter 50,000 3 5
Pro 500,000 10 10
Anonymous 1,000 per IP

Anonymous is the keyless tier — no domains or keys, limited per visitor IP. Upgrade in the developer console.

Widgets

Nine drop-in widgets. Copy a snippet, swap in your key, register your domain — done. Path segments (like a coin slug) resolve by the asset's slug and must be an active market; every widget also accepts the shared query parameters below.

GET

Currency converter

/{locale}/embed/converter/bitcoin/usd

Convert an amount between any two crypto or fiat assets at live market rates, with an optional comparison table.

Embed snippet Open example
<iframe src="https://bitculator.com/en/embed/converter/bitcoin/usd?embed_key=YOUR_EMBED_KEY"
        title="Bitculator converter" loading="lazy"
        width="100%" height="470" style="border:0;border-radius:12px"></iframe>
Parameter In Default
fromThe asset to convert from, by slug (an active market). path
toThe asset to convert to, by slug (an active market). path
hideTableHide the comparison table and show only the converter. query false
compactRender a condensed layout with tighter spacing — good for narrow columns. query false
Live preview
GET

Price history chart

/{locale}/embed/zoom/bitcoin

A coin's full historical price as an interactive chart, with a picker of the top markets by marketcap.

Embed snippet Open example
<iframe src="https://bitculator.com/en/embed/zoom/bitcoin?embed_key=YOUR_EMBED_KEY"
        title="Bitculator price chart" loading="lazy"
        width="100%" height="460" style="border:0;border-radius:12px"></iframe>
Parameter In Default
slugThe coin or token to chart, by slug (an active market). path
compactRender a condensed layout with tighter spacing — good for narrow columns. query false
Live preview
GET

Marketcap flipper

/{locale}/embed/flip/bitcoin/ethereum

The "flippening" — what one asset's price would be at another's marketcap, with the implied multiple.

Embed snippet Open example
<iframe src="https://bitculator.com/en/embed/flip/bitcoin/ethereum?embed_key=YOUR_EMBED_KEY"
        title="Bitculator marketcap flipper" loading="lazy"
        width="100%" height="460" style="border:0;border-radius:12px"></iframe>
Parameter In Default
entity1The asset whose price is reprojected, by slug (an active market). path
entity2The asset whose marketcap is applied, by slug (an active market). path
compactRender a condensed layout with tighter spacing — good for narrow columns. query false
Live preview
GET

DCA simulator

/{locale}/embed/dca

What recurring weekly buys of a coin over the past 5 years would have accumulated and returned.

Embed snippet Open example
<iframe src="https://bitculator.com/en/embed/dca?embed_key=YOUR_EMBED_KEY"
        title="Bitculator DCA simulator" loading="lazy"
        width="100%" height="560" style="border:0;border-radius:12px"></iframe>
Parameter In Default
compactRender a condensed layout with tighter spacing — good for narrow columns. query false
Live preview
GET

Profit calculator

/{locale}/embed/profit

Net profit, loss and ROI from a buy price, sell price, quantity and fees.

Embed snippet Open example
<iframe src="https://bitculator.com/en/embed/profit?embed_key=YOUR_EMBED_KEY"
        title="Bitculator profit calculator" loading="lazy"
        width="100%" height="560" style="border:0;border-radius:12px"></iframe>
Parameter In Default
compactRender a condensed layout with tighter spacing — good for narrow columns. query false
Live preview
GET

Interest calculator

/{locale}/embed/interest

Project the future value of a holding from a starting principal, rate and compounding frequency.

Embed snippet Open example
<iframe src="https://bitculator.com/en/embed/interest?embed_key=YOUR_EMBED_KEY"
        title="Bitculator interest calculator" loading="lazy"
        width="100%" height="560" style="border:0;border-radius:12px"></iframe>
Parameter In Default
compactRender a condensed layout with tighter spacing — good for narrow columns. query false
Live preview
GET

Tax calculator

/{locale}/embed/tax

Estimate taxable amount and tax owed across trading gains, mining, staking, airdrops and yield.

Embed snippet Open example
<iframe src="https://bitculator.com/en/embed/tax?embed_key=YOUR_EMBED_KEY"
        title="Bitculator tax calculator" loading="lazy"
        width="100%" height="580" style="border:0;border-radius:12px"></iframe>
Parameter In Default
compactRender a condensed layout with tighter spacing — good for narrow columns. query false
Live preview
GET

Loan calculator

/{locale}/embed/loan

Model a crypto loan — repayment, total interest and an amortization breakdown.

Embed snippet Open example
<iframe src="https://bitculator.com/en/embed/loan?embed_key=YOUR_EMBED_KEY"
        title="Bitculator loan calculator" loading="lazy"
        width="100%" height="580" style="border:0;border-radius:12px"></iframe>
Parameter In Default
compactRender a condensed layout with tighter spacing — good for narrow columns. query false
Live preview
GET

Staking calculator

/{locale}/embed/staking

Estimate staking rewards from a staked amount, APR/APY and duration.

Embed snippet Open example
<iframe src="https://bitculator.com/en/embed/staking?embed_key=YOUR_EMBED_KEY"
        title="Bitculator staking calculator" loading="lazy"
        width="100%" height="520" style="border:0;border-radius:12px"></iframe>
Parameter In Default
compactRender a condensed layout with tighter spacing — good for narrow columns. query false
Live preview