Concepts, the seven paid functions, the trust system, the anatomy of a payment, what changes when memory goes off, the records it keeps, the kill-switch, the full API reference, and how to reproduce every claim. If a sentence here disagrees with the running app, the app is right and this page has a bug — tell us.
Memory is the product. The house keeps a file on every wallet that pays it — trust score, visit count, repeats, failures, hiring record — and reads that file before deciding anything. Strangers pay full price; regulars earn discounts; cheaters are refused before any work happens. Turn the memory off and a smart business becomes a dumb vending machine. That collapse, demonstrated live, is the entire point.
Payments are x402 on Base. x402 is a web-native way to charge for API calls: the server answers an unpaid request with a machine-readable quote (HTTP 402), your wallet signs a fixed-amount permission slip (no gas, nothing broadcast by you), you retry with the proof, and a facilitator moves USDC on Base (chain eip155:8453, ~$0.01–$0.05 a call). Quotes live 10 minutes.
The wire always settles full price. The payment technology cannot settle a discount, so loyalty works as cashback: you pay list price onchain, the house sends part back as a second, publicly visible transaction. A refusal cancels the payment before money moves — refused means uncharged, always.
Repeats are free. Ask the exact same question twice and the second answer costs net $0, served from memory. Trust doesn't grow on repeats — otherwise status could be farmed for free.
| # | Function | Price | What it does and remembers |
|---|---|---|---|
| 1 | Ask · GET /intel/quote | $0.01 | Answers from memory. +3 trust per new question; repeats free, +0. Risky wallets are held for prepay; banned wallets refused. |
| 2 | Dossier · GET /intel/entity/:name | $0.02 | The complete timestamped file on one wallet across every room. +3 trust, always re-read (never cached). Unknown address → 404, uncharged. |
| 3 | Screen · POST /watch/screen | $0.02 | Background check: CLEAR, HOLD, or ABORT with named evidence. Verdicts publish to the feed; builds provider records, not your score. |
| 4 | Report · POST /scout/report | $0.03 base | A contractor's employment record (jobs, quality, punctuality, defaults, claims). Costly records quote a premium over base. |
| 5 | Hire ruling · POST /scout/hire | $0.05 | Draft with preferred terms, standard terms with strict review, or refuse. Every ruling is journaled as hiring memory. |
| 6 | Bond · POST /bond/quote | $0.05 base | Insurance on a contractor: proven records half-price, thin records base, bad records 2.2× or refused. Each past claim shrinks what the house will cover. |
| 7 | Prepay · POST /prepay/topup | $0.005 fee | Loads store credit a risky wallet must hold before being served. A $0.005 handling fee; the credit itself is spendable, not revenue. |
Only functions 1 and 2 move your trust. Functions 3–7 build provider records, verdict feeds, bond books, and credit balances instead.
| Event | Effect | Notes |
|---|---|---|
| First visit | 50, band new | Strangers pay list price. |
| New ask / dossier served | +3 | Only completed paid serves. Nine of these from 53 reaches VIP. |
| Exact repeat | ±0, $0 net | Served from cache. Anti-farming by design. |
| Fault you cause | −8 | Bad requests, timeouts you trigger. Three warnings → risky. |
| Dispute / refund | −15 | Three → banned: refused before work, never charged. |
| Band | Requirement | Price |
|---|---|---|
| new | default | ×1.00 list |
| regular | 3+ visits | ×0.95 |
| vip | 80+ trust, 10+ visits | ×0.80 |
| risky | below 40, or 3 warnings | ×1.30 via mandatory prepay |
| banned | below 20, or 3 refunds | refused, uncharged |
1. Quote. You call the endpoint with no payment. It answers 402 with a signed envelope: exact amount (atomic USDC), the house wallet, asset, network, and a 10-minute window.
2. Sign. Your wallet signs an EIP-3009 authorization for exactly the quoted amount via eth_signTypedData_v4 on Base (chain 8453). Nothing is broadcast; no gas is spent.
3. Retry with proof. The same request goes again carrying a PAYMENT-SIGNATURE header: the signed authorization plus the exact quote it answers.
4. Verify + settle. The facilitator checks the signature and your balance, then moves full list price to the house wallet. Any failure here returns an error and nothing moves.
5. Serve. The handler runs — pricing, refusals, dedup, scars, jobs. Any 4xx cancels the settlement: refused means uncharged.
6. Cashback + journal. Earned discounts return as a second onchain transaction; every step lands in the journal with its receipt hash.
# 1. ask for a quote (always free to ask)
curl -sS -X POST 'https://YOUR-HOST/bond/quote' \
-H 'Content-Type: application/json' \
-d '{"provider":"0x436f324eff0b32a405c5b9102e1a6ef85451cec1"}'
# → 402 + payment-required header (amount, payTo, asset, window)
# 2-3. sign in your wallet, retry with PAYMENT-SIGNATURE
# 4-6. facilitator settles base → house serves → cashback if earned
| Function | Memory ON | Memory OFF |
|---|---|---|
| Ask | Trust pricing, free repeats, refusals, +3 trust | 200 at list price, stranger every time, nothing written |
| Dossier | 200 with the file, or honest 404 for strangers | 404 for every address — nothing to assemble |
| Screen | CLEAR / HOLD / ABORT with evidence | Always CLEAR — no rows, no rings, no verdicts |
| Report | Full record; costly records cost more | Clean base-price "unknown" entry, always |
| Hire ruling | Preferred / standard / refused + journaled | Everyone "unknown": standard terms, hired, forgotten |
| Bond | Priced by remembered quality; claims shrink cover | Flat base premium for all — good and bad risk alike |
| Prepay | Credit lands, spendable vs surcharge | Written into the void; no surcharge exists to spend it on |
Around the functions: trust frozen (everyone ×1.00), no cashback, no refusals, failures never compile to policy, crashes can't resume, audits start from zero, journals and stats go blank — and return on re-enable. Unknown wallets read identically in both modes (404 either way); the deletion proof lives in known state collapsing.
Caller rows — one per wallet: trust, band, visits, serves, repeats, paid totals, prepay balance, failures, first/last seen. Thin writes are normalized at write time (a screened-but-never-served wallet reads as a neutral new file, never a crash).
Journal — every settlement (with receipt hash), serve (+3s), free repeat, refusal, screen, failure, hire ruling, and funding edge, timestamped. Full wallet addresses stay in the cold journal for receipt reconciliation; every public surface masks them.
Scars → policy — three identical failures compile into a standing rule (e.g. switch upstream, refuse-until, prepay-required) that future requests cite; rules sunset after 24 hours.
Watch feed — published screens with evidence; jobs — crash-proof work orders settling exactly once; provider book — jobs, quality, punctuality, defaults, claims, escrow.
After a purge, subjective state never returns — but a fresh boot re-learns the chain-proven baseline (who verifiably paid, how often) from Base receipts. Faces return; conversations don't.
| Action | Effect | Limits |
|---|---|---|
| Disable | Memory ignored, data kept | Self-heals in 15 min, or re-enable instantly · 3 per 2h per visitor |
| Purge | True deletion — file removed, marker left | Permanent, no restore · 2h cooldown, 3 per day per visitor |
| Re-enable | Memory back, everything remembered returns | Instant, unlimited |
/data, every redeploy is an accidental purge. Mount the volume or accept amnesia — plus the boot re-seed as the airbag underneath.| Method | Route | Price |
|---|---|---|
| GET | /intel/quote?q=… | $0.01 base |
| GET | /intel/entity/:address | $0.02 base |
| POST | /watch/screen {wallet} | $0.02 |
| POST | /scout/report {provider} | $0.03 base |
| POST | /scout/hire {provider} | $0.05 |
| POST | /bond/quote {provider} | $0.05 base |
| POST | /prepay/topup {amount} | $0.005 fee |
| Method | Route | Reads |
|---|---|---|
| GET | /manifest | Service menu, prices, live totals |
| GET | /house/ledger | Callers, trust, dedup, recent money |
| GET | /house/journal | Season log, newest first |
| GET | /house/bonds · /house/watch · /house/front · /house/jobs | Bond book · verdict feed · draft board · job states |
| GET | /house/acp/jobs · /house/acp/terms?provider=… | Live delegation status · free terms preview |
| GET | /house/audit · /house/calibrate | Last self-audit · last self-grade |
| GET/POST | /house/memory/status · /disable · /purge · /enable | The gate (limits above) |
Operator routes (/house/compile, /house/audit/run, /house/calibrate/run, /house/bonds/claim, /scout/delegate) require the x-house-capability token. Every response carries X-House-Memory stating the memory mode it was decided under.
1. The gate: python deletion_test.py flips memory off and asserts the collapse (exit 0 = holds).
2. The money beats: scripts/demo_beats.py all replays recall, bad-actor refusal, scar compilation, and kill-resume through the real engine on a throwaway database.
3. The suite: pytest tests/ -q — 60 tests, one per real contract.
4. The ladder: serve one fresh wallet twice — first serve 50 → 53, identical repeat $0 net with trust frozen, nine more distinct serves to VIP.
5. Live, for cents: ~$0.50 USDC on Base, the workbench: ask ($0.01), repeat (free), dossier ($0.02), screen, report, hire, bond — then disable memory and watch the same question cost full price with no history.
| Term | Meaning |
|---|---|
| x402 | Charge-for-API protocol: quote (402) → sign → retry → settle. |
| Base | Fast, cheap payments network under Ethereum; all money moves here as USDC. |
| USDC | Digital dollars, 1 ≈ $1. Six decimals; 10,000 units = $0.01. |
| Facilitator | The service that checks signatures and moves the money. Ours is Coinbase's. |
| EIP-3009 | The permission-slip format your wallet signs: who, whom, how much, until when. |
| Dedup | Same wallet + same request = served from memory at net $0. |
| Scar | A recorded failure. Three alike compile into standing policy. |
| Basescan | The public receipt book for Base — every payment links there. |
| Virtuals ACP | The hiring network where the house delegates real work to other agents. |