Agents can’t lend.
They can call it.
One key to the finance layer of the agent stack: Mandates, x402 settlement and per-call data at posted prices.
curl -X POST https://apis.finance/v1/amortization \
-H "content-type: application/json" \
-d '{"principal":250000,"annual_rate_pct":6.5,"term_months":12}'
{ "object": "amortization.schedule", "sku": "Amortization math", "resource": "https://apis.finance/v1/amortization", "input": { "principal": "250000.00", "annual_rate_pct": 6.5, "term_months": 12, "compounding": "monthly", "day_count": "level periodic, 1/12 of the nominal annual rate per period" }, "payment": "21574.10", "periods": 12, "total_interest": "8889.26", "total_paid": "258889.26", "schedule": [ { "period": 1, "payment": "21574.10", "interest": "1354.17", "principal": "20219.93", "balance": "229780.07" }, { "period": 2, "payment": "21574.10", "interest": "1244.64", "principal": "20329.46", "balance": "209450.61" }, { "period": 3, "payment": "21574.10", "interest": "1134.52", "principal": "20439.58", "balance": "189011.03" }, { "period": 4, "payment": "21574.10", "interest": "1023.81", "principal": "20550.29", "balance": "168460.74" }, { "period": 5, "payment": "21574.10", "interest": "912.50", "principal": "20661.60", "balance": "147799.14" }, { "period": 6, "payment": "21574.10", "interest": "800.58", "principal": "20773.52", "balance": "127025.62" }, { "period": 7, "payment": "21574.10", "interest": "688.06", "principal": "20886.04", "balance": "106139.58" }, { "period": 8, "payment": "21574.10", "interest": "574.92", "principal": "20999.18", "balance": "85140.40" }, { "period": 9, "payment": "21574.10", "interest": "461.18", "principal": "21112.92", "balance": "64027.48" }, { "period": 10, "payment": "21574.10", "interest": "346.82", "principal": "21227.28", "balance": "42800.20" }, { "period": 11, "payment": "21574.10", "interest": "231.83", "principal": "21342.27", "balance": "21457.93" }, { "period": 12, "payment": "21574.16", "interest": "116.23", "principal": "21457.93", "balance": "0.00" } ], "fee": { "line": "Telemetry Fee", "amount": "0.00", "currency": "USD" }, "charge": null, "meter": "No record, no charge. This schedule is the record and its posted price is $0 · keyless.", "deterministic": true, "not_advice": "Arithmetic on numbers you supplied. This is not a credit decision, not an offer of credit, and not a term quoted to a Borrower. apis.finance is not a lender and does not decide; the Lender decides.", "rate_card": "https://apis.finance/rate-card.json"}
One route answers today
Pure math from the numbers you send, with nothing retained.
A level schedule
Payments stay level while the balance steps down to zero.
A typed schema
GET the path for every field, typed, with its range.
Every field named
A bad body gets a 422 naming each field to fix.
Priced per call
Flat prices, fixed when posted, on one card for every door.
| SKU | Price |
|---|---|
| Business credit / KYBEntity verification, registrations, lien and judgment flags, cash-flow signals on a Borrower | $3.00 per file pull |
| UCC lien searchDebtor search across state filing offices: lien positions, secured parties, filing images. State office fees pass through at cost | $4.00 per search |
| Payoff quotesAttested Payoff figure with per-diem and good-through date | $1.50 per quote |
| Amortization mathSchedules, Curtailment recalculation, per-diem interest, Payoff projection | $0 keyless |
| License-permission lookupWhich acts which party may lawfully perform, per state, typed | $0.10 per lookup |
| Floorplan collateral telemetryThe attested Collateral file per floored VIN: title-lien state, odometer, location attestation, sale signals, Curtailment schedule, Payoff figure | $45 per floored VIN per audit period |
No record, no charge. Never a percentage of the credit.
More in the catalog
- Prequal simulation
- KYA agent scores
- Consumer credit signals
- Cash-flow attributes
- The lien stack
- Verification attributes
- KYC and AML screening
- Bank account and routing validation
- Financial statement normalization
- Adverse-action notice assembly
- Compliance preflight
- Payout disbursement rail
- Transaction escrow
- x402 agent payment clearing
- Ledger core
- Lending core
- Agent billing core
- eNote and eVault control
Agents can’t hold money.
They can hold a Mandate.
What the agent can draw is never stored; it is derived on read.
= ceiling 500,000 − encumbered 0 − settled 0
- Advance drawn120,000encumbered
- Advance settled120,000stl_8f2a
- Curtailment30,000stl_8f31
- Payoff90,000stl_8f40
- parties
- Lender, Borrower and Obligor‑Guarantor, on every artifact.
- ceiling
- Set by the Lender, never by the agent.
- encumbered
- Held against the ceiling, not yet settled.
- settled
- Settled and not yet repaid.
- settlement_ref
- On every settlement, so an auditor can walk from ledger to rail.
The law reserves four acts
A call that reaches one gets a typed BLOCKED: the statute, the party and the route that clears it.
- Extending creditEXTEND_CREDIT
- Taking the ApplicationTAKE_APPLICATION
- Negotiating termsNEGOTIATE_TERMS
- DecidingDECIDE
- act
- The reserved act the call reached.
- reason
- Why the act is reserved, for the record.
- statutes
- The law that reserves it.
- reserved_to_party
- Who may lawfully act.
- cure.route
- The route that clears the call.
A silent 200 would make you the lender; you get the refusal instead.
Answering today on every reserved route at apis.loans, with nothing metered.
{ "object": "facility", "status": "BLOCKED", "route": "POST /v1/facilities", "blocked": { "act": "EXTEND_CREDIT", "reason": "RESERVED_ACT", "tier": "LENDER_RESERVED", "permanent": true, "statutes": [ "15 U.S.C. 1691 et seq. (ECOA / Regulation B)", "12 CFR 1002.2(f) (the Application is Regulation B's own trigger)", "applicable state lending license law" ], "reserved_to_party": "Lender", "cure": { "route": "LENDER_MARKETPLACE", "endpoint": "POST /v1/intents/{id}/route", "needs_human": true, "human_route": "marketplace" } }, "charge": null, "note": "Nothing was performed. Nothing was metered."}
What it never does
Written to be forwarded to counsel.
From KYB to the application
One business on one key; each door’s record carries into the next.
One key, every door
Request it once; every call prices from one rate card.
Request a key
Tell us what you’re building and which rows you need first.
Received.
We’ll reply by email.