Merchant software updates, improvements and signed downloads.
Update your installation
whollycrypto update --check
whollycrypto update
The updater verifies the pinned signature and archive hash. It preserves your configuration and keys; keep independent backups. Read the update guide.
Wholly Crypto 5.5.0
Latest stable
Shared receive-readiness checks explain missing wallet, scanner and provider requirements before invoice creation. Chain connections show scanner-ready, unavailable, unchecked and delayed states separately from node health.
Manual invoices keep unavailable methods visible with reasons, settings links and Check again. Store payment methods and wallets share the same receiving checks; balances and sending gas remain separate.
Structured API/MCP diagnostics identify the chain, asset and actionable blocker. PHP, Python and Node SDK 2.4.0 adds safe exception explanations and convenient payment-method issue helpers.
Invoice API/MCP selections ignore inactive or unaccepted choices, use store defaults if nothing matches, and include all active assets for a chain-only selection. Existing invoice methods and idempotent retries are preserved.
Chain-specific invoice errors explain wallet, scanner-provider and rate requirements, including TRON history-indexer readiness. Safety checks and ambiguous-ticker rejection remain enforced.
Manual Send reloads the current shared balance snapshot on opening. Wallets adds Active in stores filtering, including token-only chains. Store Payment methods uses smaller chain hints without repeated identifier boxes.
The consolidated dashboard defaults to Last 30 days, with Last 60/90/180 days, Last year and All time. Long histories use monthly or yearly chart points within the user's reporting scope.
Fixed Add destination remaining unavailable after returning from Exchange settings. Clear access checks and a more compact destination layout.
Connect/disconnect switches and safe deletion for saved exchange accounts. Unresolved jobs block deletion; saved credentials are removed without deleting exchange funds or historical records.
Estimated fiat values in exchange balances use your regional default currency. Sort any column, with highest fiat value first; unknown and stale prices remain clearly identified.
API and MCP invoices accept chain-scoped asset_tickers. Copy selections from Store → Payment methods. Ambiguous symbols require asset_ids; existing acceptance, readiness and idempotency checks remain enforced.
Search and page through receiving addresses from Project → Wallets → Addresses, with invoice links, order IDs, references, derivation indexes and exact cached asset balances.
Clearer base-address and aggregate wallet balances. Shared-account balances are not presented as separate invoice balances.
Chain-specific recovery help, selected-address reveal confirmation, backup cautions and practical Sweep recommendations. No automatic transfers or key disclosure.
Wallet keys, invoices, callback payloads and existing sending policies are preserved. Receiving and spending support remain separate.
Regional defaults in Settings → System, after Console language: searchable fiat currency and timezone for new projects and accounts.
The consolidated dashboard uses the system currency until you choose another. Existing projects, stores, invoices and prepaid-credit currency are unchanged.
Choose chains and assets for each manual invoice without changing store settings. API and MCP requests accept optional payment_methods selections, with Bitcoin Lightning chosen separately.
Selections can only narrow accepted, ready store methods. Invalid, disabled or unavailable choices are rejected, with no silent fallback to other assets. Existing idempotency, wallet keys and callbacks are preserved.
Faster invoice search and navigation, retryable checkout-appearance loading and better laptop layouts.
Wallet backups offer plain TXT or a searchable offline HTML file with embedded QR codes. Both contain unencrypted secrets: keep them private and offline.
Send shortcuts open the exact wallet asset in manual-send review. Dashboard currency persists after reload, charts show hover details and custom dates use a modal.
Checkout puts the fiat total under Amount due, shows the order description below its title and moves Return to merchant to the top-right. Improved logo borders, picker hover states and subtle waiting indicators. Existing payment rules, keys and callback payloads are unchanged.
Settings → API access puts AI connections · MCP below API credentials, with clearer spacing between the panels.
Wallet filters add Has balance and Has no balance, combinable with search and readiness. Native coins and tracked tokens count; unknown or stale zero balances are not classified as empty. Current badges now fit their text.
Project invoice rows show the order ID alongside the description, plus received crypto amounts and their chain/token. Batched cached summaries keep the list fast, with no per-invoice node calls.
IPN and webhooks now include paid_asset_amount for the full crypto quote and paid_asset_amount_received for actual receipts at settlement. Exact decimal strings preserve accepted shortfalls and overpayments without changing the invoice amount.
Settlement amounts stay frozen on retries. Older snapshots remain unknown, saved event bodies are unchanged, and payload version stays 2. Merchant/product documentation and all three SDK examples are synchronized.
Checkout hides the chain and asset chooser while payment confirmation is in progress. Payment details, progress and transaction links remain visible; partial payments keep their remaining-amount controls. Hosted previews match.
Built-in merchant MCP at your API domain’s /mcp endpoint. Connect an AI assistant without installing an extra service. MCP stays off until explicitly enabled.
Eight project-scoped read tools cover stores, payment methods, balances, invoices, delivery status and conversions. Invoice creation requires separate approval and keeps the existing validation and idempotency rules.
OAuth with administrator consent, S256 PKCE, rotating tokens and revocable connections. Optional bearer access, project permissions, IP restrictions and shared API rate limits remain enforced. No wallet-secret exports or fund-transfer tools.
New English/German MCP guides, homepage and feature information, plus synchronized merchant and product API references. Existing wallets, invoices, domains and REST integrations are preserved.
Top-level paid_chain, paid_asset and paid_payment_method_id identify the payment method that settled an invoice. Detailed payment_info remains available in IPN and webhooks.
settlement_exchange_rate saves the before-spread market rate at settlement with explicit units, currency, source timestamps and quality flags. It never changes the locked invoice amount.
Retries and further payments to the same method preserve the saved snapshot, including missing rates. Reorgs clear the current summary; re-settlement or a changed settling method gets a new snapshot. Historical event bodies are unchanged.
Updated merchant/product API references and PHP, Python and Node SDK examples. Existing SDK 2.1.0 and shop plugin 1.0.2 receivers remain compatible. Wallets, invoice amounts and store policies are preserved.
New quotes for recognized verified fiat stablecoins round up to at most two decimals, after spread. Paying the rounded amount in full works with zero tolerance; existing invoices keep their locked amounts.
QR codes, wallet links and copied checkout amounts request the full outstanding quote. Underpayment tolerance is no longer subtracted from the requested payment.
Tolerance only decides whether received funds count as paid. Accepted shortfalls do not show as underpaid or ask for more funds while network confirmations are pending.
The shared calculation covers all chains and tokens, including partial payments. Existing invoice totals, settlement policies, wallets and callback field meanings are preserved.
Richer IPN and webhook snapshots include used chain/token, exact received, confirmed and missing amounts, transaction links, customer metadata and signed event/project/store IDs.
Locked quote, spread, tolerance and upward rounding stay separate from advisory cached market rates. Retries preserve the original snapshot; unavailable historical rates remain unknown.
Delivery Details groups payment, rate and customer information. A read-only paginated payments API provides complete current transfer history when callback arrays are truncated.
Update strict nine-field receivers or whole-body duplicate checks. SDK 2.1.0 and shop plugins 1.0.2 support new and retained legacy callbacks. Existing wallets, invoices and queued payloads are preserved.
Breaking API response change: invoice_id replaces public_id in invoice creation, lists, detail and checkout, matching IPN/webhooks. Internal IDs remain id; invoice URLs and callback bodies do not change. Update custom integrations before upgrading.
Official PHP, Python and Node.js SDK 2.0.0 use invoice_id. WooCommerce and WHMCS plugin 1.0.1 support both new and older merchants; update the plugins first.
Each invoice has separate collapsed IPN and webhook histories. Compact store histories show order and invoice IDs, customer name/email, delivery status and time, with search and pagination.
Details opens a modal with the saved body, delivery result and timeline, separately from current customer metadata. Expired data is never recreated; wallets and payment history are preserved.
IPN and Webhook history Details now show the saved invoice status, exact JSON body and delivery result. Payloads load only when opened, with clear expiry messages.
Clearer callback documentation covers event selection, all invoice statuses, payload fields, separate signing secrets, retries and safe order fulfilment.
The customer checkout footer links to the official Wholly Crypto website in a new tab. Existing wallets, payments and invoice history are preserved.
More reliable Ethereum and EVM token scanning. Recent invoices are checked separately from older history catch-up.
Smaller token queries adapt to public provider limits. Historical-access restrictions and rate limits are handled separately, with scheduled retries and cooldowns.
Chain connections now highlight delayed payment scanning even when basic node health checks pass.
Existing payments, invoice history and wallets are preserved. Payments still require verification by two independent providers.
Accept Bitcoin Lightning through an external LND node or a compatible Nostr Wallet Connect wallet. Enable it independently of on-chain Bitcoin in each store.
Connection checks, project access and shared Lightning balances, with clear guidance on self-hosted, managed self-custodial and custodial wallets.
Lightning QR codes and wallet links, whole-satoshi quotes, exact millisatoshi payment records and restart-safe settlement tracking.
New English/German setup guides and updated API documentation, features and comparisons. Lightning receiving is opt-in; sending, refunds and channel backups stay in the external wallet.
See available, held and total balances for Kraken, Binance and Coinbase Advanced Trade accounts in Settings → Exchanges.
Search and paginate balances, include zero amounts and refresh. Exact values retain their timestamps and show a warning when cached results are stale.
Each chain/token sweep chooses either another wallet or a matching verified exchange destination, never both. Switching clears inactive destination settings.
Improved mobile balance layouts and exchange dialog cleanup. Balance checks are read-only; existing wallets, credentials and sweep rules are preserved.
New Exchanges settings for Kraken, Binance and Coinbase Advanced Trade, with encrypted credentials, connection checks and project access controls.
Search automatically refreshed spot markets, indicative rates and trading minimums for each exchange.
Send supported assets to verified exchange destinations from Sweep, manually or automatically. Optionally convert a matched, credited deposit to supported fiat or crypto.
Network, token and account checks, exact amounts and durable order tracking. Interrupted orders are reconciled without blind resubmission.
Exchange connections and trading stay off until configured. Exchange custody, KYC and fees apply; fiat stays in the exchange account. Test new routes with a small amount first.
Larger Intro and Outro checkout message fields, each with its own font size. Existing customer messages are preserved as the Intro.
Create-invoice API supports partial checkout appearance overrides, including same-project store logos and favicons. Each overridden invoice keeps its resolved design independently of future store edits.
Updated merchant and website API references with shared cURL, JavaScript, PHP and Python examples. Structured settings only; no custom HTML, CSS, JavaScript or remote image loading.
Fixed project-deletion confirmation handling for checked acknowledgments and pasted identifiers with surrounding spaces.
Clear identifier feedback and accurate loading states. Backup, switch-off and permanent-history safeguards remain in place; updating never deletes projects.
The setup reminder now says Project is currently disabled.
Project names, section titles and page actions align in one desktop header row.
Content starts level with the project enable/pause switch, removing the extra gap. Store and invoice actions remain on the right, with a responsive layout for narrow screens.
Project enable/pause switch moves above the section menu, including the mobile dropdown.
Section titles sit at the top left of the content, with store selection, New store, Create invoice and other section actions on the right.
Responsive spacing for long project names and narrow screens. Mobile project switching no longer triggers an unnecessary store save. Existing project status, wallets, payments and credit settings are unchanged.
Project sections move into a desktop sidebar, with a compact dropdown on small screens.
Four-step project deletion with wallet-backup acknowledgment, a switch-off step, permanent-history review and typed confirmation.
Completed invoice and payment history no longer blocks project deletion. Active work and known balances stay protected; processing fees, prepaid credits and existing backup files are unchanged.
Updates safely wait for running background jobs while checkout stays online. Timeout and cancellation restore timers without restarting the app.
Clearer console update progress and failure messages, with safe recovery when interrupted before installation.
A verified standalone updater lets older installations adopt the fix without manually pausing timers. Wallets, invoice history and credit rules stay unchanged.
Distinct enable and disable icons for chain connections.
Clearer prepaid-credit request badges and compact payment links in a separate column.
Simpler top-up payment screens. Quoted amounts and processing fees are unchanged.
Delete an unused, paused project after confirming your existing wallet backup. A fresh backup download is optional; balance and history protections remain.
Highlighted payment-received cards with confirmation progress. Fully received credit top-ups no longer show an expiry timer while confirmation is pending.
Instant credit-tab navigation with background history refresh and pending-request badges. Credit decisions remain server-verified.
Automatic release-versioned browser assets for the console, checkout and API reference, plus cleaner source-IP forms. Existing wallets, balances and quotes stay unchanged.
Faster console opening and refresh with earlier secure session verification and bundled assets.
Faster prepaid-credit loading, optional billing details in the background and automatic top-up availability updates without losing drafts.
Payment countdowns use authenticated server time, so an incorrect computer clock cannot falsely expire a valid quote. Existing quotes and payment verification are preserved.
Fee details and Refresh stay together on large and small screens.
Automatic credit activation after the first admin signup, with a one-time 10 USD equivalent welcome credit. No activation code or support request is needed.
Safe retries preserve the same credit account and never duplicate welcome credit. Existing balances, fee policies and wallet keys stay unchanged.
Fixed fresh installations stopping after HTTPS certificate issuance when TLS support files are missing. Resume keeps existing keys, credentials and certificates.
Clear setup progress with spinners, elapsed time, actual download percentage and success/failure markers. Redirected logs use plain-text status updates.
Fixed 3,000-token CoinGecko refreshes rejecting unusual provider IDs or blank display names. Existing cached data stays available while the next complete snapshot loads.
Consistent token registration and icons, updated API guidance and expanded catalog regression tests.
Add and edit custom ERC-20 contracts and classic Solana SPL mints in store payment methods, with on-chain verification.
Exact project-specific fixed USD prices for custom tokens, shared by that project’s stores and shown in wallet values. Existing invoice quotes stay unchanged.
Custom-token API documentation, responsive token dialogs and a simpler IPN layout.
Grouped wallet address/actions and chain-specific secret details with private-key QR support.
Installing a new version requires verified positive processing credit when fees are enabled. Update checks, backups, recovery and incoming payments stay available; fee-free accounts have no credit restriction. Updated English and German documentation.
Consolidated revenue dashboard across authorized projects and stores, with calendar presets, custom dates, currency/timezone filters, charts and CSV export.
Dashboard shortcut before project navigation and Create project at the right.
Per-host Let's Encrypt or Cloudflare proxy selection, with validated staged activation and strict origin TLS.
Exhausted-credit mode also pauses new project/store creation. Existing checkouts and incoming payments continue; fee-free accounts require no prepaid credits.
English-first product localization with a German homepage and documentation, plus a clearer degraded-mode guide. Existing keys, account policy and active domains are preserved.