Developer Guide

Userless Payment API: The Simplest Way to Accept Crypto in Your App

Discover how Noteller's userless payment feature lets you accept crypto with a single API call — no customer accounts, no tokens, no complexity.

N

Noteller Team

Mar 6, 2026 · 5 min read

Share

Userless Payment API: The Simplest Way to Accept Crypto in Your App

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

Noteller'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://noteller.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), Noteller:

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 Noteller's hosted checkout page:

const res = await axios.post('https://noteller.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://noteller.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 CaseRecommended 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 Noteller dashboard and make your first userless payment in under 5 minutes.

Read the full API docs →

Ready to accept crypto payments?

Get started in minutes with Noteller's simple API integration.

Free to start
First payment fee-free
Non-custodial
No monthly fees