SpotEx Pay for business
Accept crypto with one API call
A hosted checkout, signed webhooks and payouts, with a test mode to build against. Or no code at all: a payment link or a button.
- per payment
- 0.5%
- setup or monthly
- $0
- chargebacks
- None
curl https://spotex.trade/api/merchant/v1/checkout-sessions \
-H "Authorization: Bearer $SPOTEX_KEY" \
-H "Idempotency-Key: order-1043" \
-H "Content-Type: application/json" \
-d '{ "amount_usd": "25.00", "item": "Gift box",
"order_id": "1043",
"return_url": "https://yourshop.com/thanks" }'
# → { "object": "checkout_session", "status": "open",
# "url": "https://spotex.trade/m/cm…", … }From order to paid in four steps
Your server makes one request and listens for one webhook. SpotEx does everything between.
Creates a checkout
One call with the price in dollars and your order number. You get back a URL.
POST /checkout-sessionsPays on SpotEx Pay
Picks a coin and pays from any wallet or their SpotEx balance, on a page with your name on it.
Any wallet or balanceSigns a webhook
Your server hears of the payment the moment it confirms, signed with your secret.
checkout.paidGet paid
The money is in your merchant wallet, less 0.5%. The buyer is sent back to your site.
0.5% fee
Built for developers
A small REST API that does the hard parts for you: fresh addresses, confirmations, part payments, prices that hold.
Test mode
sk_test_ keys make checkouts that look exactly like live ones. Pay them with a button or /simulate. No money moves.
Signed webhooks
HMAC-SHA256 over the timestamp and body, retried with backoff for a day until your server answers.
Idempotent
Send an Idempotency-Key and retry as often as you like: the same request is one checkout, one payout.
Exact amounts
Every amount is a decimal string, never a float. What you read is what was paid, to the last unit.
Hosted or headless
Send buyers to a checkout session, or show the address and amount in your own design with /checkouts.
Payouts API
Pay SpotEx users or any address from your merchant wallet, with keys tied to your servers' IP addresses.
Part payments handled
Short payments are held until the rest arrives, and a shortfall you set (up to 5%) counts as paid.
Paid in one coin
Turn on conversion and every payment is sold for the coin you choose as it lands, 1% in all.
import crypto from "node:crypto";
// header: the SpotEx-Signature header, "t=…,v1=…"
function verify(rawBody, header, secret) {
const p = Object.fromEntries(
header.split(",").map((kv) => kv.split("=")),
);
const expected = crypto
.createHmac("sha256", secret)
.update(`${p.t}.${rawBody}`)
.digest("hex");
const age = Date.now() / 1000 - Number(p.t);
const fresh = Math.abs(age) < 300;
return fresh && crypto.timingSafeEqual(
Buffer.from(expected), Buffer.from(p.v1 ?? ""),
);
}
if (verify(raw, req.headers["spotex-signature"], secret)) {
const { type, livemode, data } = JSON.parse(raw);
if (type === "checkout.paid" && livemode) {
fulfil(data.checkout.order_id);
}
}Every event carries livemode, so a test payment never ships an order. Webhooks in the docs. Official SDKs for Node.js, Python and PHP.
No developer? No problem
Make a payment link in the Merchant Center, name what you sell and its price, and share it in a chat, on an invoice or in a post. Or paste a ready-made button into any website. Let buyers enter the amount for tips and donations.
- Payment links and "Pay with SpotEx" buttons
- Your order number on every payment
- An email for every sale, and a CSV for your accounts
Get paid in the coins your buyers hold
You choose which to take. Coins marked “any wallet” can be sent by anyone, from $5; every coin can be paid from a SpotEx balance, from $1.
- Featured
PPC
Peercoin
$0.3456
From any wallet or a SpotEx balance
- Featured
IBNAI
Investor Brand Network Ai
$0.0004342
From a SpotEx balance
- Featured
DITAU
DitGold
$0.007557
From a SpotEx balance
BNB
BTC
DGB
DOGEany wallet
ETH
POL
RVN
SOL
USDC
USDT
Simple pricing
0.5%
per payment
Taken from what you receive. That is all.
1%
with conversion
In all, on what is converted to your chosen coin.
$0
to start
No setup fee, no monthly fee, no minimum volume.
Free
to Spot
Move funds to your trading balance at no cost, any time.
Safe for you and your buyers
Accountable merchants
Buyers see who they are paying. Every merchant signs in with an authenticator, agrees to the merchant terms, and can be suspended at once.
No chargebacks
Crypto payments can't be pulled back by a buyer. You decide on refunds, from your Merchant Center.
Keys that can't be misused
A key that sends money only works from your servers, and can be held to whitelisted addresses.
Proof of reserves
Merchant funds are counted in our daily proof of reserves, anchored on Peercoin for anyone to check.
Questions
Do my buyers need a SpotEx account?
Can I try the API before going live?
What if a buyer sends too little?
Can buyers reverse a payment?
What does it cost?
Taking payments is covered by the merchant terms.
Start taking crypto this week
Apply in a few minutes and take your first payment today.