Banking

Several banks, one home account, and savings and loans funded from real bank equity rather than thin air.

Banks, accounts and your home bank

The server runs more than one bank. Ripe Iron Bank is the default one: you hold an account there without ever opening it, and you cannot close it. Every faction may found a bank of its own, and where a faction permits it, individual players may found private banks. You may hold accounts at as many banks as you like.

Exactly one of your accounts is your home account. It is the account /pay pays out of, the account a foreign ATM falls back to when you have no account at the bank whose machine you are standing in front of, and the account wages and dividends arrive in.

Kind of bankFounded byWhere its capital sitsWho manages it
Default (Ripe Iron Bank)ships with the serverits own stored equity, which starts at zeronobody in game; its fee schedule is read from the server settings on every boot
Faction/bank create faction [name], Elder rank or higher, one per factionthe faction treasury itself, the same coins under a second nameElder rank or higher
Private/bank create private <name> [capital], paid from the founder's own walletits own stored equitythe founder alone

Your account balances are stored beside your wallet in the same player record. That is why a deposit or a withdrawal is one write and cannot half-happen: the coins leave one pot and arrive in the other inside a single save, so "debited but not credited" is not a state the server can reach. Opening, switching and closing behave the same way.

Opening, switching, closing

  • Open: /bank open <bank>, or the open button at that bank's helpdesk. The bank's flat opening fee moves from your wallet into its equity. The wallet debit is the only gate, and the bank is credited only after your wallet has actually paid, so a failed payment cannot leave the bank richer. Refusals are named rather than silent: you already hold that account, no such bank, not enough cash, or your wallet is negative.
  • Switch: /bank sethome <bank>. Refused if the bank does not exist or you hold no account there.
  • Close: /bank close <bank>. The balance returns to your wallet and the account row is deleted in the same save. Ripe Iron cannot be closed. If the bank you closed was your home, your home falls back to Ripe Iron.

Closing an account does not close a loan. The loan is stored under a different key from the account and outlives it. Walking away from the account you borrowed into leaves the debt exactly where it was.

The ATM and the helpdesk

Both terminals are built out of blocks, not summoned by a command.

  • ATM: a quartz block with a quartz stair directly on top of it.
  • Helpdesk: a lectern with a quartz stair immediately left and right of it. Either horizontal axis validates, so north and south works as well as east and west.

Building the shape is not enough on its own. Someone who can manage the bank (Elder rank or higher in the owning faction, the founder of a private bank, or an admin) registers it with /bank register atm <bank> or /bank register helpdesk <bank>. Registration refuses a shape that does not match, and refuses a footprint that overlaps a terminal somebody already registered.

A terminal is a place, not an object

A quartz block cannot carry hidden data: plain blocks are not the kind of block that stores anything. So the server marks nothing at all. It stores the anchor coordinates, the world, the owning bank and, for a helpdesk, which axis the stairs run along, then re-checks the shape when you click. Teleporters work the same way. The practical consequence is that mining the quartz and setting it down somewhere else gives you a quartz block, not a second bank machine.

One way down

Every teardown runs through a single demolition path, which is why nothing is ever left orphaned behind a removed machine:

  • A manager or an admin who sneaks and breaks a structure block deregisters the terminal, and the break goes through.
  • Anyone else breaking a structure block is refused, and so is placing a block inside the footprint.
  • An explosion that catches the structure deregisters it once, even when the blast takes several of its blocks in the same tick.
  • /bank unregister takes it down deliberately.

All four routes remove the floating text along with the machine, and dissolving a bank tears down every terminal registered to it through the same path.

The floating text

Every registered terminal carries a hovering label above it. It names the bank, says whether this is an ATM or a helpdesk, and prints the fees you will actually be charged here: an ATM shows the cross-bank withdrawal fee, a helpdesk shows the account-opening fee and the pay fee, and a faction bank additionally shows its capital. The last line reads "Right-click to use". The label refreshes every five seconds, so a fee the owner just changed is visible before you click it. It is not a saved entity: it is rebuilt when the server starts and when its chunk loads, and it is never spawned into a chunk that is not loaded.

Bedrock

Opening a terminal accepts a Java right-click and a Bedrock tap alike. Inside the screens, every action is a plain left click: preset amounts (100, 1,000, 10,000, half, all) and plus/minus steppers for owner settings. Nothing asks you to type into an anvil or a sign. Where a value genuinely cannot be clicked, such as the name of the player you want to pay, the screen closes and hands you the command to type instead.

What each surface allows

A banking task can start from five places: an ATM, a helpdesk in customer view, the same helpdesk in manager view, the /bank menu you can open from anywhere, and the Banking Goods door in the event shop. One table decides what each place may start, and both the drawing of the buttons and the handling of the clicks ask that same table. A button you can see is therefore a button that works, and a task that moved cannot leave a live but invisible slot behind.

TaskATMHelpdesk/bankEvent shop door
Deposityesyesyesno
Withdrawyesyesnono
Mint physical notesyesnonono
Pay another playeryesnonono
Savingsnoyesnono
Loansnoyesnono
Buy commoditiesnoyesnoyes
Sell commodities backnoyesnono
Have bullion assayednoyesnono
Metal vaultnoyesnono
Stock marketnoyesyesno
Your portfolionoyesyesno
Open an accountnoyesnono

The manager view is the fifth surface. It carries none of the tasks above; it carries the owner controls instead, and you reach it by right-clicking a helpdesk of a bank you can manage. A manager who wants their own customer screen sneaks and right-clicks the same block.

The ATM does not simply hide savings and loans. It paints them as refusal cards that name where the task can be done and give you the command to type, because an empty slot teaches nothing and a silently dropped row would shift every button under it out from under a Bedrock player's finger.

The table governs the menus, not the commands. /bank savings, /bank loan and the rest stay available as the typed fallback; that is deliberate, so that no capability is reachable only by mouse.

One more restriction sits outside the table: /pay only works within 6 blocks of a registered ATM or helpdesk. Money moves account to account, so you have to be standing at a bank to move it.

Fees, spreads and where they land

Every charge in this system is a transfer. Coins move from a player pot into a bank's equity; nothing is created and nothing is destroyed. For a faction bank, that equity is the treasury, so a fee paid at a faction bank is visibly a payment to that faction.

An owner sets their own rates through the plus and minus steppers in the manager view, within ceilings the server enforces on write. A value outside the range is clamped as it is stored, so a confiscatory fee cannot be saved and then quietly charged. A negative or nonsensical value floors to zero.

ChargeDefaultWhat an owner may setWhere it goes
Opening an account100 coins0 to 5,000that bank's equity
Withdrawing at a foreign ATM25 coins0 to 1,000the host bank's equity
Withdrawing at your own bank's ATMfreenot chargeablenowhere
Surcharge on /pay10 coins0 to 1,000the paying bank's equity
Commodity spread10 percent over the reference price0 to 100 percentthat bank's equity
Savings margin0added on top of the server savings rateraises what the bank pays out
Loan margin0added on top of the server loan ratethat bank's equity
Loan-to-value cap0.5up to the server ceiling of 0.5limits lending
Minimum credit score500300 to 850; the server floor of 500 also applieslimits lending
Daily buy-back budget100,000 coinsany amount from 0 upwardcaps what the bank pays for metal in a day

Two of these deserve a second look. The foreign ATM fee is charged by the machine you are standing at, not by your own bank, and it comes out of your home account on top of the amount you asked for; the withdraw presets are calculated against your balance minus the fee, so "all" means the largest amount that can actually go through. The minimum credit score stacks the other way from the loan-to-value cap: the bank and the server each name a floor and the stricter one binds, while for loan-to-value the more cautious of the two caps binds.

When the economy simulation is running, bank fees scale with the price level of the zone you are in, still bounded by the same ceilings. With the simulation off the multiplier is exactly one, and the fee you are charged is the base figure untouched.

Savings, and why a poor bank pays badly

You get one savings book, and it is anchored to the bank where you opened it. Money moves between the savings book and your account at that same anchor bank, never straight from your wallet: cash goes into the account first, then across. Open and move it with /bank savings [open|deposit|withdraw <amount>], or from the savings screen at a helpdesk.

Your rate is the server's base rate plus the anchor bank's savings margin, then clamped into the permitted band:

TermValueNote
Server base rate0.02 per daythe same figure for everyone
Anchor bank's margin0 by defaultset by that bank's owner
Permitted band0 to 0.10 per daythe sum is clamped into this range

The important part is where the money comes from. Interest is paid out of the anchor bank's own equity and moves into your savings book. It is a transfer between two real pots, not a printing press, and it is capped at what the bank can actually spare: capital minus the reserve it must hold against its outstanding loans. A bank that has earned nothing pays nothing.

Ripe Iron Bank starts with an equity of zero. Early in a world, saving at the default bank yields very little, and that is the design rather than a fault. Bank equity grows out of fees and out of the margin on loans, so interest follows real activity.

Interest compounds: the amount paid is written back into the balance and the next run reads it. It is calculated from elapsed real time rather than from how often the payout task happens to run, so the yield over a real day is the same whether the server pays once a day or many times a day. Downtime is caught up in steps of at most one day, and the catch-up is capped at 72 hours.

Savings interest counts as income for the money supply, but it is not taxed by default. Your savings book is counted in your wealth for /baltop and in the net worth a lender measures you by.

Loans, credit and default

Every player carries a credit score between 300 and 850, starting at 600. You can read it with /bank credit but you cannot set it; it moves only through your repayment behaviour. Loans run through /bank loan [request|repay <amount>|info] or the loan screen at a helpdesk.

Getting one

A request is checked against all of the following, and any single failure refuses it:

  • Your credit is at least the bank's floor or the server's floor of 500, whichever is higher.
  • You hold an account at that bank, and your wallet is not negative.
  • You have no other loan at that same bank. One loan per bank is the rule.
  • The amount fits under the loan-to-value cap: the lower of the bank's appetite and the server ceiling of 0.5, multiplied by your net worth, minus the debt you already carry. Net worth here is wallet plus accounts plus savings plus shares and vaulted metal, less debt.
  • The bank actually has the money: the principal must fit inside its capital minus the reserve it holds against its existing loan book.

The subtraction of existing debt matters. Because the money you just borrowed sits in your account and cancels the debt in the same calculation, a per-bank limit without it would let you draw the full cap at every bank in turn. Netting the debt off bounds your total borrowing across all banks at once.

What it costs

TermValue
Server base rate0.05 per day
Risk premium(700 minus your credit score) multiplied by 0.00025, floored at 0 and capped at 0.15
Bank marginset by the owner, 0 by default
Permitted bandthe sum is clamped to between 0.02 and 0.30 per day
Instalmentthe accrued interest plus 10 percent of the principal per day
Gracedefault fires at 3 missed days

At a score of 700 or higher the risk premium is zero; at 300 it reaches its practical maximum near 0.10. Your rate is fixed when the loan opens and is stored on the loan, so a later change to your score, or to a skill that reduces loan rates, never moves interest on a debt you are already carrying.

The principal is a transfer of the bank's equity into your account. Nothing is minted, which is the reason a bank has to hold real capital before it can lend.

Repayment, arrears and default

Repayment is automatic. Each day the interest accrues, and the schedule takes the instalment from your account when the account can afford it. A clean payment resets your arrears counter, and clearing the loan raises your score.

EventEffect on your score
An instalment paid on timeplus 5
A day missedminus 15, and the arrears counter advances by one day
Defaultminus 120, on top of the misses that led to it

When the account cannot afford the instalment, your arrears counter advances and your score drops. At 3 days of arrears the loan defaults, and default is real:

  • The bank recovers what it can, which is the smaller of the amount owed and your account balance plus whatever positive cash is in your wallet.
  • Any shortfall left over drives your wallet negative. The debt does not disappear; it becomes a hole you have to climb out of.
  • The account at that bank is closed. At Ripe Iron, which cannot be closed, it is zeroed instead.
  • A negative wallet blocks you from opening new accounts and from taking new loans until you have cleared it.

Downtime does not manufacture a default. A catch-up is processed one day at a time, so a borrower who could afford each daily instalment is not asked for three at once and defaulted for failing.

Founding a bank of your own

A faction bank

/bank create faction [name] creates your faction's bank. It needs Elder rank or higher, and a faction may hold exactly one. There is no starting capital to pay and none is granted, because a faction bank's capital is the faction treasury. They are the same coins under two names, not two pots. Fees paid at the bank raise the treasury, interest paid out of it lowers the treasury, and a loan the bank issues comes out of money the faction actually has.

A private bank

/bank create private <name> [capital] founds a bank you own personally. Three gates stand in front of it: the server must have private banks enabled, your faction's leader must have switched them on with /faction privatebanks on (this is off by default), and you must put up at least 50,000 coins of starting capital.

That capital comes out of your own wallet and becomes the bank's equity. Money is moved, never created: the server's money supply is the same before and after, and your wallet is exactly that much lighter. Founding a bank is a transfer of your savings into an institution, with the risk that implies.

A refused request tells you which gate stopped it: private banks disabled server-wide, your faction not allowing them, you not being in a faction, or not enough cash. On success you automatically hold an account at your own bank; you then build and register an ATM or a helpdesk the same way any other bank does.

Running it

The manager view of your helpdesk is where you set the account fee, the foreign-ATM fee, the pay fee, the commodity spread and the loan margin, each clamped to the server ceiling as it is stored. It also shows a plain balance sheet: capital, the loan book, the reserve held against it, what you could lend right now, and your solvency stated in words.

Your bank earns from real activity. Every account opened, every foreign withdrawal, every /pay funded from it, every commodity sold across its counter and every point of margin on its loans accrues to its equity. /bank withdraw-profit <bank> <amount>, or the withdraw button in the manager view, moves that equity into your account.

You cannot draw a private bank down to nothing. Withdrawals stop at the reserve floor, which is one coin of capital held for every coin of loan outstanding. The same floor caps the savings interest your bank pays, so a bank cannot pay its savers below its obligations to its borrowers either.

When a bank is dissolved

A faction bank ends when its faction disbands. The dissolution runs before the faction record is removed, so the treasury it settles against is still there, and it walks every player who held an account or a loan at that bank.

What you heldWhat happens to it
A positive account balancerefunded straight to your wallet
An outstanding loansettled out of the refund you just received, up to the smaller of the two, paid into the dissolving faction's treasury
The part of a loan the refund cannot coverwritten off; the debt is forgiven rather than left dangling
The bank's ATMs and helpdesksdemolished through the same single path, floating text included

If you are online you are told why your wallet jumped up by the refund and then dropped by the settlement in the same moment. Account rows and loan rows are scanned independently, because a borrower who closed their account still owns the loan, and checking only account holders would leave exactly those loans behind.

The whole dissolution commits as one write, and the money supply is recounted afterwards as a self-check: both legs are transfers, so the recount has to land on the number it started at.

A bank whose faction is gone but which has not been cleaned up is refused as a counterparty. You cannot open an account there, withdraw from its ATM or buy commodities across its counter, and a payment that would have credited it is routed to the default bank's equity instead of vanishing.

The /bank commands

Everything the menus do has a typed equivalent. The list below is the whole verb tree; tab completion offers every entry in it, and the server checks at start-up that the offered list and the handled list are identical, so a verb cannot quietly go missing from one of them.

CommandWhat it does
/bank, /bank guithe overview menu
/bank balanceyour wallet and your account
/bank deposit <amount>, /bank withdraw <amount>move cash between wallet and account
/bank note <amount>turn account money into physical notes
/bank list, /bank info <bank>the banks that exist, and one bank's details
/bank open <bank>, /bank close <bank>open or close an account
/bank sethome <bank>choose your home account
/bank savings [open|deposit|withdraw <amount>]the savings book
/bank loan [request|repay <amount>|info]borrow, repay, or read your loan
/bank credityour credit score
/bank stocks [list|portfolio|buy|sell|buyback|delist|issue]the share market and your holdings
/bank buythe commodity counter
/bank create faction|privatefound a bank
/bank withdraw-profit <bank> <amount>draw a private bank's profit into your account
/bank register atm|helpdesk <bank>, /bank unregisterput a terminal on or off the network
/bank help [topic]eight in-game pages: accounts, notes, atm, helpdesk, banks, savings, loans, stocks

/bank help reads the live figures rather than a written copy of them, so the fees and rates it prints are the ones you would actually be charged today.

Honesty note: much of the newer banking layer is marked in the project documentation as written and adversarially reviewed but not verified on the live server. Treat the numbers here as what the code does, and expect the occasional correction once a system has had real players through it.