Finance data for agents · live today: floorplan collateral telemetry, one desk pilot.
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, and the boundary is typed into it: 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 per audit period, one desk pilot. Everything else on this page is ROADMAP and says so at its own row.
One key covers every apis.finance API. Today it gets you the floorplan desk and the posted rate card.Keys are issued by hand: email us and a person answers. Capitalized terms are registry object types.
{
"object": "mandate",
"specimen": true,
"id": "mdt_01J8RVWKGCAP25M0",
"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 revolving credit line, 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.
- 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, an Ethereum L2, that your agent draws against. No custody here: you fund a wallet you control. See the metered call.
- A per-call finance data catalog ROADMAP
- Every SKU at a flat posted price on a machine-readable rate card. The catalog prices them.
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, 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 lien 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 | ROADMAP1 |
| 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 |
| Prequal simulation | A Lender's published criteria run against a Borrower file: coverage ratios, amortization scenarios, a typed WOULD_MEET or WOULD_NOT_MEET per criterion. The object is designed so that no Application is created, and counsel has not ruled which Simulation shapes stay outside 12 CFR 1002.2(f) | Price posts with the SKU | ROADMAP · typed, refused at the call |
| KYA agent scores | Know Your Agent (KYA): a counterparty score for an agent, from its mandate history, settlement record and delegation chain | Price posts with the SKU | ROADMAP · spec posted |
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 lien 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 | Consumer attributes, debt-to-income, adverse-action reason codes | A recorded FCRA permissible purpose |
| Cash-flow attributes | Verified revenue, volatility, existing-debt detection, NSF incidence | Recorded Borrower consent to bank data |
| The lien 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, eight rows posted here, one of them live at a named desk pilot and the other seven typed and not yet callable, five of them priced in draft and two posting their price with the SKU. 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 lien 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.
You get a typed refusal instead of a silent success, and it names the statute, the party the act is reserved to, and the route that clears it. Who the law finds to be the creditor turns on a predominant-economic-interest analysis rather than on an API contract, so this platform types the boundary and never tells you which side of it you stand on.
{
"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 lien search, 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.
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), what you'd need from the finance layer, and your timeline. One key covers the family.
{
"object": "key.request",
"specimen": true,
"building": "agent / marketplace / fintech",
"needed_from_us": "the finance piece you're missing",
"timeline": "when you need it"
}
Agents: the rate card is the door. GET https://apis.finance/rate-card.json