easyway
Create account

How to avoid crypto volatility when you accept payments

The usual worry about taking crypto is simple: you sell something for $100, and by the time you look at your balance it is worth $93. That risk is real, but most of it is a choice. This post explains where price risk enters a crypto payment, and the four settings that keep it out of your books when you use easyway.

Where the price risk comes from

There are three moments when the dollar value of a crypto payment can move. First, between the customer opening the checkout and actually sending the coins. Second, while the transfer waits for confirmations. Third — the longest — while the coins sit in your balance before you withdraw or sell them. A gateway can only remove the first two for you. The third depends on which coin you were paid in.

1. The quote is locked when the customer picks a coin

You price an invoice in USD. When the customer chooses a coin on the checkout page, easyway converts the price into an exact crypto amount at the current rate and stores that rate on the invoice. Prices for non-stable coins come from up to four public sources (CoinGecko, Binance, KuCoin and Coinbase), and the gateway refuses to quote at all if no fresh price is available rather than use a stale one. From then on the invoice waits for that exact amount: if the market moves while the customer is sending, the amount due does not change, and neither does the payment's status. The amount is rounded up, so rounding never works against you.

2. Accept only stablecoins

Stablecoins are tokens designed to stay at one US dollar. easyway prices them at exactly 1 USD, so a $100 invoice asks for 100 USDT, and your balance shows 100 USDT afterwards. If you never want to hold a volatile coin, restrict the invoice to stablecoins with allowed_assets, for example "allowed_assets": ["USDT_TRC20", "USDT_BEP20"]. These are the stablecoins and networks currently accepted:

StablecoinNetworksAsset ids
USDT (Tether)TRON, BNB Smart Chain, TON, Ethereum, Solana, Polygon, AvalancheUSDT_TRC20, USDT_BEP20, USDT_TON, USDT_ERC20, USDT_SOL, USDT_POLYGON, USDT_AVAX
USDC (USD Coin)Ethereum, BNB Smart Chain, Solana, Polygon, AvalancheUSDC_ERC20, USDC_BEP20, USDC_SOL, USDC_POLYGON, USDC_AVAX
DAI (Dai)EthereumDAI_ERC20
FDUSD (First Digital USD)BNB Smart ChainFDUSD_BEP20
PYUSD (PayPal USD)EthereumPYUSD_ERC20

Two honest caveats. A stablecoin is only as stable as its issuer: the gateway treats it as $1, so if a token ever lost its peg, that loss would be yours, not the gateway's. And each network is a separate balance — USDT on TRON is withdrawn on TRON — so pick the networks your customers actually use; the pricing page lists the withdrawal fee of each.

3. Or price the invoice in the coin itself

If you keep your books in a coin — say you sell to customers who think in USDT, or you hold ETH on purpose — set currency to that coin's asset id instead of "USD". The invoice then asks for that exact amount of that coin, no rate is involved, and only that coin is accepted. Your price risk is then exactly the risk you chose to hold.

4. Keep the payment window short

An invoice expires 60 minutes after it is created by default; you can set lifetime per invoice from 5 minutes to 24 hours, or change the default in your account settings. With a volatile coin the window matters: a payment that arrives after expiry is still watched for 7 more days and credited against the same locked crypto amount, so a long window or a late payer means the coins can be worth more or less than the order by the time they arrive. Short windows are fine for checkouts; long ones suit invoices sent by e-mail. For stablecoins the window hardly matters.

Customers often send slightly less than asked because an exchange deducts its fee. A 1 % underpayment tolerance — adjustable from 0 to 5 % — still counts that as paid; anything further short is marked underpaid and the customer is asked for the rest. The underpaid and late payments guide covers every case.

5. Withdraw on a schedule

easyway credits your balance in the coin the customer paid with, minus a 0.5% fee. There is no automatic conversion: if you accepted BTC, you hold BTC until you withdraw it to one of your whitelisted wallets (from the dashboard or the payouts API) and sell it wherever you choose. If you accept volatile coins, decide in advance how often you withdraw — daily or per order — instead of letting balances drift. Until you withdraw, easyway holds the balance for you.

In short

Lock the quote (automatic), accept stablecoins only if you do not want any price exposure, keep the payment window as short as your sales flow allows, and withdraw volatile coins on a fixed schedule. To see the whole flow first, read how crypto payment gateways work, or create a test key and try it in the sandbox.

Create a merchant accountRead the API docs
Avoid crypto volatility with stablecoin payments | easyway