Public betaU.CASH Pay + AI is in public beta. Suggestions? Bugs? Open a Support ticket for bounties.
U.CASH Pay
Learn
Guides for getting paid: crypto, cards, and bank transfers, online or in person, settled non-custodial to your own wallets. The same material powers the Learn section inside the merchant console.
U.CASH Pay is a non-custodial payment platform: accept crypto, cards, and bank transfers, online or in person, with every payment settling directly to wallets you control.
What you get
Crypto: 51 assets across 32 networks - Bitcoin (and Lightning), Ethereum L2s, stablecoins on seven chains each, Monero, Solana, and more
Cards and bank: Stripe, PayPal, or 2Checkout with your own account, plus seven bank rails
Every surface: Hosted checkouts, embeds, invoices, a POS terminal, a teller counter, storefronts, and AI-agent payments
Non-custodial: Funds go straight to your addresses. The platform detects payments and notifies you - it never holds money
Developer-ready: REST API, signed webhooks, and official SDKs
How a payment works
The customer opens your checkout and picks a method
For crypto, the checkout shows your receiving address and the exact amount
The payment is detected on-chain and waits for the coin's confirmation count (base 3; more for a few chains, instant on Lightning)
On completion the customer gets a receipt, your webhook fires, and the order is ready to fulfill
Getting started
Your fastest path to a first payment:
Add a receiving address under Settings (Addresses)
Enter a wallet address you control for at least one coin (BTC, ETH, USDT...)
Add several addresses per coin - three or more turns on address cycling automatically
Save
Important
Use the right address format for each network, and test with a small amount first. ENS, Unstoppable Domains, and FIO names work too - they resolve to the on-chain address when you save.
Step 2: Create the payment
Use Create Payment Request for a one-off link (optionally emailed to the customer, with an expiry)
Or save a checkout for a reusable payment link or embedded button
Set title, amount, and currency - or leave the amount open for pay-what-you-want
Step 3: Take the payment
Open the link in a new tab and pick a coin
Send the exact amount shown and wait for confirmations
Watch the transaction complete in Payments, and your webhook fire if configured
Pro tip
Enable testnet for BTC or ETH in Settings to rehearse the entire flow without real money.
Addresses are where the money lands. Paste your own and you are done - that is the whole non-custodial setup.
Address pools
One address: Every checkout for that coin shows the same address
Three or more: Cycling turns on automatically - each checkout gets the least-recently-used address, with a 24-hour reuse cooldown by default
Stop reusing: A setting exists to never reuse an address once used
Generated addresses (optional)
If you want a fresh address per checkout without managing a pool, the platform resolves in this order: your own node (BTC xpub or ETH node), your custom explorer's generator, your manual pool, then a connected exchange (Gemini or Coinbase deposit addresses).
Per-coin confirmation presets
Each coin's card offers Instant, Fast, Standard, Secure, or a custom count
Defaults: 3 on every chain, except TRON 19, Monero 10, Dogecoin 20; Lightning settles instantly
An optional high-value rule raises the bar when a payment exceeds a USD amount you set
Critical
Never mix networks - a BTC send to an ETH address is lost
Addresses are format-validated per network on save, but the address must also be yours
When a payment completes, U.CASH Pay POSTs the full transaction as JSON to your server - one delivery per completed payment.
Setup
Build an HTTPS endpoint that accepts POST and returns HTTP 200 quickly
Go to Settings, Webhooks section - or set it per store under Account, Stores
Enter the URL (public HTTPS only - internal addresses are rejected)
Set a secret (masked; you can rotate it any time)
Verifying the signature
Each delivery carries X-Webhook-Event-Id (unique per delivery) and X-Webhook-Signature: t=<unix>,v1=<hmac>. Verify HMAC-SHA256 over "timestamp.rawbody":
Make the checkout yours: logo, colors, business profile, and - with a custom domain - your own URL.
What customers see
Logo: Your logo on the checkout and payment pages
Colors: Accent color for buttons and highlights, following light/dark themes
Titles and text: Checkout title, description, and the texts shown during and after payment
Business profile: Name, address, and contact details - printed on customer receipts and PDF invoices
Setup
Open Settings and find the Branding / Design section
Upload your logo (SVG or PNG renders crispest)
Set colors and business profile fields
Open any checkout link to preview
Going further
A custom domain serves checkouts on your own URL with automatic SSL, and white-label instances brand the entire platform. See the documentation for both.
Platform costs run on a prepaid credit balance, and your team runs on roles.
The credit balance
Pays the platform fee on every settled payment (0.50% down to 0.20% by volume, less with UCASH)
Also pays: lander slot packs, custom domains ($0.50/month), extra staff seats, agent relayer gas, AI usage
Top up from Account, Credit Balance: presets or custom, by card or crypto (from $5), or with UCASH (from 1)
It can never overdraw - and customer payments always complete regardless
Funding ladder
Funding your account unlocks console features step by step - more branding control, more advanced settings - as lifetime funding crosses each tier.
Staff and roles
Invite staff under Settings, Staff - each with a role: clerk, teller, lead, accountant, auditor, designer, supervisor, manager, director, officer, admin, or a custom set
Every console action is permission-checked server-side; sensitive areas (wallets, processors) need their own permissions
The teller role is POS-only; staff actions land in the audit log