Build on a typed REST API with signed webhooks
A focused HTTP surface for invoices, shops, and supported currencies — plus HMAC-signed webhooks for every state change. Idempotent writes, sandbox, and an OpenAPI schema.
Create your first invoice
One POST mints an invoice with a hosted checkout, a public link, and a wallet deep-link. Listen on your webhook endpoint and you're done.
- ▸ Authorize with a per-shop
X-API-Key - ▸ Pass an
Idempotency-Keyon every retry - ▸ Receive a signed
invoice.paidwebhook on success
curl -X POST https://blupay.me/api/v1/invoices/ \
-H "X-API-Key: $BLUPAY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"shopId": "b3f1c2a4-…",
"currencyAmount": "49.00",
"currencySymbol": "USD",
"orderId": "order-1024",
"orderDescription": "Pro plan — monthly",
"timeForPayment": 30,
"redirectUrl": "https://acme.com/thanks",
"webhookUrl": "https://acme.com/blupay/webhook"
}'Built for reliability and audit
Typed REST API
JSON over HTTPS. Consistent response envelope. A typed OpenAPI 3.1 schema you can use to generate clients in any language.
Signed webhooks
HMAC-SHA256(timestamp + raw_body). Replay-protected with a 5-minute window. Automatic retries with exponential backoff on failure.
Scoped API keys
Generate per-shop keys with optional IP allow-lists. Revoke instantly. Audit log records every issued and used key.
Sandbox
A mocked network environment where you can simulate full invoice → paid lifecycles without on-chain transfers.
Idempotency
Every POST accepts an Idempotency-Key header. Retries are safe — duplicate requests return the original resource, never a new one.
Hardened auth
JWT access + refresh tokens, TOTP 2FA, AES-256-GCM secret encryption, and append-only audit logs for every authenticated action.
A few of the core REST endpoints
Everything is documented in the OpenAPI schema. This is a quick peek at the surface.
- POST
/v1/invoices/Create an invoice - GET
/v1/invoices/List your invoices - GET
/v1/invoices/{link}/Retrieve an invoice - GET
/v1/shops/List your shops - GET
/v1/currencies/{type}/Supported assets (crypto/fiat)
Build something
Sign up, generate a sandbox API key, and start integrating in minutes.