Position Sizing for Crypto Futures
At a glance
- Same formula as forex: units = (budget − commission) ÷ (effective stop × quote-to-account rate). What changes is the specification you feed it: contract size, unit step, fees.
- Worked BTCUSDT example: 10,000 USD account, 1% risk, 60,000 entry, 59,400 stop, 10.00 spread, 12.00 commission → 0.144 BTC, worst case 99.84 USD at the stop.
- The notional is 8,640 USD — 86.4% of the account behind a 1% risk. That gap is the whole point of leverage: 10x posts 864 of margin, 20x posts 432, and the loss at the stop stays 99.84.
- Get the contract size wrong and every downstream number is wrong by the same factor. Some venues quote in coin terms, some in USD or USDT terms.
- Perpetuals step in fractions — 0.001 or 0.0001 of a coin is common, not 1 — and maker/taker fees differ by tier, so enter your own numbers.
- For a USDT pair on a USD account the quote-to-account rate is usually 1. The position size calculator lets you set all three fields.
Same formula, different inputs
The calculation that sizes a forex trade also sizes a crypto futures trade. You are still solving for one number: how many units can I hold so that getting stopped out costs me the amount I decided to risk.
What changes in crypto is not the formula but the specification you feed it. Contract sizes, unit steps and fee schedules differ between venues and between products on the same venue, and they are not standardised the way a forex lot is. That makes the three fields below worth checking before you trust any size a tool prints.
- Contract size — how much of the underlying one unit of the order represents. Some products are quoted in coin terms, some in USD or USDT terms. Get this wrong and every downstream number is wrong by the same factor.
- Unit step — the smallest increment the venue accepts. Crypto perpetuals commonly allow fractions of a coin, so the step is often 0.001 or 0.0001 rather than 1.
- Fee assumption — maker and taker fees differ, and they differ by tier. Enter your own number rather than a default, and treat it as an estimate.
The calculator on the home page lets you set all three. For a USDT pair with a USD account, the quote-to-account rate is usually 1, because USDT is treated as one US dollar for sizing purposes.
Worked example: a BTCUSDT perpetual
Assume a 10,000 USD account, 1% risk, a long entry at 60,000 with a stop at 59,400, a 10 USD spread, a 12 USD round-turn commission, and a unit step of 0.001 BTC. Contract size is 1, meaning one unit equals one coin.
| Input | Value |
|---|---|
| Account balance | 10,000.00 USD |
| Risk per trade | 1% = 100.00 USD |
| Entry price | 60,000.00 |
| Stop-loss price | 59,400.00 |
| Spread | 10.00 |
| Commission (round turn) | 12.00 USD |
| Quote-to-account rate | 1.00 (USDT treated as USD) |
| Unit step | 0.001 |
Step by step
- Risk budget: 10,000.00 x 1% = 100.00 USD.
- Stop distance: 60,000.00 - 59,400.00 = 600.00, which is 1% of the entry price.
- Effective stop distance: 600.00 + 10.00 = 610.00.
- Budget left after commission: 100.00 - 12.00 = 88.00 USD.
- Units: 88.00 / 610.00 = 0.144262 BTC.
- Round down to the unit step: 0.144262 / 0.001 = 144.26, floor to 144, so 0.144 BTC.
- Check the worst case: 0.144 x 610.00 = 87.84, plus 12.00 commission = 99.84 USD. Inside the 100.00 budget.
Notional exposure is 0.144 x 60,000.00 = 8,640 USD, which is 86.4% of the account even though the risk is 1%. That gap is normal and it is the whole point of leverage. At 10x leverage the margin you post is 8,640 / 10 = 864 USD. Change the leverage to 20x and the margin halves to 432 USD; the size stays 0.144 BTC and the loss at the stop stays 99.84 USD. Leverage moves the margin, not the risk.
Spot crypto: the same question, with leverage set to 1
People searching for a crypto position size calculator are usually asking one thing: how many coins should I buy. That question does not change between a perpetual contract and spot. What changes is a single input. On spot you are not borrowing, so leverage is 1, and the number the formula returns is both your position size and the cash you actually have to pay.
Run the same calculation with the same three steps and set leverage to 1:
- Same risk budget — 10,000 USD account, 1% risk, so 100.00 USD is still the most you are willing to lose if the stop is hit.
- Same stop distance — entry 60,000.00, stop 59,400.00, spread 10.00, so an effective stop of 610.00 per coin.
- Different cost input — spot venues charge a percentage of the notional rather than a fixed contract fee. At 0.10% taker on each side, the round-turn cost per coin is 0.001 x 60,000.00 + 0.001 x 59,400.00 = 119.40 USD, so the true loss per coin if stopped is 610.00 + 119.40 = 729.40.
- Same division — 100.00 / 729.40 = 0.13710 BTC, rounded down to the unit step of 0.001 gives 0.137 BTC.
- Same check — 0.137 x 729.40 = 99.93 USD, inside the 100.00 budget.
Notional is 0.137 x 60,000.00 = 8,220 USD. With leverage at 1 there is no margin to divide: you pay the full 8,220 USD out of the account, which is 82.2% of your balance, and the most you can lose if the stop is hit is still about 100 USD. Compare that with the futures example above, where the same 1% risk produced 0.144 BTC and 8,640 USD of exposure for 864 USD of margin at 10x. Higher leverage did not let you hold more coin per unit of risk; it only changed how much cash was tied up as margin.
Two futures-specific lines drop out on spot. There is no funding payment, because you are not holding a perpetual, and there is no liquidation price, because there is no borrowed margin for the venue to reclaim. Your stop is the only thing that closes the trade. The pieces that stay are the ones that actually drive the number: the stop distance in price terms, the fee schedule, and the unit step.
One spot-specific check replaces the liquidation check: can the account actually pay for the size. If 0.137 BTC costs 8,220 USD and your free cash is 5,000 USD, the trade is not sizeable at that stop, and the fix is a tighter stop or a smaller risk percentage, not a smaller-looking number typed in by hand. That is the spot version of the rounding-to-zero signal described below.
Why crypto sizes come out smaller than newcomers expect
Crypto markets move further in percentage terms than most currency pairs, so a sensible stop is usually wider in percentage terms. Wider stop distance mechanically produces a smaller position, because stop distance sits in the denominator. A 1% move away from entry on BTC at a price of 60,000 is 600 USD of movement per coin. A 1% move away from entry on EUR/USD at 1.1000 is 0.0110 USD of movement per unit. Same risk budget, wildly different price distance per unit, so wildly different unit count. That is the formula behaving correctly, not a bug.
The practical consequence is that small accounts run into the unit step quickly. If your budget after commission divided by the effective stop distance comes out below one unit step, the correctly rounded size is zero, which is the calculator telling you the trade cannot be sized properly on that account, not telling you to round up.
Funding, liquidation and where the formula stops
Perpetual contracts carry a funding payment between longs and shorts at set intervals. Funding is a holding cost, not an entry cost, so it does not belong in the stop-distance calculation. What it does do is slowly move your realised outcome away from the planned one the longer a position stays open. If you hold for days, account for it separately.
Liquidation is the other thing the sizing formula does not model. Your position is closed by the venue when remaining margin falls to the maintenance level, and that level depends on the venue, the leverage and the contract. A stop-loss order is your own instruction; liquidation is theirs. Placing your stop at a price that would only be reached after liquidation makes the stop useless, so check that the stop you sized from sits comfortably before the liquidation price your platform displays.
Neither of these changes the arithmetic above. They are reasons to sanity-check the result, not reasons to adjust the formula.
What leverage does to the size, and to the stop that fits
Leverage does not appear in the sizing formula. Risk budget divided by stop distance gives the size, and multiplying the leverage afterwards changes only the margin the ticket holds. What leverage really does is set the widest stop the position can survive, and that cap feeds back into the size — quietly, and in the direction nobody expects.
The liquidation price of an isolated linear contract is where the remaining margin equals the maintenance requirement:
Run it for a BTCUSDT long at 60,000.00 with a 0.5% maintenance rate, then size a 1% risk on a 10,000.00 account using the widest stop that still gets filled before liquidation. The step on this contract is 0.001 BTC, so every size rounds down to that.
| Leverage | Liquidation price | Widest usable stop | Size at 1% risk | Notional | Margin held |
|---|---|---|---|---|---|
| 5x | 48,241.21 | 11,758.79 | 0.008 BTC | 480.00 | 96.00 |
| 10x | 54,271.36 | 5,728.64 | 0.017 BTC | 1,020.00 | 102.00 |
| 20x | 57,286.43 | 2,713.57 | 0.036 BTC | 2,160.00 | 108.00 |
| 50x | 59,095.48 | 904.52 | 0.110 BTC | 6,600.00 | 132.00 |
Every row risks the same 100.00, and every row is a completely different trade. At 5x the position is small and can sit through a 19.60% move against it. At 50x the position is 6,600.00 of notional and dies inside a 1.51% move — which on BTC is minutes of ordinary noise. The sizing formula never told you this, because the formula only knows the stop you typed; the leverage decided whether that stop was reachable.
The check that catches it takes ten seconds: read the liquidation price your venue displays next to the order ticket, and confirm it is further away than the stop you sized from. If it is not, the stop is decoration and the real risk is the whole margin on that position.
Checklist before you place the order
- Contract size and unit step copied from the venue's own specification for that exact product.
- Fee estimate in your own tier, entered as a round-turn amount.
- Stop distance taken from the chart in price terms, plus the spread.
- Size rounded down, and the worst case recomputed from the rounded size.
- Liquidation price checked against your stop.
- Leverage set last, and only to control margin.
Questions traders ask
How do I size a crypto futures position?The same division used everywhere else: budget after commission, divided by the stop distance plus spread. On the BTCUSDT example above it is (100.00 − 12.00) / 610.00 = 0.144262 BTC, rounded down to the unit step of 0.001 for a tradable 0.144 BTC. Check the worst case afterwards — 87.84 plus 12.00 = 99.84, inside the 100.00 budget.
Does changing leverage change my position size?No. Leverage only changes the margin you post. The same example at 10x ties up 864 USD of margin and at 20x ties up 432 USD, while the size stays 0.144 BTC and the loss at the stop stays 99.84 USD. Size comes from risk and stop distance; leverage is set last, purely to control cash.
Then why does higher leverage produce a bigger size in the table above?Because that table changes the stop as well as the leverage. Every row uses the widest stop that still survives liquidation, and higher leverage makes that stop narrower — 11,758.79 at 5x down to 904.52 at 50x. A narrower stop divides into the same 100.00 budget more times, so the size grows from 0.008 BTC to 0.110 BTC and the notional from 480.00 to 6,600.00. Hold the stop fixed and leverage changes nothing but the margin, exactly as the answer above says.
How do I check that my stop is before the liquidation price?Read the liquidation price your venue prints on the order ticket and compare it with the stop you sized from — the liquidation price must be the further of the two. If your stop sits beyond it, the stop will never fill: the position is closed at the liquidation price first and the loss is the whole isolated margin. At 50x on a 60,000.00 entry the liquidation price is only 1.51% away, so most stops people would naturally place are already too wide.
How is spot crypto sizing different?Almost not at all — it is the same question with leverage set to 1. What changes is the cost: spot venues charge a percentage of notional rather than a contract fee, so at 0.10% taker the true loss per coin is 729.40 instead of 610.00, giving 0.137 BTC. Instead of checking a liquidation price, you check whether the account can pay for 8,220 USD of coin.
Why does my crypto size come out so much smaller than my forex size?Because crypto moves further in percentage terms, so a sensible stop is wider in price. One percent away from BTC at 60,000 is 600 USD of movement per coin; one percent away from EUR/USD at 1.1000 is 0.0110 USD per unit. Same budget, far bigger price distance per unit, far fewer units. The formula is behaving correctly.
Do funding and liquidation belong in the calculation?Neither belongs in the arithmetic. Funding is a holding cost rather than an entry cost, so it does not touch the stop distance, though it moves your realised outcome the longer you hold. Liquidation is not modelled at all — but check that your stop sits comfortably before the venue's liquidation price, or the stop can never be reached.
Related guides
- How to calculate position size in forex
- How much should you risk per trade?
- Futures position size calculator — the same count in whole index contracts, where the step is one contract rather than a fraction.
- Crypto position size calculator — the same budget-and-stop arithmetic for spot and USDT pairs, without the perpetual-specific margin, funding and liquidation steps above.
- Forex, stock and crypto position size calculator