Wallet and billing
Marina is prepaid. You top up with Mobile Money, and what you run comes out of the balance.
There is no card. You keep a wallet, you top it up with Mobile Money, and what you run is charged against the balance. Nothing can bill you past what is in it, and nothing renews behind your back, because there is nothing to renew against.
Topping up
marina wallet topup That prints your balance, the number to send Mobile Money to, and your payment code:
Balance GHS 2.58
Top up with Mobile Money:
Send to 0558863139 (ISAAC KWEKU BADU SMITH)
Reference <your code> Run it to see your own code in place of the slot above. Send money to that number with that code as the reference: it is permanent, it is yours alone, and it is what tells us whose wallet to credit, so it has to be exact. Save it once and you never need this command again.
The balance updates on its own once the payment is verified, usually within a few minutes. A slow one is not a lost one: it lands whenever it arrives, and you do not need to send it again.
Do it before you start
This matters most for anything running without you. An agent deploying at two in the morning has nobody to ask for money, so the wallet is what keeps it moving.
If a purchase does find the wallet short, nothing is created and nothing is charged. The refusal tells you exactly what to do:
Your wallet is short GHS 187.42.
This costs GHS 190.00, and the wallet holds GHS 2.58.
Top up with Mobile Money:
Send to 0558863139 (ISAAC KWEKU BADU SMITH)
Reference <your code> Nothing is queued behind that. Top up, run the same command again, and it goes through.
What things cost
Marina bills for what you run, monthly, from the balance. A static site, an app by the memory it reserves, a database by its storage, email by tier, a domain annually. The pricing page has the rates.
Your first site is free, permanently, so you can watch the whole thing work before you spend anything. Managed SQLite has a free tier too, at 200 MB.
Spend caps
A credential can carry a lifetime cap:
marina tokens create agent --preset agent --spend 200 That is optional. The wallet already bounds what anything can spend, because it is prepaid and cannot go negative. A cap bounds spend across time as well, which is the bound that matters for something running unattended: an agent stuck in a loop can drain a wallet you keep topped up for hosting, and a cap stops it at the number you set.
Two presets cannot spend at all. readonly looks, and deploy ships code to apps that already exist, so neither can grow your bill however wrong the thing holding it goes.
Invoices
marina wallet invoices Every charge is on the record, and you can see what each period billed you for.
