Scorefio · crypto execution costs · upload a trade listbeta

Your backtest assumed
zero cost. Here is the bill.

Upload the trade list your backtest produced. We re-simulate every fill against measured costs for the venue you would actually trade on, and tell you the cost level your strategy stops working at — and which venue, order type or timeframe clears that bar.

Who this is for: people trading crypto perpetuals or spot on Binance, Bybit, OKX or Kraken, who have a backtest and are about to put money behind it. Costing forex, index futures and equities needs cost data we do not have yet, so we do not pretend to serve them.

01

How this works

01 Your trade list Whatever your platform exported. It assumed zero cost. 02 Check it is real Every fill must sit inside the price range its bar actually traded. IF IT CANNOT BE PLACED No report. We say why, and how to fix it. 03 Cost it for real Fees venue schedule Funding actual interval Impact at your size Drift measured on 1m EACH LINE NAMES ITS SOURCE 04 What you get The real net, with a range The cost level it survives at The lever that clears it Not a grade. A target, and the shortest way to reach it. WHAT YOU BRING WHAT WE MEASURE FOR YOU

We never touch your account. You export a file, we read it, and nothing is stored against you — there is no account to store it in.

02

Upload

TradingView Strategy Tester export, or any CSV with symbol, direction, entry_time, entry_price, exit_time, exit_price, quantity.

No export on your plan? Exporting the trade list needs a paid TradingView subscription — most people do not have one. Open Strategy Tester → List of Trades, select the table with your mouse, copy it, and paste it straight in below. We read that just as well as a file.

What you would actually have traded

Every field is optional. Left blank we assume the worst tier and a taker fill, because nobody churns because their real result was better than we said.

Re-simulating every fill…
03

What you get back

Not a grade. A target, and the levers that reach it. Every report ends on the nearest thing that works — including the reports where the news is bad. Read one first if you would rather see a finished report than make one.

The number
Net per trade
after the three costs that decide it — exchange fees, funding, and the drift between your signal and your fill — plus impact at your size where we have measured it. A confidence band, not a point.
The target
Breakeven cost
the cost level your edge survives at, per round trip and per side.
The fixes
Levers
maker vs taker, venue at your size, timeframe, funding windows — each with what it buys in bps.
The honesty
Refusals
where we have no basis for a number we say so, rather than substituting a default.
Why costs are not the villain you expect

On BTC and ETH at ordinary size, impact is under one basis point and signal-to-fill drift measures to roughly zero — fees and funding are the whole story, and the fix is usually an order type. On mid-caps it inverts: 10–60 bps a side at $25k, and 2–6× between venues in the same minute. Which of those two situations you are in is the first thing the report tells you.

That is also why a missing impact figure usually does not sink a report. On a major at ordinary size we check the verdict against a pessimistic ceiling for impact as well as against zero; where it holds at both, the report says so and leaves the line honestly marked Unavailable rather than filling it in.

04

What we will not do

  • Guess. A cost line with no basis is reported as Unavailable, not filled with a plausible default or a nearby symbol's spread.
  • Round a range into a point. Sixty trades cannot prove a 2 bps edge. When the band touches zero the report says the result is unproven either way.
  • Touch your account. We read a file you export. No exchange keys, no login automation, no scraping.
05

The words we use

Trading writing is full of shorthand that assumes you already know it. Here is all of ours, in one place.

bps
A basis point: one hundredth of one percent. 100 bps = 1%. 10 bps = 0.1%. On a $10,000 trade, 1 bps is $1.
round trip
One complete trade — getting in and getting out. Most costs are charged on both sides, so a 5 bps fee is 10 bps per round trip.
gross / net
Gross is what the strategy made before any cost. Net is what is left after them. Your backtest almost certainly reported gross and called it net.
taker / maker
A taker order crosses the spread and fills immediately, at the higher fee. A maker order rests in the book and waits, at the lower fee. A limit order that crosses is still charged as a taker.
funding
On a perpetual future, a payment between longs and shorts at fixed intervals. Holding a position through one means paying or receiving it. Not every symbol settles every 8 hours — about half do not.
impact / spread at size
What it costs to actually fill your order size by eating through the order book — as opposed to the quoted spread, which only applies to a tiny order.
signal-to-fill drift
How far the price moved between your signal firing and your order actually filling. A backtest assumes these are the same moment. They are not.
breakeven
The cost level at which the strategy's edge disappears. Above it you lose; below it you keep something. This is the number the report is really for.
band
The range the true figure plausibly sits in, given how few trades there are. A band that crosses zero means the result could go either way and the sample cannot tell you which.
containment
Our check that each fill sits inside the price range its bar actually traded. A fill outside it means the wrong symbol, venue, or timezone — or invented data.
in-sample
A rule chosen by looking at the same data it is then scored on. It always looks good in hindsight and rarely survives contact with next month.