Skip to main content
    Education only. Not financial, tax or legal advice. We never ask for wallet keys or seed phrases.Your files stay in your browser · how we calculate
    Methodology

    How the tools work, where the prices come from, and what they leave out

    Short answer

    Every number on DeFiCalculator.ca comes from four tested engines that run in your browser: an ACB ledger, a concentrated-liquidity simulator, day-by-day replays for loans, staking and DCA, and a costs model. Prices are yours or scenario paths; exchange rates and benchmarks are dated Bank of Canada data.

    Where the prices come from

    Crypto price paths are either your own daily price file (read in your browser) or a scenario path built from a few turning points you set, or from a crash's publicly reported fall.

    • Your own prices. Paste or upload daily prices (a date column and a close or price column) from your exchange or any source you're allowed to use. They are read in your browser and never uploaded. US-dollar prices are converted with the Bank of Canada rate for each date.
    • Scenario paths. A path through a starting price, a lowest point, when it happens and where it finishes, with optional day-to-day swings from a fixed seed so the same inputs always give the same path. It is not price data.
    • Crash scenarios. Built from falls reported in the press, with the publisher, date and link shown next to each: a straight fall to the reported low, then flat. Real crashes bounce on the way down and wick lower within a day.
    • Bank of Canada data. US dollar to Canadian dollar conversions use the Bank of Canada's daily exchange rate (Bank of Canada data; converted by DeFiCalculator.ca). Posted GIC and savings rates (series V80691338–V80691341) observed 2026-10-28; USD/CAD to 2026-10-30. The Bank does not endorse this site.

    We don't ship third-party crypto price history: the sources we checked either forbid reuse on a commercial site or require a signed licence.

    The ACB engine

    • Identical properties are pooled across every wallet and exchange: the cost per unit is the average cost of the units you hold.
    • A swap is a disposition of what you give up at fair market value plus an acquisition of what you receive at the same value. If your file has no CAD value, the engine values it from a price file you add for that coin (what you received first, then what you gave); otherwise it flags the row for you to fill in.
    • Rewards are acquired at their value when received; that value is income and becomes their cost.
    • A fee paid in crypto is a small disposition of the fee coins, and its value is an outlay of the trade it paid for.
    • Superficial loss: denied share = min(units sold, units acquired from 30 days before to 30 days after, units held at day 30) ÷ units sold; the denied amount is added to the cost of the remaining or repurchased units. Only the same coin counts; affiliated persons (such as a spouse) are not modelled.
    • One-half of a net capital gain is taxable (the inclusion rate in force; the proposed increase was cancelled in March 2025). The engine treats crypto as capital property; if your trading is a business, the whole profit is income.

    The position simulators

    • Liquidity positions use the concentrated-liquidity formulas from the Uniswap v3 whitepaper; full range is the special case of an unlimited range. Fees are your estimate, accrued daily only while the price is in range, optionally scaled by the range's capital efficiency.
    • Loans: health factor = collateral value × liquidation threshold ÷ debt, day by day, converting between US and Canadian dollars at the Bank of Canada rate for each date where it matters. Liquidation penalties and partial liquidations are not modelled.
    • Staking: rewards accrue at your rate after commission and are credited on the network's payout schedule, each valued at that day's price on your path.
    • DCA: each purchase is the amount minus any flat fee, at that day's price plus the spread you enter.

    Checks the engines pass

    CheckResult
    ETH loan, 80% threshold, through ETH's reported May 2021 fall (−53%)highest safe starting LTV 37.6% = 80% × (1 − 53%)
    Scenario pathshit the start, lowest point and end you set exactly, with or without day-to-day swings
    Full-range LP loss vs holding when price doubles−5.72%, the constant-product formula
    Concentrated range efficiency1 ÷ (1 − (lower ÷ upper)^¼) for a geometrically centred range
    Multi-coin ACB vs the single-coin ledgeridentical gains, denied losses and ending cost on the same records
    Superficial loss, sell 10 and rebuy 4 within 30 days40% of the loss denied and added to the new cost

    Automated tests covering the engines, the price file and the site run before every release. Corrections are welcome through the contact page. Last full review: Nov 1, 2026.

    Worked example: from your fee estimate to daily fees

    How the LP simulator turns your fee estimate into daily fees
    You enter the fee rate your own range earns while in range. To compare other ranges in the sensitivity grid, the engine converts it to a full-range rate using the range's capital efficiency.
    How the LP simulator turns your fee estimate into daily fees: inputs, steps and result
    Starting price$3,000
    Range$2,700 to $3,330−10% / +11%, roughly centred in ratio terms
    Your in-range fee rate10%
    Capital efficiency19.58×1 ÷ (1 − (lower ÷ upper)^¼)
    Equivalent full-range fee rate0.51%
    Fees per day in range on $10,000$2.74zero on any day the price is outside the range

    This is why a narrow range looks generous and isn't free: the same capital earns about ten times the fees of a full-range position while the price stays inside, and nothing once it leaves.

    Open this range in the LP simulator →Computed 2026-11-02.

    Mitey the yeti presses gently on one end of a plank balanced on a stone, testing how far it tips
    Mitey leans on one end of the plank to see how far a single assumption tips the result.

    Data published on this site

    DatasetWhat it holdsSourceDate
    Crash scenarios5 crashes: BTC and ETH falls as reportedBloomberg, Fortune, CoinDesk, The Block, Cointelegraph (each linked on the loan stress test)checked 2026-11-01
    Canadian deposit benchmarks1-year GIC 2.45%, 3-year 3.20%, 5-year 2.75%Bank of Canada posted rates, V80691338–V80691341observed 2026-10-28
    USD/CAD daily rateBank of Canada daily average, used for every US-dollar conversionBank of Canada series FXUSDCADto 2026-10-30
    Staking network presets5 networks: payout schedule and exit waitEach network's own documentation (linked on the staking calculator)checked 2026-11-01

    Changelog

    • : Crash scenarios: ETH's March 2020 fall corrected to 44% (DappRadar, the whole day to the low; CoinDesk's 33% was written before the low) and its fall to June 18, 2022 to 80% (Investing.com); the bitcoin Terra figure is labelled as the reported floor. Staking sensitivity grid fixed for rising prices. "Backtest" renamed "scenario replay" until licensed price history ships.
    • : New look; every page now opens with a short answer and has its own worked example computed by the engines. Ask Mitey chat added. Embeddable calculators at /embed. The cookie page merged into the privacy policy.
    • : Exchange CSV import for Coinbase, Kraken, Newton, Shakepay, NDAX and Bitbuy (Koinly-format statements), with a column-mapping step for anything else, including Wealthsimple.
    • : Saved scenarios (this browser only) on every workbench tool; shared links re-read when you follow an in-site link.
    • : Rebuilt as the Canadian crypto position and tax workbench: multi-coin ACB engine, LP simulator, staking, loan-stress and DCA replays, stablecoin vs GIC, fees vs yield. Rules and risk guides moved to DecentralizedFinance.ca with redirects.
    • : Prices: no third-party crypto price history is shipped. Tools replay your own price file or a scenario path; crash scenarios are built from publicly reported falls.

    What the models leave out

    Smart-contract failures, oracle errors, depegs, platform insolvency, governance changes and slippage on large trades are not in the price history. For how those failures happen, and what the CRA says about each DeFi activity, see DecentralizedFinance.ca. Treat any output as one input to a decision, not the decision.

    What this means for you

    If a number on this site matters to a decision, you can recompute it: the formulas are on each tool page, the sources are dated, and the engines are covered by automated tests that run before every release.

    The models leave out smart-contract failures, depegs, liquidation penalties and slippage on large trades. Treat any output as one input to a decision, and read the risk guides on DecentralizedFinance.ca before committing money.

    Definitions

    Capital efficiency
    How many times more fees a concentrated range earns per dollar than a full-range position, while the price stays inside it.
    Health factor
    Collateral value × liquidation threshold ÷ debt. Below 1.00 the position can be liquidated.
    Superficial loss
    A loss denied because the same property was acquired within 30 days before or after the sale and still held 30 days after.