{"service":"merchant checkout — accept Monero/Zcash with zero custody","how_it_works":"Run a Private Watch on YOUR wallet (address + view key + webhook). POST /v1/checkout/invoices creates an exact-amount invoice paying that wallet directly; we detect the payment via the view key, fire invoice_seen/invoice_paid webhooks signed with your existing watch secret, and debit a flat settlement fee from the watch credit meter. Funds never touch us — we cannot spend, only see.","fees":{"create_invoice":"free","settled_invoice":"$0.020 flat (debited from the watch credit meter — never a percentage of the sale)","webhooks":"standard watch call rate ($0.005/delivery)"},"limits":{"min_usd":0.25,"max_usd":5000,"ttl_minutes_default":30,"ttl_minutes_max":1440,"spread_bps":100},"endpoints":{"create_key":"POST /v1/checkout/keys { watchId, watchToken, label?, maxAmountUsdCents? } — mint a RESTRICTED key safe for client-side embeds (can only create invoices paying your wallet)","list_keys":"GET /v1/checkout/keys?watchId=… (header x-watch-token)","revoke_key":"DELETE /v1/checkout/keys/{keyId}?watchId=… (header x-watch-token)","create_invoice":"POST /v1/checkout/invoices { checkoutKey | watchId+watchToken, amountUsdCents, chain?, orderId?, description?, successUrl?, ttlMinutes? }","invoice_status":"GET /v1/checkout/invoices/{invoiceId} — public; the invoiceId is the capability","list_invoices":"GET /v1/checkout/invoices?watchId=…&status=… (header x-watch-token)","cancel_invoice":"DELETE /v1/checkout/invoices/{invoiceId}?watchId=… (header x-watch-token) — pending only"},"embed":"One script tag: <script src=\"https://seneschal.space/pay/button.js\" data-checkout-key=\"ck_…\" data-amount-usd=\"5.00\" data-description=\"Coffee\"></script> — renders a pay button, no backend needed.","stats":{"total":2,"expired":2,"keys":1}}