The finance layer of the agent stack.
Agents can't lend.
They can call it.
Your agent can already do almost everything about a loan: assemble the file, price the risk, run the math, watch the Collateral. apis.finance is the missing piece. A Mandate registry ROADMAP: a Mandate is a revolving credit line, held in a registry as one object, a standing and revocable pool of commitment authority. x402 settlement ROADMAP: HTTP 402 micropayments, settled in USDC on Base, that your agent draws against. A per-call finance data catalog ROADMAP, at posted prices. Every act the law reserves returns a typed BLOCKED naming the licensed party to route to, and no record means no charge.
LIVE today: floorplan collateral telemetry, $45 per floored VIN, at a named desk. Rate card and llms.txt posted and machine-readable. Metering, settlement, and the rest of the catalog are ROADMAP.Keys are issued by hand, from the desk, by email.
{
"object": "mandate",
"specimen": true,
"id": "mdt_01J8RVWKGCAP25M0",
"facility": { "type": "REVOLVING" },
"parties": {
"lender": "SPECIMEN CAPITAL LLC (Lender)",
"borrower": "SPECIMEN INDUSTRIES LLC (Borrower)",
"obligor_guarantor": "A. SPECIMEN (Obligor-Guarantor)"
},
"ceiling": { "amount": "2,500,000.00", "currency": "USD" }, "encumbered": { "amount": "1,817,500.00", "currency": "USD" }, "settled": { "amount": "412,000.00", "currency": "USD" }, "available": {
"amount": "270,500.00",
"currency": "USD",
"derived": true,
"stored": false,
"derivation": "ceiling - encumbered - settled",
"derived_at": "2026-07-26T14:03:22Z"
}, "collateral": {
"type": "BLANKET_LIEN",
"description": "All business assets",
"perfection": {
"instrument": "UCC-1",
"status": "FILED",
"filing_office": "TX SOS",
"file_number": "26-0000000000",
"filed_at": "2026-04-14T15:22:10Z"
}
},
"created_at": "2026-04-14T15:22:10Z"
}
Give an agent buying power without giving it a bank account.
Buying power for an agent should not require a bank account in its hands. An issued card, a credit Facility, a floorplan line: each is a Mandate in the registry, with named parties on every artifact.
Your agent draws an Advance, which is a draw, against available. It posts a Curtailment, which is a principal prepayment. It requests a Payoff, which is the balance-to-close quote. Every money event carries a settlement_ref your auditor can walk.
available = ceiling - encumbered - settled
For a secured product, the FILED stamp on the UCC-1 is the event that releases the meter, and secured products are ROADMAP here. See how secured products meter.
The data behind a loan, priced per call.
You can't buy this data by the call today. It is sold in annual contracts, to enterprises, through sales teams, which means your agent can't buy it at all. Here every SKU has a flat per-call price, posted on a machine-readable rate card. The card is posted and machine-readable today; the x402 metering rail it prices against is ROADMAP at /.well-known/x402 and settles in USDC when it posts. When the rail posts, an agent that can parse the card meters its first call against it.
No annual contract, and no number to negotiate: what the row says is what the row costs. Keys are issued by hand, from the desk, by email. A price marked DRAFT is posted and not yet ratified, and a DRAFT price on a ROADMAP row is what the SKU will cost, not what anything costs today. If a price isn't posted, the SKU isn't live, and the row says so.
| SKU | What your agent gets | Price, flat, fixed at post | Status |
|---|---|---|---|
| Business credit / KYB | Entity verification, registrations, lien and judgment flags, cash-flow signals on a Borrower | $3.00 per file pull · DRAFT | ROADMAP |
| UCC-9 search | Debtor search across state filing offices: lien positions, secured parties, filing images. State office fees pass through at cost | $4.00 per search · DRAFT | ROADMAP |
| Payoff quotes | Attested Payoff figure with per-diem and good-through date | $1.50 per quote · DRAFT | ROADMAPquoted at the desk for floored Collateral under a Mandate, not callable, and consumer payoff is not live |
| Amortization math | Schedules, Curtailment recalculation, per-diem interest, Payoff projection | $0.01 per calculation · DRAFT | ROADMAP |
| License-permission lookup | Which acts which party may lawfully perform, per state, typed | $0.10 per lookup · DRAFT | ROADMAP |
| Floorplan collateral telemetry | The 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 | LIVE · desk pilot |
| KYA agent scores | Counterparty score for an agent: Mandate history, settlement record, delegation chain | Price posts with the SKU | ROADMAP · spec posted |
Fee lines are named on every receipt: Telemetry Fee for pure data, Product Fee for platform work, Origination Fee only ever from a licensed entity. Never a percentage of the credit.
Anatomy of a metered call
There is no registration, no identification, and no wait for provisioning. An agent calls, gets a price, pays, and gets the record. This is the shape, not a live call. No route on this property answers a 402 today: the x402 door is stamped ROADMAP, every row above is ROADMAP, and a request to the path below returns a typed 404 saying so. The specimen prints no resource URL, because a resource URL in a document like this is a promise that something answers there.
GET /v1/ucc/search?debtor=SPECIMEN%20INDUSTRIES%20LLC&state=TX HTTP/1.1
Host: apis.finance
HTTP/1.1 402 Payment RequiredContent-Type: application/json
{
"x402Version": 1,
"specimen": true,
"error": "X-PAYMENT header is required",
"accepts": [{
"scheme": "exact",
"network": "base",
"resource": "SPECIMEN · the resource URL posts with the SKU",
"description": "UCC-9 debtor search. Flat, fixed at post.",
"maxAmountRequired": "4000000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"payTo": "0x0000000000000000000000000000000000000402",
"maxTimeoutSeconds": 60,
"extra": { "name": "USDC", "decimals": 6 }
}]
}
GET /v1/ucc/search?debtor=SPECIMEN%20INDUSTRIES%20LLC&state=TX HTTP/1.1
Host: apis.finance
X-PAYMENT: eyJzY2hlbWUiOiJleGFjdCIsIm5ldHdvcmsiOiJiYXNlIiwic3BlY2ltZW4iOnRydWV9...
HTTP/1.1 200 OKContent-Type: application/json
X-PAYMENT-RESPONSE: eyJzdWNjZXNzIjp0cnVlLCJzcGVjaW1lbiI6dHJ1ZX0...
{
"object": "ucc.search_result",
"specimen": true,
"debtor": "SPECIMEN INDUSTRIES LLC",
"state": "TX",
"filings": [{
"file_number": "26-0000000000",
"type": "UCC-1",
"status": "FILED",
"secured_party": "SPECIMEN CAPITAL LLC (Lender)",
"collateral_summary": "All business assets",
"filed_at": "2026-04-14"
}],
"fee": { "line": "Telemetry Fee", "amount": "4.00", "currency": "USD" },
"settlement_ref": "set_01J9X402UCC9SRCH"
}
- x402Version
- 1
- network
- "base"
- maxAmountRequired
- "4000000" "USDC"
- object
- "ucc.search_result"
- status
- "FILED"
- fee
- "Telemetry Fee"
"4.00" "USD" - settlement_ref
- "set_01J9X402UCC9SRCH"
Typed now. Refused until it is real.
One key goes into a product that has to work next quarter too, so the question isn't only what is callable today. Every capability below is named in the catalog, has its gate assigned, and returns a documented refusal at its route until its rules ratify. Nothing here is callable, nothing here is priced, and none of it is a schedule. It is the shape of the surface you are building against, stated in advance.
The catalog groups four ways: records you read, priced per call; records the platform produces, priced on the produced record; acts that move money or record an instrument, priced on the recorded event; and systems you run continuously, priced per posting. Every row says which it is.
All sixteen rows below are stamped ROADMAP, none is callable, and every one is priced "Price posts with the SKU". The column that differs is the gate.
| SKU | What your agent gets | Gate |
|---|---|---|
| Consumer credit signals | Soft-pull attributes on a Borrower, debt-to-income, adverse-action reason-code mapping | A recorded FCRA permissible purpose |
| Cash-flow underwriting attributes | Verified revenue, volatility, existing-debt detection, NSF incidence | Recorded Borrower consent to bank data |
| UCC-9 priority stack | The full priority stack for a debtor: collateral descriptions parsed, continuation and lapse windows, filing office of record | Keyless |
| Verification attributes | Employment, income and asset attributes normalized to underwriting-ready fields | Recorded payroll or bank-data consent |
| KYC and AML screening | Sanctions, politically-exposed-person and watchlist screening, identity attributes, adverse media | A screening rail |
| Bank account and routing validation | Routing validity, account status, ACH, RTP and FedNow reachability, return risk | A bank-data rail |
| Financial statement normalization | A Borrower's statements returned as normalized fields with the source page cited | Keyless |
| Adverse-action notice assembly | The Reg B notice assembled inside the Decision artifact from the Lender's own reason set. The reasons are the Lender's; this never authors one | The Lender's own Decision supplies the reason set |
| Compliance preflight | Ability-to-repay and qualified-mortgage fee tests under 12 CFR 1026.43(e)(3), TRID tolerance checks, high-cost thresholds, cure computation | Keyless |
| Payout disbursement rail | A disbursement executed against a Mandate, with a settlement_ref on the event | A sponsor-bank rail |
| Transaction escrow | Funds held for a third party pending a condition and released on the recorded condition | A licensed or lawfully exempt escrow holder |
| x402 agent payment clearing | Agent-to-agent clearing against a Mandate: spend caps, per-call settlement, usage rollups | A Mandate |
| Ledger core | Double-entry ledger as an API: accounts, postings, holds, balance assertions, an immutable audit trail. Runs continuously, so it prices per posting and not per call | Keyless |
| Lending core | Loan management for any credit shape: billing engine, delinquency buckets, modifications, boarding. Runs continuously, so it prices per posting and not per call | Keyless |
| Agent billing core | x402-native metering for your own product: wallet, spend caps, per-call settlement, usage rollups. Runs continuously, so it prices per posting and not per call | Keyless |
| eNote and eVault control | Typed state on an electronic promissory note: which vault holds control, every transfer of control attested under UCC 9-105 | An eRegistry membership and a contracted vault |
"Price posts with the SKU" is not a placeholder. Flat and fixed at post means a published number binds, so no number is published before the row is callable. A gate names what has to exist before the row can be, and it is a fact about the world and not a queue position.
The full catalog is deeper than this page: eighty core capabilities across the four groups, seven rows posted here, one of them live at a named desk pilot and the other six typed, priced in draft, and not yet callable. Nothing on this page is metered yet: the x402 door is ROADMAP and says so, and a row cannot be LIVE while the rail it meters on is not. Four further acts are reserved to a licensed Lender and appear below, and they are the only things here that are never coming. What is not named on this page is not hidden, it is simply not yet typed, and a capability that is not typed cannot be refused honestly.
The catalog is the edge of a wider surface.
No one builds for one asset class, and next quarter an agent needs a capability this page hasn't mentioned yet. The catalog above is the live edge of the family's register: the whole finance surface, each capability at its own door, each door stamped with what it honestly is today.
- Credit intelligence
- business credit, KYB, lien and judgment flags on an entity's file · ROADMAP at
apis.credit, typed and not yet callable. Same key, same catalog, same rate card. - Payoff and lien records
- attested Payoff figures, UCC-9 positions, perfection filings · priced per row in the catalog above, status as posted on each row.
- Collateral telemetry
- the attested Collateral file per unit; floorplan is the first line, $45 per floored VIN per audit period, LIVE · desk pilot. Dealer register: your floor plan audits you; ours posts the line. Desk inquiries:
desk@apis.finance. - Payments and settlement kernel
- the Mandate registry, x402 metering, Advance, Curtailment, Payoff, a
settlement_refon every money event · ROADMAP. It is the kernel this page opened with, and it is typed and not yet settling:/.well-known/x402says so at its own address. - The close suite
- monthend, accruals, reconciliations, variances, forecasts, each under its own door,
monthend.financeat the front. Names held, roles posted, nothing live behind them. - Tax and books work
- returns, journal entries, trial balances, routed to credentialed people, never performed by the platform. Nothing live behind the tax and books doors.
- Mortgage
- a separate property under its own paper; the licensing boundary starts at the URL · WAITLIST at
apis.mortgage, entity-gated.
Every stamp in this register is a fact about a door today. A row with no stamp has no live surface to report. When a door comes live its stamp appears and its prices post, and not before.
The line is typed into the API.
You shouldn't need a lawyer on retainer to know which endpoint crosses the line. The law reserves a short list of acts: extending credit, taking the Application, negotiating terms, deciding. Everything else about a loan, the file, the math, the telemetry, the ledger, runs agent-native here. When a call reaches a reserved act, the response is not an error and not a silent success. It is a typed BLOCKED with a typed cure: which statute, which party may lawfully act, which route clears it. needs_human routes to a marketplace of licensed parties, never a void.
A silent 200 on this call would make you the lender in fact. You get a typed refusal instead, which is why building on apis.finance is how you avoid becoming a lender, not how you risk it.
{
"object": "decision.request",
"specimen": true,
"id": "req_01J9BLKD3M0PLGL1",
"application": "app_01J9APPL1CAT10N7",
"status": "BLOCKED",
"blocked": {
"act": "CREDIT_DECISION",
"reason": "RESERVED_ACT",
"detail": "Deciding an Application is an act reserved to a
licensed Lender. This platform does not decide.",
"statutes": [
"15 U.S.C. 1691 et seq. (ECOA / Regulation B)",
"applicable state lending license law"
],
"reserved_to_party": "Lender",
"cure": {
"route": "LENDER_MARKETPLACE",
"endpoint": "POST /v1/applications/app_01J9APPL1CAT10N7/route",
"needs_human": true,
"human_route": "marketplace",
"description": "Route the Application to a licensed Lender. The
Lender decides. You receive the Decision artifact,
adverse-action notice included if the Decision is
a Declination."
} },
"clock": {
"name": "REG_B_NOTIFICATION",
"duration_days": 30,
"starts_on": "completed Application",
"owner_party": "Lender"
},
"charge": null,
"note": "No Decision exists. Nothing was metered."
}
Four acts. One party performs them.
These four are performed by a licensed Lender and by no one else. No credential clears them, no marketplace absorbs them, and no configuration on this platform turns one on. Everything else about a loan is on the other side of this list.
extend credit- The Lender extends it. This platform routes the file, types the state, and records the money events that follow.
take the Application- The Lender takes it. This platform types the Application's state and runs its clocks, including Reg B's 30-day notification clock, with a named responsible party on each one.
negotiate terms- The Lender negotiates them. This platform does nothing here, including through an agent's utterance: quoting a term or counselling a Borrower on which product to take is itself the act, so the boundary binds when the sentence is written and not when a button is pressed.
decide- The Lender decides. This platform receives the Decision artifact with the adverse-action notice inside it, and no response from this platform ever states an approval on its own behalf.
A separate and narrower list of acts (notarial, appraisal, escrow-holder, debt-collection) may be performed by a credentialed person under a named sponsoring entity's licence, never by software. Those are what needs_human routes to. The four above route to a Lender, and nothing else ever will.
The meter releases on a recorded fact.
Most meters bill for trying. This one releases on recorded facts, and only on recorded facts:
settlement_ref on the event.
Three of these four govern product classes that are ROADMAP here. They are printed because they are the canon this catalog grows into, and each one is stamped on the row that will release it.
A whole regulated transaction, assembled from typed calls.
You've stitched enough vendor portals to know where this usually dies: the last mile, where the money and the law meet. One worked example: the vin reference architecture runs a vehicle transaction end to end from typed calls:
title data: the vehicle's record, lien state, history.
RON / POA: remote online notarization, power of attorney, executed and attested.
eContracting: the deal papered, typed, signed.
the money rail: Mandate draw, Payoff figure, x402-metered settlement events, settlement_ref on every one.
vin is one worked example, not the shape's limit. A real estate closing, a business acquisition, an equipment line compose the same way: same grammar, different doors.
One key. A family of doors.
One key opens the family, and an agent resolves doors by name. The grammar is fixed: api.X is one API for one profession. apis.X is a family of APIs sharing one key.
| Property | Status | Role |
|---|---|---|
| apis.finance | LIVE | The hub. The kernel, the catalog, the key, the docs, and the served rate card. You are here. Its MCP server and its x402 door are typed and ROADMAP. |
| apis.credit | ROADMAP | The data door. Business credit, KYB, UCC-9 lien intelligence, lien and judgment flags on an entity's file. Same key, same catalog, same rate card. |
| apis.loans | ROADMAP | The origination door. It stands at its own address while origination is built through licensed partners, and when origination is live, this row will say LIVE. |
| apis.mortgage | WAITLIST · entity-gated | A separate property under its own paper. The licensing boundary starts at the URL, so it never redirects into this hub. Originating a mortgage takes a state licence, which is why it stands at its own address behind its own entity gate. |
What this platform never does.
This section is written for the person whose sign-off the integration needs. It is written to be forwarded, and every claim in it resolves to a typed artifact on this page.
- Never holds paper.
- No loan on this platform's balance sheet, ever.
- Never holds funds in the credit sense.
- The partner Lender is merchant of record for every finance charge on the credit it is the creditor on. Interest is never platform revenue.
- Never decides.
- The Lender decides. The platform types, routes, meters, and records attestations. Approval is the Lender's act, so no response from this platform ever states one on its own behalf.
- Never lets a fee depend on a Decision.
- No platform fee varies with the direction of a Decision, and no Origination Fee attaches to a Declination. A Declination IS a Decision, so the Decision meter releases on a declined Application exactly as it does on any other, with the adverse-action notice inside the artifact.
- Never lets a statutory clock expire in silence.
- Reg B's 30-day notification clock and the TRID 3+3 disclosure clocks run as a deterministic Timer Ladder. Every timer carries a named responsible party and closes only on evidence. Nothing times out with your product's name on it.
- Never blurs the parties.
- Lender, Borrower, Obligor-Guarantor, named on every artifact. No unnamed counterparties.
- Never implies liveness.
- Live is live. Everything else on this page is stamped SPECIMEN or labeled ROADMAP.
- Never enters renounced territory.
- No merchant cash advance with confession of judgment. No title or payday lending. No debt settlement or credit repair. No debt buying.
Questions your counsel wants answered in writing: keys@apis.finance
Finance was the missing link. Now it is a call.
Sequencing, stated plainly: the data catalog and the kernel come first. Licensed routes resolve through partnered entities as they come live, and anything not live on this page already says ROADMAP.
Tell us three things: what you're building (agent, marketplace, fintech product), which SKUs you need first, and the call volume you expect. One key covers the family.
{
"object": "key.request",
"specimen": true,
"building": "agent, marketplace or fintech product",
"first_skus": [ "the rows you need first" ],
"expected_call_volume": "calls per month"
}
Agents: the rate card is the door. GET https://apis.finance/rate-card.json