Published verdictRanking snapshot 3 November 2026
Divly leads by 2 points
Divly scores 2 points above CoinTracker, led by your tax form and record portability.
CECoinTracker #6 of 1176
Scores are out of 100; published scores fall within 41–99; a bar is empty at 41 and full at 99.Why, term by termDivly leads on 2 of 4 published criteria; CoinTracker on 2. The terms sum to the gap.
TermDivlyCoinTrackerWeightPoints
Your tax form9/108/107.7+2.0for Divly+1.0 of 32
Cost-basis method7/108/106.2−1.6for CoinTracker−0.8 of 32
Complex transactions7/108/105.3−1.4for CoinTracker−0.7 of 32
Record portability6/104/104.8+2.5for Divly+1.3 of 32
Net of the terms+1.5
Criteria roundingThe criteria block is rounded to whole points before it is spread+0.1
Reproduced gap+1.6
Published gapAfter score rounding and bounds — see the note below7876+2.0
Weight is in points of the 86-point weighted total. Points are score points of the gap between the two.
DivlyScore 78The European filing specialist: one served table naming K4/SRU, Anlage SO, SA108, 2086, PIT-38 and Modelo D-100 across fourteen jurisdictions, a Skatteverket-native SRU upload, a per-disposal 'applied_rule_for_disposal' column proving s.104 same-day/30-day matching ran, and an in-app tax-year selector that defaults to 2025 as the CURRENT year - undercut by a EUR 39 headline that buys only 100 transactions, a delivered ledger that never states the acquisition date of the lot it matched, no closing-position output in any jurisdiction, and a 2021 Terms document that never mentions the 'lifetime access ... forever' its help centre promises.Strength: Named form output — 9/10Watch-out: Four one-way doors, none of them on the page you buy from, and two of them invisible without reading Divly's own shipped code. (1) THE PRICE YOU SEE IS THE 100-TRANSACTION PRICE - CONFIRMED AT THE SOURCE. https://divly.com/en/pricing advertises Essential at '39' 'EUR', but that is the first cell of a four-column ladder wired into the page's own inline script. From the served source on 2026-08-19: 'const pricingMatrix = { 0: [0, 39, 99, 599], 1: [0, 99, 199, 699], 2: [0, 199, 399, 799], 3: [0, 399, 699, 999] };'. The mapping is not inferred - the bracket buttons carry it: '<button class="transaction-btn active" data-index="0" onclick="updatePricing(0)">Up to 100</button>', then data-index 1 'Up to 1,000', 2 'Up to 10,000', 3 'Up to 100,000'; the script ends with 'updatePricing(0);' and the server-rendered spans read '<span id="price-essential">39</span>'. EUR 39 buys 'Up to 100' transactions for the year. At 'Up to 1,000' Essential is EUR 99; at 'Up to 10,000' EUR 199; at 'Up to 100,000' EUR 399 - and Full Service starts at EUR 599, not the EUR 499 this repo's catalog row records. Anyone with a routine DCA habit is in the 1,000+ bracket and pays 2.5x the headline. (2) ONCE YOU DOWNLOAD, YOU CANNOT UNBUY, AND THE TERMS AND THE HELP CENTRE DISAGREE. Terms: 'It is not possible to get a refund if you have downloaded a file from the tax report section in the platform.' - flat, unqualified. https://help.divly.com/en/articles/8233489-can-i-request-a-refund ('February 3, 2026') sets three requirements - 'You make the request within 14 days of purchasing the service.' / 'The reason for refund is related to a bug or issue that Divly is unable to resolve within a reasonable time frame.' / 'You have not downloaded any tax reports.' - and then adds a fourth: 'This does not apply if the issue is related to the tax report.' So the help centre carves out the commonest case while the binding contract does not; the Terms govern, and the disagreement is the finding. Either way, dissatisfaction that is not a Divly bug is not a refund reason. Worse, the Terms purport to cancel the EU statutory withdrawal right within the same clause that grants it, under the heading 'Your right to terminate the Agreement pre-maturely': 'If you are a consumer, you have the right to withdraw from this Agreement without giving any reason within 14 days.' ... and, four sentences later, 'Since this is a Service we will not, if you withdraw from this Agreement, refund any payments we received from you.' (3) THE PRICING PAGE IS NOT THE WHOLE PRICE LIST - three charges exist that it never shows, all read from Divly's own app bundle (plugin_v23.js, downloaded 2026-08-19). A per-hour overage on the top tier, stated in the help centre: Full Service 'includes 4 hours of work by the Divly Expert. In most cases this is enough, however if extra hours are required they will be charged at 150 EUR per hour.' A priority-service add-on with a four-figure fallback: 'get_priority_service_price:function(){return this.pricing_info&&this.pricing_info.priority_service_price?this.pricing_info.priority_service_price:1e3}'. And an early-bird tier system fetched at checkout: 'fetch_early_bird_tiers:async function(){try{const e=await(await fetch(Fe+"/client/get_early_bird_tiers")).json();'. (4) A TIER THE PRICING PAGE SELLS IS HARDCODED AS UNBUYABLE. The same bundle contains 'is_sold_out_tier_value:function(t){return typeof t!="string"?!1:t.replace("-EARLY","").toUpperCase().startsWith("SECOND_100000")}' and, in the checkout handler, 'if(t.some(e=>this.is_sold_out_tier_value(e.tier))){alert("Sold out tier cannot be purchased.");return}'. In the same file 'THIRD_' resolves to 'Full Service', so 'SECOND_' is the second paid tier, Peace of Mind - the one https://divly.com/en/pricing still advertises at EUR 699 for the 'Up to 100,000' bracket. Whether the server also refuses the sale is unestablished; what is established is that Divly's own client blocks it. (5) THE 'lifetime access ... forever' PROMISE YOU ARE RELYING ON lives in a help article, not the contract; the contract is stamped 'Updated by Synch: 22 September 2021', never mentions it, and reserves account deletion. (6) IF YOU ARE GERMAN, THE STALE PAGE IS THE MARKETING ONE, NOT THE PRODUCT. https://divly.com/en/guides/crypto-taxes-in-germany ('Jan. 15, 2026') still says 'You have a €600 exemption limit on crypto profits.' while the help article ('July 7, 2026') says 'If you exceed the €1000 exemption limit (€600 for tax years 2023 and earlier), the full amount of gains is taxable.' The app itself renders the correct figure - the German tax widget in plugin_v23.js computes the exemption as 'C(a.year>=2024?1e3:600)'. So the number you FILE is right; the number you'd PLAN with off the guide is two years stale.CoinTrackerScore 76Names real statutory forms in four jurisdictions and runs the category's most complete Rev. Proc. 2024-28 and 1099-DA machinery, but it is an auto-renewing annual subscription whose own help centre says a lapsed plan puts the tax year you already paid for back behind the paywall.Strength: Named form output — 8/10Watch-out: UPHELD IN FULL, and better sourced than submitted. You cannot get your money back once you look at your data, and you cannot get your data back once you stop paying — both halves are in writing on served pages. The refund dies at the first download, including a plain transaction file: the Terms (https://cointracker.io/terms → https://www.cointracker.com/terms, 'Last updated: March 10, 2026') state 'Refunds are not possible once you have downloaded any of the tax forms or CSV files (including Transaction History CSV).', and the help centre states the operational consequence on https://support.cointracker.com/hc/en-us/articles/38104390028945-Available-reports-on-CoinTracker (updated 2026-08-14): 'Please note: Downloading a report counts as downloading a tax form for refund-eligibility purposes. Once you've downloaded any report, your CoinTracker plan is treated as used for the tax year.' So the 30-day 'money-back guarantee' survives only for a buyer who never opens the thing they bought. The other half: this is an auto-renewing ANNUAL SUBSCRIPTION, and on lapse (https://support.cointracker.com/hc/en-us/articles/46693057775761-How-to-cancel-auto-renewal-on-your-CoinTracker-plan, updated 2026-08-14) 'Once canceled, your plan remains active until the end of your current billing period. After that date, your account moves to the free subscription. Your CoinTracker account and data will not be deleted.' — while the plans page shows the Free tier labelled 'No tax filing' with an empty cell in the 'Download tax forms (8949, Schedule D and others)' row. CoinTracker states the consequence for an ALREADY-FILED year on https://support.cointracker.com/hc/en-us/articles/31572739238417-Switching-to-Per-Wallet-tracking-after-missing-IRS-Safe-Harbor (updated 2026-08-14): 'You may need to renew your subscription plan to access your tax reports for 2024.' NEW EVIDENCE this pass, which the submitted record did not have and which hardens the caveat: the vendor's own regional-deadline table (https://support.cointracker.com/hc/en-us/articles/38071402566417-Regional-tax-extension-deadlines-observed-by-CoinTracker) spells the renewal toll out per region — the UK row reads 'Renewal is required before downloading 2025 tax forms.' and the Australia row 'Renewal is required before downloading your 2025 tax forms.'. The reports carrying the IRS safe-harbour position under Rev. Proc. 2024-28 are explicitly not retained for you: 'CoinTracker cannot save these reports for you, it is your responsibility to make sure that you keep all reports provided to you indefinitely.' And the migration is irreversible in place: 'Important: After you select Migrate now, CoinTracker locks all your data prior to 2025. You won't be able to edit pre-2025 transactions or tax reports afterward.' — preceded by the warning 'Ensure there are no Review suggested transactions remaining. Once you've made the allocation, you cannot go back to fix any issues.' Secondary, worth knowing before filing: the default lot-matching method is HIFO, not FIFO — 'Note: CoinTracker defaults all wallets to HIFO, as it tends to lower the tax bill.' — a Specific-ID subset the same page says the product cannot perform at unit level, on a page that also states Specific ID may no longer be applied retroactively for 2025-onward US returns. Changing it per year is an Ultra-tier ($599) feature: 'Changing your cost basis method will apply to all years unless you have an Ultra plan, which will allow you to set a different method for each tax year.'