echo '' . "\n";
MaintenanceU.CASH will be under scheduled maintenance overnight, 12:01-1:15 AM ET (04:01-05:15 UTC). Payments, account access and related services may be temporarily unavailable during this window.

U.CASH

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.

The guides

Overview

U.CASH 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: 56 assets across 33 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

  1. The customer opens your checkout and picks a method
  2. For crypto, the checkout shows your receiving address and the exact amount
  3. The payment is detected on-chain and waits for the coin's confirmation count (base 3; more for a few chains, instant on Lightning)
  4. 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:

  1. Add a receiving address under Settings (Addresses)
  2. Create a payment request or checkout
  3. Share the link - or embed a button on your site

Full reference: Documentation home →

Your First Payment

Step 1: Add a receiving address

  1. Open Settings and find the Addresses area
  2. Enter a wallet address you control for at least one coin (BTC, ETH, USDT...)
  3. Add several addresses per coin - three or more turns on address cycling automatically
  4. 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

  1. Use Create Payment Request for a one-off link (optionally emailed to the customer, with an expiry)
  2. Or save a checkout for a reusable payment link or embedded button
  3. Set title, amount, and currency - or leave the amount open for pay-what-you-want

Step 3: Take the payment

  1. Open the link in a new tab and pick a coin
  2. Send the exact amount shown and wait for confirmations
  3. 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.

Full reference: Address Generation →

Dashboard

The dashboard is your home base: today's volume, recent payments, and quick access to every area.

Navigation

Transaction statuses

Quick actions

Full reference: Console Tour →

Addresses

Addresses are where the money lands. Paste your own and you are done - that is the whole non-custodial setup.

Address pools

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

Critical

Full reference: Address Generation → · Supported Coins →

Currency & Fees

Two fees exist and they are different: the platform fee (paid by you, from your credit balance) and your optional checkout fee (paid by the customer).

Platform fee (yours)

Checkout fee (optional, customer-paid)

Base currency

Tip

Confirmation rules live on each coin's address card (see the Addresses guide), not in a global fee screen.

Full reference: Credits & Top-up → · Supported Coins →

Webhooks

When a payment completes, U.CASH POSTs the full transaction as JSON to your server - one delivery per completed payment.

Setup

  1. Build an HTTPS endpoint that accepts POST and returns HTTP 200 quickly
  2. Go to Settings, Webhooks section - or set it per store under Account, Stores
  3. Enter the URL (public HTTPS only - internal addresses are rejected)
  4. 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":

$parts = explode(',', $_SERVER['HTTP_X_WEBHOOK_SIGNATURE']);
$ts = substr($parts[0], 2); $sig = substr($parts[1], 3);
$expected = hash_hmac('sha256', $ts . '.' . $rawBody, $secret);
if (!hash_equals($expected, $sig)) { http_response_code(403); exit; }

Delivery behavior

Full reference: Webhooks → · REST API Reference →

Branding

Make the checkout yours: logo, colors, business profile, and - with a custom domain - your own URL.

What customers see

Setup

  1. Open Settings and find the Branding / Design section
  2. Upload your logo (SVG or PNG renders crispest)
  3. Set colors and business profile fields
  4. 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.

Full reference: Branding →

Checkouts

A checkout is a reusable payment page: a link you share, a button you embed, or the target of an API call.

Creating one

  1. Open Checkouts and create one
  2. Set title, description, amount, and currency - or leave the amount open (pay what you want)
  3. Choose fiat-denominated or a fixed coin amount
  4. Save and copy the link - clean URLs like /checkout/your-slug

Embedding a button

One script tag, no plugin, works on any site:

<script src="https://pay.u.cash/embed.js"
  data-cloud="YOUR_STORE_CLOUD_TOKEN"
  data-amount="5.00"
  data-currency="USD"
  data-title="My Product"></script>

The Cloud Token is publishable (it identifies the store); your API key is a server secret - never embed it.

Power features

Full reference: Embed, API & SDKs →

Invoicing

Two tools: payment requests you send to a customer, and tax invoices generated from completed payments.

Payment requests

  1. Create one from Payments (Create Payment Request)
  2. Set amount, title, note - and an expiry from 15 minutes to 30 days
  3. Email it directly (Pay Now button in the email) or copy the link
  4. Track Unopened, Opened, then Paid in your payment list

PDF tax invoices

Tip

Leave the amount open on a request for deposits or pay-what-you-want - open amounts never trigger underpayment rules or tax lines.

Full reference: Invoicing →

eSend

Send funds to any email address. The recipient gets an email with a claim link and chooses where to receive it - the same asset, or another via exchange (BTC, ETH, LTC, DOGE, SOL, BCH and more). Nothing leaves your wallet until they claim, and every release is signed by your own wallet - your U App, or one you connect (MetaMask, Trust, Coinbase, and others) - never by the platform.

Your first eSend

  1. Open the eSends area and fill in the recipient email, amount, and asset (USDC, USDT, ETH, UCASH, or cbBTC across Base, Polygon, Arbitrum, Optimism, Avalanche, Ink, and BNB Chain)
  2. Optionally set an expiry (1 hour to 30 days), a security code, and a memo
  3. Create the transfer - the recipient is emailed a claim link immediately; nothing has left your wallet yet
  4. When they claim, you complete the send: approve the release in your U App or with a connected wallet in the console (dashboard-created transfers need one approval per release)
  5. Their page flips to delivered - they claimed from any browser, no account, no gas

Fees

  • 1% of the send up to $25, then a flat $0.25 - the panel shows your live schedule before you send
  • Recipients always receive the full amount; fees are charged to your account only when a transfer completes
  • Verified U Accounts get 5 free sends every month; expired, cancelled, and declined sends cost nothing

If something goes wrong

  • Wrong email? Reissue to a new address - the old link closes instantly, because nothing was ever sent
  • Sent by mistake? Cancel from the panel - a plain status flip, no signature needed
  • Recipient does not want it? They can decline from the claim page
  • Nobody claims? The transfer simply expires - no funds ever moved

Security codes

Attach a 4 or 8 digit PIN or a passphrase when you create the transfer. The claim email then hides the details, and the claim page asks for the code first. Five wrong attempts trigger a 15-minute cooldown; three lock the transfer until you unlock it from the panel.

Full reference: eSend →

In Person & Storefronts

Beyond the web checkout: a counter terminal, a human teller, hosted storefronts, and single-product landers.

POS (pos.u.cash)

Teller counter (teller.u.cash)

Shop and Landers

Full reference: Point of Sale → · Teller Map → · Shop Builder →

Credits & Team

Platform costs run on a prepaid credit balance, and your team runs on roles.

The credit balance

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

Full reference: Credits & Top-up →

Security

The platform is non-custodial and hardened; here is your part of the bargain.

Your account

Your integration

Never

Full reference: Security → · Two-Factor Login →

API

Everything in the console is available as a REST call: HTTPS POST, form-encoded, dispatched by a function parameter.

Authentication

Creating a payment

curl https://pay.u.cash/api.php \
  -H "X-Api-Key: your_api_key" \
  -d function=create-transaction \
  -d amount=25.00

Responses are always {"success":true,"response":...} or {"success":false,"error_code":...} - branch on error codes, not messages.

Common functions

SDKs

Official plugins and SDKs for WooCommerce, Shopify, React, Python, and 120+ more: pay.u.cash/plugins. Full reference: pay.u.cash/docs.

Full reference: Embed, API & SDKs → · REST API Reference →

Troubleshooting

The issues that come up most, and the fix.

No payment methods on a checkout

Payment sent but still pending

Webhook not arriving

Getting help

Full reference: Troubleshooting →