Skip to content

2026 Monthly Reports

rodvar edited this page Aug 13, 2026 · 2 revisions

One report per month is shown. Automated reports started August 2026 so first report was done on prior month (July).


July 2026

Generated 2026-08-13 · window: last 30 days (Play metrics are a 28-day average). Sources: Play / TestFlight (real audience), GitHub (sideload), self-hosted analytics (engagement, opt-in only).

Audience at a glance

  • Bisq Easy (node app): ~5,202 active devices (Android only), the larger audience — plus an estimated sideload base on top (see below).
  • Bisq Connect: ~945 across platforms (~445 Android active devices + ~500 iOS TestFlight testers), plus Android sideload.
  • Channels are not deduplicable, so these are per-app pictures, not one global total. Store numbers are real device counts; sideload and analytics are floors.
  • iOS is ~53% of the Connect audience despite no App Store presence (TestFlight + AltStore only) — validation of the sideload-first iOS strategy.
Audience by app (active devices / TestFlight testers)

Bisq Easy (node)  ██████████████████████████████████  5,202 (85%)
Bisq Connect      ██████  945 (15%)
Bisq Connect by platform

Android (Play active devices)  ██████████████████████████████  445 (47%)
iOS (TestFlight testers)       ██████████████████████████████████  500 (53%)

Month over month

First report — no prior month to compare yet. Next month's report will show deltas here automatically.

Reach & audience

App stores

App Audience (active devices) MAU DAU Total installs New installs (28d) Rating
Bisq Connect (Android) 445 178 9.61 1,760 201 4.5
Bisq Easy Node (Android) 5,202 2,360 159 17,600 1,455 3.47

Audience = active devices (28-day average): devices with the app installed and used in the period — the truest 'how many people use it' number. MAU = monthly active users (unique users active in the last 28 days). DAU = daily active users (average per day over the period).

Audience (active devices) & new installs are pulled live from the Play Console statistics export (2026-07 monthly average). MAU/DAU, total installs and rating stay manual — Play exposes no API for those.

Bisq Connect (iOS): TestFlight testers 500, AltStore PAL installs — (iOS active-user metrics aren't exposed like Play's; testers is the closest proxy).

Stability (Play-measured, all installs)

App Crash-free ANR rate Rating
Bisq Connect (Android) 4.5
Bisq Easy Node (Android) 100.00% 0.32% 3.47

Crash-free & ANR are pulled live from the Play Developer Reporting API (28-day user-weighted, as of 2026-08-11). Apps below Play's minimum-user threshold show — (Vitals suppressed).

The node app's lower rating (3.47) despite 100.00% crash-free isn't a stability story — it points to UX/expectations rather than defects, and is the clearest KPI to watch.

Sideload (GitHub download stats)

Active base ≈ the latest release's per-week APK pull, bot-discounted. Same base re-downloads each release; cumulative ≠ unique. iOS not measurable (AltStore mirrors the IPA).

App Latest Latest /week Active sideload base All-time APK dl
Bisq Easy Node (Android) anode_0.10.0 900 ~540–720 16,205
Bisq Connect (Android) connect_0.8.0 195 ~117–156 8,711

Engagement & product health

From the app's own privacy-preserving analytics — opt-in only (off by default) and with no per-device identity, so these are engagement floors, not user counts.

Total analytics events (30d): 33,325 across opted-in installs.

App Events Errors New opt-ins Opt-outs Dashboard opens
Bisq Easy Node (Android) 31,470 10 550 15 3,260
Bisq Connect (Android) 1,124 3 16 2 124
Bisq Connect (iOS) 731 11 11 0 74

Trade activity

  • 208 trades started in the window; 40 completed (19%).
  • Of the rest: 56 cancelled (27%), 43 rejected by the counterparty (21%), 67 still in progress (32%), 2 errored.
  • Non-completion is people, not the app: 99 of 208 (48%) were user cancellations or counterparty rejections. Read the completion rate as a matching/liquidity signal, not an app-quality one.
  • App mechanics are healthy: only 3 step action(s) failed. (Completion % also understates the true rate: trades started late in the window haven't finished yet.)
Full step breakdown
Step Count
trade.phase_buyer_1_setup_opened 937
trade.phase_buyer_2_fiat_opened 551
trade.phase_buyer_1_setup_reached 454
trade.phase_buyer_3_btc_opened 278
trade.phase_buyer_2_fiat_reached 213
trade.taken 208
trade.phase_buyer_3_btc_reached 184
trade.btc_address_confirmed 138
trade.cancelled 56
trade.fiat_sent_confirmed 44
trade.rejected 43
trade.phase_buyer_4_complete_opened 41
trade.phase_buyer_4_complete_reached 40
trade.completed 40
trade.btc_received_confirmed 25
trade.errored 2
trade.btc_address_failed 2
trade.btc_received_failed 1

Errors & crashes (from analytics)

15 fatal event(s) across opted-in installs this month; iOS SIGPIPE crashes are the dominant class (10) and the top engineering-triage target.

Full error/crash breakdown
App Level Title Count
Bisq Connect (iOS) fatal SIGPIPE: Signal 13, Code 0 6
Bisq Easy Node (Android) error ConcurrentModificationException 4
Bisq Connect (Android) error TradeActionException: Trade step 'btc_address' request failed: Job was cancelled 2
Bisq Connect (iOS) fatal SIGPIPE: ENOC > ZTUM 2
Bisq Easy Node (Android) fatal TimeoutException: java.util.concurrent.Executors$FinalizableDelegatedExecutorSer 1
Bisq Connect (iOS) fatal SIGPIPE: performSelector:withObject: 1
Bisq Connect (iOS) fatal EXC_BAD_ACCESS: ZTUM > 1
Bisq Connect (Android) error TradeActionException: Trade step 'btc_received' request failed: Job was cancelle 1
Bisq Easy Node (Android) error TradeProtocolException: Trade protocol error: Bitcoin address length must not be 1
Bisq Easy Node (Android) error TradeProtocolException: Trade protocol error: Takers (buyers) Bitcoin amount is 1
Bisq Easy Node (Android) fatal IllegalArgumentException: Key "d88fff1b-d236-391c-bdc6-521b41873785" was already 1
Bisq Easy Node (Android) fatal OutOfMemoryError: Failed to allocate a 32 byte allocation with 2566400 free byte 1
Bisq Easy Node (Android) fatal TimeoutException: com.android.internal.os.BinderInternal$GcWatcher.finalize() ti 1
Bisq Connect (iOS) fatal SIGPIPE: __AUTH_CONST > __AUTH_DIRTY > __AUTH_TPRO_CONST > __DATA_CONST > dyld_v 1

Caveats: GlitchTip is opt-in (default off) with no per-device identity — a floor, not a total. GitHub counts every asset GET (bots inflate absolutes). Store numbers are the authoritative user counts and land here once the Play/ASC APIs are wired.

Clone this wiki locally