Treasury Goes GA, Plus Reliable Payouts & Checkout Status

Earn yield on idle balances from the Finances dashboard — now live for all merchants — alongside more reliable payouts, available-balance protection, and a persistent background-work indicator.
Treasury Is Now Live for Every Merchant
Treasury is out of early access — every merchant can now earn yield on idle balances directly from the Finances dashboard. The Treasury balance card, Send to Treasury / Send to Balance actions, and the cooldown list are no longer gated to a small set of organizations.
Click the Earn rewards button in the Balance card to see the current rewards rate and immediately deposit your idle balance.
Live Operation Tracking Across the Dashboard
Every Treasury deposit and withdrawal (and wallet payouts) now reports its progress in real time, so you're never left wondering whether a submission is still working:
- A persistent background-work indicator sits in the bottom-right corner and shows in-flight deposits and withdrawals at a glance. Click it to see what's running and jump straight into any transfer's details. It fades out gently after a transfer finishes, with a green check on success and a red X on failure — no more identical-looking end states.
- Completion alerts follow you across the app. After you submit a deposit or withdrawal, a toast fires when it completes or fails no matter which page you're on. Watched transfers persist across page reloads, so slow ones are never lost.
- Balance, Treasury, and Cooldown cards update instantly the moment a transfer is confirmed — no multi-second wait while the dashboard re-fetches. Confirmations also land 1–3 seconds sooner than before.
- Cooldowns read as scheduled, not stuck. A withdrawal in its cooldown window now shows a clock and a relative countdown ("Available in ~23h") instead of a perpetual spinner, and a transfer that's genuinely taking too long turns amber with a Check status link.
See Your Real Available Balance Before You Send
The Send to Treasury and Send to Balance dialogs now show your available balance — your total minus anything already committed to a pending transfer — so the Max button reflects what you can actually spend right now. When funds are reserved by an in-flight transfer, a clear notice tells you how much is held and what's left, and the Balance and Treasury cards show an "X of Y available" line. Attempts to send the same dollars twice are now blocked outright instead of silently accepted.
More Reliable Payouts
Payouts got a reliability and UX pass:
- The New Payout dialog is now always available — including bank and card payouts, which don't require a settlement wallet. The prompt to add a settlement wallet now appears only inside the stablecoin payout step, and only when you don't already have one.
- A payout request no longer fails when your available funds need to be consolidated first — the system handles the conversion behind the scenes so the payout goes through.
- Payouts now show reserved funds and block submission when your available balance is zero, matching the Send to Treasury and Send to Balance dialogs, and a duplicate-submission guard prevents the same payout from being sent twice.
Clearer Checkout Session Status
Checkout sessions now expose a typed status (pending, processing, completed, failed,
expired, completed_externally) on API responses and checkout.session.* webhook payloads — a
precise replacement for the older active boolean (which is preserved but now deprecated). Sessions
are reliably marked completed after a payment, and a stale browser tab can no longer re-submit
against a finished session.
Stale sessions are also automatically marked expired once their window passes, and merchants
subscribed to checkout.session.expired receive a webhook within five minutes — previously, an
abandoned session sat at pending indefinitely. The published checkout and webhook docs have been
corrected to match the real response shape end-to-end.
Account Settings & a Personalized Home
Custom websites & apps got several updates!
Account settings now has a proper sidebar (desktop) / picker (mobile) layout, and the Profile page is a stack of per-section cards — Email, name, date of birth, postal code — each with its own Save button, so editing one field no longer overwrites the others.
The merchant home page now adapts to who's viewing it: guests see a branded login form, signed-in customers with a stored value account see their balance and top-up options, and customers who haven't joined yet see an onboarding prompt.
Minor Improvements
- Confirm before disabling an add-on. Disabling an add-on now opens a confirmation dialog that spells out exactly what changes (e.g. Loyalty programs will be hidden; gift cards stay redeemable when re-enabled).
- Faster Treasury & Payouts pages. Yield rates now load from a short-lived cache, trimming page load time.
- Consistent metric cards. Dashboard metric cards now share the same footer treatment, so sibling cards on a page no longer look mismatched.