Skip to main content
The checkout runs in an iframe you open from your own page. Your customer never leaves your site.

Install

Copy the snippet from API & SDK in your dashboard rather than this page. Yours has your merchant ID and payout address filled in, and the integrity hash there is always current.

Minimal integration

CryptoCheckout.init(config)

Returns a checkout instance.
string
required
Your merchant ID, from the dashboard.
string
required
Your on-chain payout address. The checkout verifies this against the blockchain before accepting payment and blocks on mismatch. Why this matters.
function
Called when the payment reaches finality. Receives the payment payload.UI only — fulfil orders from webhooks.
function
Called when a payment attempt fails.
function
Called when the customer dismisses the checkout.
function
Called when the checkout has loaded and completed verification.

Instance methods

method
Sets the amount to charge. Call before open().
method
Opens the checkout overlay.
method
Closes it programmatically.
method
Tears down the instance and removes its listeners. Call this in your framework’s cleanup hook.

Framework examples

Content Security Policy

If you set a CSP, allow our origin:
Use https://www.cryptocheckout.ai, with the www. The apex redirects, and a redirect breaks the origin check the SDK performs.

Troubleshooting

Almost always CSP. Check the browser console for a frame-src violation.
A stale integrity hash. The browser refuses to run a file whose hash doesn’t match the pin. Re-copy the snippet from your dashboard.
Your settlementAnchor doesn’t match what’s attested on-chain. Check Settings → Payout — most often the anchor in your HTML is an old address. This is the protection working. Verification.
Expected if the customer closed the tab. The payment still completed — your webhook is the reliable signal. Finality.