Leashd
Bank feeds
Astro
Feeds
Agents reporting
Last memo
Cycle
Leashd dashboard

Sign in

Your ledger, your agents, your rules.

Leashd is in closed beta. Accounts are invite only. Ask for access and we will get back to you.

Leashd dashboard

Reset your password

Type your email and we will send you a link. It works once and expires in an hour.

Leashd dashboard

Pick a new password

At least 12 characters. We check it against known breach lists before saving.

Two-factor

Enter your code

Open your authenticator app and type the 6-digit code for Leashd.

Loading your ledger…
Ledger

Ledger

Loading…

Spent
Charges, no memo
0
Memos, no charge
0
Rules broken
0
Matched rate

Daily spend

Per day · all agents

Spend by cost type

Leash tension

This month vs budget

Within paceAhead of paceExpected today

Charges no agent claimed

These hit the bank and no agent posted a memo for them.

WhenMerchantStatusAmount
Every charge has a memo. That's the goal.

Memos that never hit the bank

An agent said it spent this, and no matching charge has shown up yet.

PostedAgentTaskMerchant hintTypeAmount
No orphan memos.

Rules broken

Claimed charges that crossed a line you set.

No charge has broken a rule.

Recent charges

Every bank line, next to the memo it matched. The percent is how sure the match is.

WhenMerchantAgentMemoTypeMatchAmount
Agents

One key per agent.

Each agent gets its own key. The key is how a memo says who spent.

NameMonthly budgetSpent this monthPer chargePer dayKey last usedKey

New agent

Limits are optional. The monthly budget is what the leash gauge on the Ledger measures against.

Copy this key now. It is shown once; only a hash is kept. Put it in the agent's environment and send memos with Authorization: Bearer <key>.
Rules

Rules are the leash.

Rules grade every charge. A broken rule shows up here, in the export and in your daily digest.

RuleApplies toLimitOn

Add a rule

Recently broken

WhenMerchantWhat brokeAmount
No charge has broken a rule.
Connectors

Plug in the truth.

Where the money truth comes from, and how your agents report in.

Money in view

AccountTypeChargesLatest chargeLast syncStatus

Connect a bank or card

Test mode

Link an account once and it keeps itself in sync, read-only. You sign in with your bank inside their secure window; Leashd never sees your bank password and can never move money.

By connecting an account you agree to the Leashd Privacy Policy and consent to Leashd collecting, storing and processing the transaction data for that account, read-only, to run this service. The connection is provided by Plaid under the Plaid End User Privacy Policy. You can disconnect at any time.

InstitutionStatusLast sync

Upload a statement

Any bank or card: export a CSV from your bank, pick it here, tell Leashd which columns are which. Uploading the same rows twice adds nothing twice. New rows get matched to memos on the next daily pass.

Bank and card connectors

Statement uploadLive

A CSV export from any bank or card, anywhere. Above.

Bank connectionLive

Link any bank or card once, read-only, and it keeps itself in sync. Above.

Agent card programsComing soon

Direct feeds from the programs that issue cards to agents.

Tell us what you use

Wallets and pay-by-agent railsComing soon

Digital wallets, checkout links and the newer rails built for agents that pay on their own.

Tell us what you use

Usage billsComing soon

Metered API and compute invoices, matched against the small memos that add up to them.

Tell us what you use

Agent connectors

HTTP APILive

One POST per spend from anything that can make a request.

Claude Code pluginLive

Claude posts a memo whenever it spends. Under Get the app.

MCP server + CLILive

Any MCP-speaking agent, or a shell one-liner.

Security

Lock the door.

Your login is the only key to the ledger. Agent keys can never open it.

Two-factor sign in

Checking…

Add a code from an authenticator app (1Password, Google Authenticator, Authy) on top of your password. With it on, a stolen password is not enough.

Scan this QR code with your authenticator app

1. Scan the code with your authenticator app, or type this key in by hand:

2. Enter the 6-digit code it shows to finish.

Two-factor is on. You will be asked for a code every time you sign in.

Change password

At least 12 characters. Changing it signs you out everywhere else.

Password changed. Other devices were signed out.
Get the app

Take Leashd everywhere.

Leashd on your phone, in your terminal and inside your agents.

On your phone or desktop

iPhone: open this page in Safari, tap Share, then Add to Home Screen. Android and desktop Chrome: use the button.

Claude Code plugin

Adds two tools (record a spend, check status) and teaches Claude to memo every time it moves money. It asks for an agent key on install; make one under Agents.

curl -L https://leashd-api.vercel.app/download/leashd-claude-plugin.zip -o leashd-plugin.zip
unzip leashd-plugin.zip -d ~/leashd-plugin
claude plugin marketplace add ~/leashd-plugin
claude plugin install leashd@leashd

Command line + MCP server

One file, Node 18 or newer, nothing to install.

curl -L https://leashd-api.vercel.app/download/leashd.mjs -o leashd.mjs
node leashd.mjs login lsh_your_agent_key
node leashd.mjs memo 12.50 "OpenAI" "nightly embeddings" --type api
node leashd.mjs status

As an MCP server for any agent that speaks MCP:

claude mcp add leashd -e LEASHD_AGENT_KEY=lsh_your_agent_key -- node /path/to/leashd.mjs mcp
Download leashd.mjsDownload the Claude plugin
Leashd dashboard. Bank connections are read-only; agents post memos with their own keys. Privacy