Required Reserves Calculator
With 1,250,000 in reservable deposits and an 8.5% requirement, a bank must hold 106,250; holding 150,000 leaves 43,750 in excess reserves available to lend. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Total deposits
- 1,250,000
- Reserve requirement ratio
- 8.5
- Actual reserves
- 150,000
- Required reserves
- 106,250
- Excess reserves
- 43,750
- Available to lend
- 43,750
- Reserve shortfall
- 0
This required reserves calculator turns a bank's total reservable deposits and reserve requirement percentage into the minimum reserves it must hold. Add the reserves currently held to see whether the bank has excess reserves available to lend or faces a shortfall. The calculation is deterministic, uses no external data, and keeps every monetary result in the same currency as the inputs. It is useful for economics exercises, banking scenarios, internal planning examples, and quick checks of the direct reserve requirement formula.
Enter values that share one monetary basis
Start with total reservable deposits, not the bank's total assets, equity, or every liability on its balance sheet. Then enter the reserve requirement as a percentage. For example, enter ten for a ten percent requirement rather than entering a decimal fraction.
Finally, provide the actual reserves currently held. Total deposits and actual reserves must use the same currency and scale: if deposits are entered in dollars, reserves must also be dollars; if deposits are entered in millions of euros, reserves must also be in millions of euros. The calculator does not convert currencies or infer whether a particular deposit category is legally reservable.
Those classifications depend on the governing rules and accounting context, so establish the appropriate deposit base before calculating. All three inputs must be finite, nonnegative numbers. A percentage above one hundred is rejected because it falls outside this calculator's defined reserve-ratio model.
Keeping the inputs consistent makes the resulting required reserves, excess reserves, and shortfall directly comparable.
Understand the required-reserve formula
Required reserves equal total deposits multiplied by the reserve requirement percentage divided by one hundred. If a bank has one million currency units in reservable deposits and the requirement is ten percent, the required reserve amount is one hundred thousand currency units. The calculator rounds monetary results to two decimal places for stable, readable output.
It then subtracts required reserves from actual reserves. A positive difference is reported as excess reserves and as the amount available to lend under this simplified model. A negative difference is not presented as negative lending capacity.
Instead, available lending and excess reserves become zero, while the magnitude of the difference appears as a reserve shortfall. This distinction is important: a bank below its requirement does not have a negative pool of money to lend; it has a compliance gap to cover. The reserve requirement percentage is also returned unchanged so the result remains easy to audit against the inputs and formula.
Interpret lending capacity with appropriate limits
The available-to-lend result is a direct excess-reserve calculation, not a complete lending decision. It answers how much actual reserves exceed the stated minimum after applying the chosen reserve ratio to the chosen deposit base. Real banks may face additional liquidity rules, capital requirements, internal risk limits, settlement needs, cash-flow forecasts, and jurisdiction-specific definitions that reduce or otherwise change practical lending capacity.
The calculator deliberately does not fetch a current statutory ratio because requirements can vary by institution, account type, country, and date. Supply the ratio that applies to the scenario you are analyzing. For classroom work, the output makes the textbook relationship visible and separates surplus from deficit cleanly.
For planning or review, it provides a reproducible first-pass figure that can be placed beside more detailed constraints.
What you can do with it
Check a textbook banking scenario
Apply a stated reserve ratio to deposits and verify both the required amount and any lendable excess.
Compare reserve-policy assumptions
Run the same deposit and actual-reserve figures with different hypothetical ratios to see how the requirement changes.
Identify a reserve shortfall
Detect when actual reserves fall below the calculated minimum and quantify the gap without showing misleading negative lending capacity.
FAQ
What formula does the calculator use?
Required reserves equal total deposits multiplied by the reserve requirement percentage divided by one hundred. Excess reserves equal actual reserves minus required reserves when that difference is positive.
Should I enter ten percent as 10 or 0.10?
Enter 10. The reserve requirement input is a percentage from zero through one hundred, not a decimal fraction.
Which currency should I use?
Any currency works, provided total deposits and actual reserves use the same currency and scale. The output keeps that same basis.
Does available to lend equal the bank's final lending limit?
No. It is the simplified excess-reserve amount. Capital, liquidity, risk, legal, and operational constraints may further limit actual lending.
What happens if the bank holds less than required?
The gap is reported as a reserve shortfall, and both excess reserves and the amount available to lend are set to zero. A bank below its requirement has a compliance gap to cover, not negative money to lend.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/econ/required-reserves \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"total_deposits":1000000,"reserve_requirement_ratio":10,"actual_reserves":135000}'const res = await fetch("https://api.kit.forhosting.com/econ/required-reserves", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"total_deposits": 1000000,
"reserve_requirement_ratio": 10,
"actual_reserves": 135000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/econ/required-reserves",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"total_deposits": 1000000,
"reserve_requirement_ratio": 10,
"actual_reserves": 135000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/econ/required-reserves", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"total_deposits":1000000,"reserve_requirement_ratio":10,"actual_reserves":135000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"total_deposits":1000000,"reserve_requirement_ratio":10,"actual_reserves":135000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/econ/required-reserves", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"total_deposits": 1000000,
"reserve_requirement_ratio": 10,
"actual_reserves": 135000
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "econ.required_reserves",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
Interpret lending capacity with appropriate limits
API calls cost $0.002 per calculation, while the same deterministic arithmetic can support repeatable checks without hidden assumptions, network calls, changing reference data, or random behavior.
Technical questions
What happens if actual reserves are below required reserves?
Excess reserves and available to lend are reported as zero, and the missing amount is reported as reserve_shortfall.
What does an API calculation cost?
Each API calculation costs $0.002.