Stablecoins

What SorenPay does with stablecoins today, and what it doesn't do yet.

In sandbox, and kept separate

Everything on this page that works, works in sandbox with test money. Stablecoins are kept apart from your USD account and your currency balances, and are never added to your bank balance. Crypto isn't a bank deposit and isn't FDIC insured.

Where things stand

WhatStatus
USDC: buy with dollars from your USD account, sell back to itIn sandbox
USDC: send to a wallet you've proven you ownIn sandbox, under $3,000 per withdrawal
Take crypto payments at checkout, in USDC by defaultIn sandbox
Link your own wallet to see its balanceIn sandbox
USDT balances: buy, hold and send USDTComing soon
A Visa card that spends a stablecoin balanceComing soon

Kept apart from your bank balance

  • USDC is its own balance. It isn't part of your USD account, your cards don't spend it, and no total adds the two together.
  • Moving between them is a conversion. Buying USDC sends dollars from your USD account; selling USDC pays dollars back to it. Each one is an order you confirm, with its own quote.
  • Held with our stablecoin partner. Your USDC is held with our stablecoin partner, in an account SorenPay uses for all its customers, and SorenPay's ledger records your share. Balances are checked against the partner before you can spend them: while that check runs, the balance shows as checking or paused.

USDC

Turn dollars into USDC and back, and send USDC to a wallet you own. In the dashboard, use the Convert card on Home. With the API:

  1. Link once: POST /api/ramp/account.
  2. Quote: POST /api/ramp/quotes with direction (onramp, offramp or withdraw), amount ("250.00") and, for withdraw, the walletId of a wallet you've proven. Quotes are at par (1 USDC for 1 USD) and show the most the fee can be. A quote is single-use.
  3. Order: POST /api/ramp/orders with {"quoteId": "…"} to buy or sell.
  4. Withdraw: POST /api/ramp/withdrawals with that withdraw quote's quoteId, to a wallet you've proven in the dashboard (by signing a message from it) and that we've approved.

Writes need write:ramps on the key itself and answer 403 sandbox_only outside sandbox. Withdrawals of $3,000 or more answer 422 travel_rule_unsupported. Every field is in the ramp API reference.

Checkout

A hosted checkout page for your site: you create a session, your customer picks a coin and network and pays to the address shown. Sessions can accept USDC, USDT, ETH and BTC as payment coins (USDC by default).

In sandbox you complete a payment with a simulated one. A payment received is recorded in your ledger as a stablecoin credit that can't be spent or withdrawn yet. See Checkout.

Your own wallets

On the dashboard's Crypto page, link a wallet you own to see its balance. SorenPay can only read it: your money stays in your wallet, and SorenPay can't move it.

What's coming

  • USDT: buying, holding and sending USDT. (Checkout can already be set to accept USDT as a payment coin, in sandbox.)
  • A Visa card that spends a stablecoin balance. Today cards spend from your USD account only.

These are Coming soon. We don't give dates.