What you get
Lifetime access is how you buy Cashboard Desktop: one payment in crypto, no subscription, and one purchase covers both the Windows and the macOS installer. The web app at cashboard.live stays free and needs no purchase. What the desktop app adds is covered in Cashboard Desktop.
| Price | $199, paid once, as of October 2026. The price on your own checkout page is the one that applies. |
|---|---|
| Covers | Windows 10 or 11 (64-bit, .exe installer) and macOS 13 Ventura or later (Apple Silicon and Intel, .dmg), as checkout states them. One purchase, both systems. |
| Current version | 0.4.2 for both systems, as of October 2026. Checkout shows it as Desktop 0.4.2 available now. |
| Build type | Unsigned preview. Expect an operating system warning the first time you open the installer; Download and install says what to press. |
| Account | None. Checkout asks for no name and no email address, so the recovery code is the only credential that ties you to the purchase. |
| What lifetime covers | These docs do not define how long lifetime access lasts or which later versions it covers. The installed app does not update itself, see Updates. The Terms are the document that applies. |
The four ways to pay
Checkout offers four routes. Each is one network and one asset, and nothing else is accepted. The same token on a different network does not count, so USDC on Ethereum or on Solana will not work, and neither will USDT or ETH on Ethereum mainnet.
| Tile in checkout | Network | What you send | Timer (default) |
|---|---|---|---|
USDC on Base | Base | 199 USDC plus a small suffix, so between 199.000001 and 199.009999 | 15 minutes |
ETH on Base | Base | The ETH worth $199 when you create the request, plus a small buffer | 5 minutes |
USDG on Robinhood Chain | Robinhood Chain | 199 USDG plus a small suffix, so between 199.000001 and 199.009999 | 15 minutes |
SOL on Solana | Solana | The SOL worth $199 when you create the request, plus a small buffer | 5 minutes |
For ETH and SOL, Cashboard prices the request from a live quote at the moment you create it. The amount then stays fixed for that request, so a later price move does not change what you owe. The two token routes name their contract in the field Verified token contract or mint. Compare it with the contracts below before you send. ETH and SOL are native assets and have no contract.
| USDC on Base | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
|---|---|
| USDG on Robinhood Chain | 0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168 |
Before you pay
- Pay from a wallet you control, and check which account in it is selected. The transfer must come from the address you enter.
- Pay from a wallet whose sending address you know in advance. Checkout accepts a transfer only from the address you entered, so a withdrawal from an exchange works only if you can name the address it will send from.
- Keep enough of the network's fee currency in the wallet, because the fee is paid on top of the transfer. With ETH or SOL, send the amount shown and do not use a send-max option: a transfer that is lower or higher than the figure is rejected.
- Have somewhere safe for the recovery code, such as a password manager. Checkout shows the payment details only after you confirm you saved it.
- Read Terms, Privacy and the Refund Policy first. You accept all three in checkout.
- Take the recipient, the amount and the token contract from your own request in checkout. Never take them from a message or a screenshot, and use the contracts on this page only to compare.
- Pay each request once. A request is confirmed by one transaction only, and a second transfer for the same request is not accepted.
Buy it step by step
- 1
Open checkout
Go to the access section of cashboard.live. The chip above the heading should read
Lifetime access · available. If it sayssales pausedorcoming soon, read When something goes wrong first. - 2
Choose how to pay
Under
Choose how to pay, pick one tile:USDCon Base,ETHon Base,USDGon Robinhood Chain orSOLon Solana. One tile is already selected when the page loads, so check that it is the one you want before you go on. - 3
Enter the paying wallet
Paste the public address of the wallet that will send the payment into
Paying wallet address. Use a0xaddress for the Base and Robinhood Chain routes and a Solana address for SOL. The address binds the request to your transfer. Checkout needs no wallet connection, no signature and no seed phrase, and you send nothing yet. - 4
Accept the policies
Tick
I agree to the Terms, Privacy Policy and Refund Policy.Under it checkout names the seller, the support address and the terms version.Create payment requeststays disabled until a route, a valid address and the checkbox are all set. - 5
Create the request
Press
Create payment request. The server prices the request and gives it a unique exact amount. Creating a request moves no money, and a request you never pay runs out when its timer ends. - 6
Save the recovery code
Checkout shows
Save this private recovery code first. Use the copy button next to the code to store it somewhere safe, then pressI saved this recovery code. The payment details stay hidden until you do. See The recovery code. - 7
Send the exact payment
The request lists
Network and assetwith the amount in whole units,Recipient,Required sender,Exact atomic amountand, for USDC and USDG,Verified token contract or mint, each with a copy button, plus a countdown. Send exactly that amount, on that network, to that recipient, from theRequired senderwallet, before the countdown ends. Use the copy buttons rather than retyping. - 8
Paste the transaction hash
When your wallet shows the transaction, copy its hash into
Paste the transaction hash(on Solana the field readsPaste the transaction signature) and pressVerify payment. An EVM hash is0xfollowed by 64 hex characters. On Solana, checkout accepts a signature of 64 to 96 base58 characters. - 9
Wait for confirmation
The status line moves from
Transaction found. Waiting for finality.toPayment confirmed. Your lifetime access is active.and the card changes toLifetime access is active. On Base and Robinhood Chain the first line can end with a count such as3 confirmations remaining.;0 confirmations remaining.means the block count is met and checkout is waiting for the network'sfinalizedmark. On Solana checkout asks only for finalized data, so before finality you usually seeThe transaction is not finalized or indexed yet. Cashboard will keep checking.instead. See Timer, grace and finality for how long to allow. - 10
Download
Press
Downloadfor Windows or macOS. See Download and install.
Why the amount and the sender must match
Checkout has no account and no wallet connection, so it recognises your payment by the exact amount and the wallet it came from, together with the network, the asset and the recipient. All of these are fixed when you create the request. The server then reads the chain itself and compares what it finds with your request.
The amount
A stablecoin request is 199 plus a random suffix of 1 to 9999 of the token's smallest unit, so it lands between 199.000001 and 199.009999. ETH and SOL requests add the same kind of suffix to the quoted amount. While a request is open and for a few minutes after its timer ends, no second request from the same wallet on the same route gets the same figure, so one transfer can match only one request. Exact atomic amount shows the figure in the smallest unit, so 199.000001 USDC appears as 199000001, while the Network and asset line shows it in whole units. Send the figure shown to the last digit. A lower amount is rejected and so is a higher one, which means overpaying is not a safety margin.
The sender
The transfer must come from the wallet in Required sender, the one whose address you entered. For USDC and USDG, checkout reads the token's own transfer records in your transaction and adds up those that go from your wallet to the recipient, so what counts is the address the tokens left. For ETH it reads the transaction itself: the address that submitted it must be the one you entered, and it must go straight to the recipient. For SOL it counts plain transfers made directly to the recipient. A payment sent through a contract, a swap or another program is not counted for ETH or SOL.
What a rejection looks like
| Message | What it means |
|---|---|
The transferred amount is lower than the exact requested amount. | You sent less than the figure in Exact atomic amount, even by one unit of the smallest denomination. |
The transferred amount is higher than the exact requested amount. | You sent more than the figure in Exact atomic amount, even by one unit of the smallest denomination. |
The transaction sender does not match this payment request. | An ETH transaction was submitted from an address other than Required sender. For USDC, USDG and SOL, a transfer from another wallet shows the not a valid payment message below instead. |
The payment was sent to a different recipient. | An ETH transaction went to an address other than the recipient on your request. That includes a payment sent through a contract. |
The submitted transaction is not a valid payment for this request. | The transaction holds no transfer of the right asset from your wallet to the recipient. For USDC and USDG a wrong sender, recipient or token ends here. For SOL, only plain transfers made directly to the recipient count, so another sender, another recipient or a payment through another program ends here. |
The submitted transaction failed on-chain. | An ETH or SOL transaction from the right wallet to the recipient failed, so it carried no payment. A failed USDC or USDG transaction holds no transfer record, so it shows the not a valid payment message above instead. |
The transaction was created before this payment request. | The block that holds the transaction is dated before the request was created, with a margin of one second. Every request needs a fresh transfer. |
This payment request expired before the transaction was observed. | The block that holds your transfer came more than 2 minutes after the timer ended. |
This transaction has already been used for another purchase. | That hash was counted once already. A transaction can serve one purchase only. |
On Base and Robinhood Chain, amount and sender are checked as soon as the transaction is found, so a rejection can appear before the transfer is final. On Solana a transaction is not seen until it is final. A rejection applies to that transaction.
A transfer on the wrong network behaves differently. Checkout looks for your hash only on the network of your request, so a transaction sent on another chain is not found and gets no rejection reason. Checkout keeps saying The transaction is not finalized or indexed yet. If that message does not clear, look the hash up on a block explorer for the network you chose before you decide that checkout is slow.
Timer, grace and finality
Each request has a countdown. Its default length is 15 minutes for USDC and USDG and 5 minutes for ETH and SOL, and the timer on your request is the one to follow.
- Cashboard compares the time of the block that holds your transfer with the deadline, not the moment you press
Verify payment. A transfer included up to 2 minutes after the timer ended is still accepted. A transfer older than the request is rejected. - If the timer has ended and you have not paid, do not send. Press the refresh icon next to
Verify payment, titledCreate a new payment request, and start over with the new amount. That button makes your browser forget the current request, so do not press it after you have sent a payment for it unless you saved its recovery code. - If you sent in time and the timer has since ended, paste the hash anyway. The page reads
Expired, and after a check the status line can readThis payment request has expired.while your transfer is still being found or is waiting for finality. A transfer that landed in time can still be verified. - A request that never gets a verified payment is kept for a limited period, 90 days by default. Verify a valid payment soon rather than leaving it.
Finality
Access is issued only when Cashboard's own server sees the payment as final, not when your wallet shows it as sent.
| Network | Rule |
|---|---|
| Base | At least 12 blocks, counting the block that holds your payment, and that block at or below the network's finalized block. |
| Robinhood Chain | The same rule as Base. |
| Solana | The transaction status is finalized. |
On Base and Robinhood Chain both conditions must hold, so a payment can have its 12 blocks and still wait for the finalized mark. Cashboard does not state how long finality takes, because it depends on the network, so allow time and do not send a second payment while you wait. After you paste a valid hash, the page re-checks by itself up to 6 times, starting about 8 seconds later and then about 16, 32 and 60 seconds apart, which covers roughly the first four minutes while the page stays open. After that, or after a rejection, it stops checking by itself and you press Verify payment to check again.
The recovery code
The recovery code is the only thing that ties you to your purchase. Checkout has no account, no email and no lookup by wallet, so the code is how you verify a payment on another device, restore your access and download again.
| Format | Starts with CB1., then your request id, a dot and a long private secret. Treat the whole string as one password. |
|---|---|
| When it appears | Right after you create a request, under Save this private recovery code first. It shows again on the Lifetime access is active card. |
| What it restores | The request on another browser or device, so you can paste a hash and verify. Once the payment is confirmed, your access and fresh download links. |
| Where it lives | With you. The server keeps only a SHA-256 hash of the secret part, which cannot be turned back into the code. Your browser also keeps the code and the last transaction hash you pasted in its local storage, so a reload resumes the request, until you clear site data or press the refresh icon (Create a new payment request). |
| How long it works | A confirmed purchase is stored without an expiry date, so the code keeps working. A request that is never paid is kept 90 days by default. |
Restore a purchase
- 1
Open the access section
Go to the access section of cashboard.live in any browser. In the browser you paid from, the section usually reopens your request or the
Lifetime access is activecard by itself, because the browser keeps the request. Then you can skip the next steps. - 2
Open the restore box
Expand
Already paid? Restore lifetime access. It is open by default when new sales are paused. The box shows only while no request is open on the page. If the page already shows a request you do not need, press the refresh icon (Create a new payment request) first, after you saved that request's recovery code. - 3
Paste the code
Paste the whole code into the field that shows
CB1.…. The button stays disabled until the text has the right shape. - 4
Press Restore purchase
A confirmed purchase shows
Lifetime access restored.and the download panels. A request that is still waiting showsPayment request restored., and you can paste the hash and verify.
If you lose the code
If the same browser still holds the request, reload the access section: checkout restores the request and shows the code again. Copy it at once. If you cleared site data or changed device without saving the code, checkout cannot recreate it, because Cashboard keeps only the hash. Write to contact@cashboard.live with the network and the transaction hash. These docs cannot say what support can do in that case.
Download and install
Once the payment is confirmed, the card reads Lifetime access is active and offers one panel per system. Windows says Windows 10 or 11, 64-bit, .exe installer and macOS says macOS 13 Ventura or later, Apple Silicon and Intel, .dmg, each with its Version. A This device badge marks the system your browser reports, which is a guess. The purchase covers both, so you can download either or both.
Download creates a private link for that system. The link works once and lasts 5 minutes. If it has expired or been used, the browser tab shows a short error that reads Download link is invalid or expired or Download link was already used. Generate a new link with your recovery code. Go back to the card and press Download again, or restore your purchase first.
- Windows: the installer is a step-by-step wizard that installs for your user account and lets you change the folder. SmartScreen may block an unsigned installer. Choose
More info, thenRun anyway. - macOS: the app is not notarized, so macOS asks you to approve it once. Open
System Settings, thenPrivacy & Security, and chooseOpen Anyway.
Get the installer only from the access section of cashboard.live. Checkout collects no email address, so it cannot send you a payment request, a recovery code or an installer by email. Treat a message that offers one as suspicious.
Updates
The installed app does not update itself and does not tell you when a newer version exists. The download icon in the top bar (named Desktop updates for screen readers) opens Cashboard updates, which shows Installed version with your number. In a purchased build the panel says Get the newest installer through your secure lifetime-access download page. and offers Open secure download page, which opens cashboard.live in your browser.
To update, open the access section. In the browser you paid from it usually shows the Lifetime access is active card by itself, and anywhere else you restore your purchase with the recovery code. Press Download for your system and run the new installer. The access section shows the newest version, 0.4.2 as of October 2026. Your boards live in the app's local database, and uninstalling does not delete that data. Export the boards you care about before you install anyway: press Ctrl K on Windows or Cmd K on macOS and choose Export this board. The desktop guide has the same steps from the app's side.
When something goes wrong
Find the message you see, then follow the matching step. For every row, do not send a second payment until you understand what happened to the first.
| What you see | What it means | What to do |
|---|---|---|
Transaction found. Waiting for finality. | The server has seen your transfer, but it is not final yet. | Wait, then press Verify payment again. |
The transaction is not finalized or indexed yet. Cashboard will keep checking. | The server cannot see the transaction yet, or it is not final. A transaction sent on a different network looks the same, and so does a Solana transaction that is not finalized yet. | Allow the finality time of your network, then check on a block explorer that the hash exists on the network you chose. |
| A rejection message from the table above | The transfer does not match the request. | Compare the message with your request. While the request is open, a new transfer that matches it exactly can still be verified, but checkout does not move the rejected transfer to it. If the request has expired, create a new one first. Write to support about the rejected transfer. |
Purchase intent was not found when you restore | The code has the right shape but matches no request, for example because one character is wrong. | Paste the code again from where you saved it. If it still fails, write to support. |
This payment request has expired. | The request's timer has run out and the payment is not confirmed yet. The line does not say whether your transfer was found, so it can appear while a transfer that landed in time is waiting for finality. | If you did not pay, create a new request. If you paid in time, keep the page open and press Verify payment again after a few minutes, and do not send a second payment. |
Too many checkout requests. Please wait and try again. | Checkout limits how often one connection can create requests, verify transactions, restore a purchase or ask for download links. The same transaction can be checked 12 times in ten minutes, and the automatic re-checks use some of them. | Wait about ten minutes. |
The purchase terms changed. Reload checkout and accept the current policies. | The terms version changed after you loaded the page. | Reload the page, accept the policies again and create a new request. |
Checkout dependencies are not ready | The server could not confirm that the chain or the installer was ready, so it issued no payment details. | Send nothing. Try again later. |
A fresh native payment quote is unavailable | The price feed for ETH or SOL failed. | Retry, or choose USDC or USDG. |
Payment verification is temporarily unavailable | The chain data provider did not answer. | Press Verify payment again later and keep your recovery code. |
Browser storage is unavailable. Save the recovery code before continuing or this request cannot be restored after closing the page. | The browser refused to store the request locally, so a reload will not bring it back. | Copy the recovery code before anything else and keep the page open until you have it. |
New purchases are temporarily paused. | Sales are paused, for example because checkout cannot reach one of its payment networks at that moment. Restoring and downloading still work. | Start no new transfer. If you already paid, paste the hash under your request: New payments are paused. If you already sent this payment, paste its transaction below for verification. |
Checkout availability is temporarily unavailable. No payment can be created. | Shown beside the card when sales are not active and an error is showing, most often because the page could not load checkout availability. In that case the chip and the card read coming soon as well. | Reload later. Create nothing while this shows. |
Chip reads coming soon and the card reads Launch offer · coming soon | Checkout is closed until every payment and download service is ready. The restore box is not shown on this card either. | Come back later. The web app works in the meantime. |
The macOS panel shows Coming soon | The macOS installer is not published at that moment. | Come back with your recovery code. Windows does not depend on it. |
Download is temporarily unavailable in the browser tab | The download service could not fetch the installer at that moment. | Go back and press Download again later. |
A valid payment that does not activate access
This is the case where the amount, the sending wallet, the network and the timing were all correct, the transaction shows as final on a block explorer, and checkout still has not confirmed it.
- Keep the recovery code and the transaction id, and do not pay again.
- Press
Verify paymentonce more after a few minutes, because a provider outage can clear by itself. - Write to contact@cashboard.live with the network and the transaction id. Keep the recovery code private and never post it in public.
The status page lists Lifetime access payments, Protected Windows downloads and Protected macOS downloads. Configured there does not mean checkout is open; the chip in the access section does.
Policies, seller and support
Checkout asks you to accept three documents before it creates a request: Terms, Privacy and the Refund Policy. The terms version you accept is stored with your request. Checkout prints the seller before you pay, in the form Sold by CashBoard Group in EU. Support: contact@cashboard.live. Terms version 2026-09-20. Read the line on your own page, because that is the one that applies to your purchase.
| Seller | CashBoard Group, EU |
|---|---|
| Support | contact@cashboard.live |
| Terms version | 2026-09-20, as of October 2026 |
| What checkout stores | Listed on Privacy. |
This page describes how checkout works. It does not set policy, and it makes no promise about refunds, refund windows or response times. The Refund Policy is the document that applies. For what the rest of the app sends and stores, see Privacy and data.
Frequently asked questions
How much is lifetime access and what does it cover?
It is a one-time payment of $199 as of October 2026, in crypto, with no subscription. One purchase covers the Windows and the macOS installer of Cashboard Desktop. The web app is free either way.
Can I pay with another token or on another network?
No. Only USDC on Base, ETH on Base, USDG on Robinhood Chain and SOL on Solana are accepted. The same token on a different network, such as USDC on Ethereum, does not count, and checkout cannot see that transaction.
What happens if I send the wrong amount or pay from a different wallet?
Checkout rejects the transfer and does not activate access. It only reads the blockchain and has no feature that returns a payment or moves it to another request. Whether a payment can be returned is a question for the Refund Policy at cashboard.live/refunds and for contact@cashboard.live, and these docs do not set it.
How long until my access is active?
Access is issued when the payment is final: as of October 2026, 12 confirmations plus a finalized block on Base and Robinhood Chain, and finalized status on Solana. Cashboard does not state how long that takes, because it depends on the network. Checkout re-checks for about four minutes after you paste the hash, and you can press Verify payment again after that.
What if I lose my recovery code?
Checkout cannot recreate it, because Cashboard keeps only a one-way hash of its secret part and has no lookup by email or wallet. If your browser still holds the request, reload the access section and the code appears again. Otherwise write to contact@cashboard.live with the network and the transaction hash.
Does the installed app update itself?
No. Purchased builds do not check for or install updates. Restore your purchase with the recovery code, download the newest installer and run it. Export your boards first as a precaution.
Last checked against the code on . Found something out of date? Write to contact@cashboard.live. Market data comes from the providers named on each widget and may be delayed. Nothing here is financial advice.
Cashboard