← Back to blog
Developer Guide
5 min read
March 6, 2026
Userless Payment API: The Simplest Way to Accept Crypto in Your App
Dynopay Team
Developer Relations
The Problem with Traditional Crypto Payment APIs
Most crypto payment gateways require a multi-step integration:
1.
Create a customer account
2.
Store the customer token
3.
Use the token to create payments
4.
Handle token expiration and refresh
This means more code, more database storage, more things that can break. For many use cases (one-time purchases, donations, simple checkouts), this complexity is unnecessary.
Introducing Userless Payment
Dynopay's Userless Payment feature eliminates all that complexity. You can create a payment with a single API call using just your API key:
curl -X POST https://api.dynopay.com/api/user/createPayment \
-H "x-api-key: your_api_key" \
-H "Content-Type: application/json" \
-d '{"amount": 50, "redirect_uri": "https://yoursite.com/thanks"}'That's it. One call. No customer creation, no token management, no complexity.
How It Works Under the Hood
When you make an API call with only your x-api-key header (no Authorization/Bearer token), Dynopay:
1.
Validates your API key — confirms your merchant identity
2.
Auto-creates an internal customer — handled transparently, you never see it
3.
Processes the payment — returns a checkout URL or QR code immediately
The internal customer is reused across calls, so there's no performance overhead.
Two Flavors of Userless Payment
Hosted Checkout (createPayment)
Redirect customers to Dynopay's hosted checkout page:
const res = await axios.post('https://api.dynopay.com/api/user/createPayment', {
amount: 25.00,
redirect_uri: 'https://yoursite.com/success',
webhook_url: 'https://yoursite.com/webhooks/payment'
}, {
headers: { 'x-api-key': API_KEY }
});
// Redirect customer
window.location.href = res.data.data.redirect_url;Direct QR Code (cryptoPayment)
Generate a QR code and wallet address for your own UI:
const res = await axios.post('https://api.dynopay.com/api/user/cryptoPayment', {
amount: 25.00,
currency: 'BTC',
redirect_uri: 'https://yoursite.com/success'
}, {
headers: { 'x-api-key': API_KEY }
});
// Display in your UI
const { qr_code, address, amount, currency } = res.data.data;When to Use Userless vs Customer-Based
| Use Case | Recommended Flow |
|---|---|
| E-commerce checkout | ✅ Userless |
| Donation page | ✅ Userless |
| Invoice payments | ✅ Userless |
| SaaS subscriptions | ✅ Customer-based |
| Marketplace (per-seller wallets) | ✅ Customer-based |
| In-app wallet balance | ✅ Customer-based |
Backward Compatible
The best part? Userless payment is fully backward compatible. If you later decide you need per-customer tracking, just add the Authorization: Bearer header — the same endpoints work both ways.
Try It Now
Get your API key from the Dynopay dashboard and make your first userless payment in under 5 minutes.
Ready to accept crypto payments?
Get started in minutes with Dynopay's simple API integration.
Start accepting payments →