Koinly Web Transaction Import Status Badge
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
This tool monitors transaction import status on Koinly and presents it in a clear, at-a-glance badge. It extracts total transactions, imported count, pending count, failed count, last sync time, and wallet-level progress from the page. The badge shows import completion percentage with color coding (green for complete, yellow for partial, red for failed), and a detailed breakdown of counts by status. A progress bar visualizes completion, and wallet grouping shows individual progress for each connected wallet or account. The panel auto-refreshes at a configurable interval and can send desktop notifications when import completes.
WHERE IT RUNS
The script activates on Koinly pages (koinly.com), including transaction import views, wallet dashboards, and sync status pages. It automatically detects import status data using multiple selector strategies that work across different Koinly interfaces and layouts. The panel appears as a draggable overlay that stays accessible as you monitor your import progress.
HOW TO USE
Navigate to your Koinly transaction import page. The panel will appear showing the current import status. The badge shows completion percentage and a status indicator (Complete, Good, Partial, Started, or Failed). Below the badge, a progress bar and detailed counts show total, imported, pending, and failed transactions. If enabled, wallet grouping displays per-wallet progress. Set the refresh interval (default 30 seconds) to control how often the script checks for updates. Toggle "Notify on" to receive desktop notifications when import completes. The "Refresh" button manually checks for updates, and "Export" copies the full status data as JSON to your clipboard.
THE TECHNICAL MECHANISM
The script employs a multi-strategy DOM extraction approach specifically designed for Koinly's transaction import interface. It first attempts to find status data in structured containers using CSS selectors targeting class names like .import-status, .transaction-status, and .sync-status. When structured selectors fail, it falls back to a text scanner that traverses visible DOM nodes using a TreeWalker, matching labeled patterns for total, imported, pending, and failed transactions. Wallet data is extracted from containers with class names like .wallet or .account, parsing patterns like "WalletName: 150/200" to determine per-wallet import progress. The last sync time is captured from date/time patterns in the page text. The import completion percentage is calculated as (imported / total) * 100 when total is available, or (imported / (imported + pending)) * 100 as a fallback. Status classification uses thresholds: >=100% = complete, >=80% = good, >=50% = partial, >0% = started, and any failed transactions >0 sets status to failed. All data is refreshed at the user-defined interval using setInterval, and the script uses a MutationObserver to detect page updates that may reflect new import progress.
THE PANEL
The panel is fully draggable by its header and remembers its position on the page across sessions. It can be collapsed to a small bubble using the minimize button, then restored by clicking the bubble. The panel resizes automatically to fit its content and can be closed with the Escape key or by clicking the close button. The panel's position and state persist globally, so it returns to the same location on subsequent visits.
PLEASE NOTE
Requires the free BotGentz extension to run. Koinly may update its site structure, which could affect the script's ability to detect import status data — updates will be released as needed. All import status data is read from the page and displayed locally; nothing is transmitted externally. This tool is for informational purposes only and does not modify your Koinly data or account in any way. Always verify import status against the official Koinly platform before taking any action based on the displayed data.