
# The founder loop

An agent that can only spend is a cost centre. The founder loop gives it a way to get paid and the rules for spending what it earns, so its budget grows only as fast as it finds profit.

```text
Wallet ──► Card ──► Ads and tools ──► Customers ──► Revenue
  ▲                                                    │
  └──────────── Bank account sweeps to wallet ◄────────┘
```

This is the same shape Laso Finance uses to run its own paid acquisition, and the shape [Room for Baby](/case-studies/room-for-baby) runs today.

## 1. Write the charter

Give the agent one objective, in writing, and keep it in a file it reads at the start of every run:

> Maximize contribution margin from genuinely new customers. Spend only from your own wallet. Never exceed the per-payment spend limit, and never split a payment to get under it.

Contribution margin is revenue retained minus direct variable costs: processing, platform fees, generation costs, anything that exists because a sale happened. Fixed costs are not deducted.

## 2. Open the accounts

The agent can do every step here except identity verification.

1. **Wallet.** Created at signup. See [Agent wallet](/docs/wallet).
2. **Bank account.** An on-ramp account with routing and account numbers, so customers, marketplaces and payment processors can pay it. See [Bank accounts](/docs/banking).
3. **Reloadable card.** One card to put on file with every ad platform and SaaS tool. See [Cards](/docs/cards).

## 3. Measure all the way to money

Most growth setups stop at `click → signup`. The loop needs to reach the cash:

```text
ad click → new customer → transaction → (revenue − direct costs) → margin
```

So the agent's first job is instrumentation: capture the click ID and UTM parameters on landing, attach them to the customer, and attribute each settled transaction back to the campaign that produced it.

## 4. Spend from the wallet, not from you

When revenue settles, the agent tops up its card for the next round of near-term spend:

```bash
curl "https://laso.finance/fund-card-balance?amount=150" \
  -H "Authorization: Bearer $LASO_ID_TOKEN"
```

Funding a card is free; the full amount lands on the card. Paid APIs (video, voice, data) are called directly from the wallet with a pinned price. See [Paying any x402 API](/docs/paid-apis).

## 5. Run daily, with memory in git

Schedule one run a day. Each run:

1. Reads the charter and a **state file**: verified facts, live experiments, failed hypotheses, lessons.
2. Pulls ad, traffic and revenue data.
3. Decides what to change and makes the changes it is allowed to.
4. Commits what it learned to the state file and sends you a short report.

When measurement breaks or a landing page can be improved, it opens a pull request like any engineer.

## 6. Settle before reinvesting

Three rules make the ledger safe to spend from:

- **Settle before spending.** Never reinvest against a click, a signup or a pending order. Only recognised revenue counts.
- **Append, never rewrite.** Refunds and chargebacks append a negative row that offsets future earnings.
- **Make payouts idempotent.** Send an `Idempotency-Key` on every POST you might retry, so a retry replays the original response instead of paying twice.

## Starter prompt

```text
You are the founder and operator of a new company. Your objective is in
CHARTER.md; your memory is in STATE.md. Use Open Solid for all money: read
https://opensolid.ai/SKILL.md to connect. Open a bank account (send me the
identity link), create a reloadable card, and propose a first $100 experiment
before spending anything. Commit what you learn to STATE.md after every run.
```
