One card for the family. Every row below is the same object an agent reads at /rate-card.json: this page renders it and never restates it. Price, flat, fixed at post. Settlement: x402, settled in USDC.
One row on this card is callable over HTTP today: amortization math, at POST https://apis.finance/v1/amortization, keyless and posted at $0, with its typed schema at GET on the same path. One more is LIVE at a named desk pilot operated by a person. The remaining six are ROADMAP and their prices marked DRAFT are posted and not yet ratified. x402 metering is ROADMAP at https://apis.finance/.well-known/x402 and the MCP server is ROADMAP at https://apis.finance/mcp; both gate the priced rows and neither gates the keyless one, which has nothing to settle. A row goes LIVE here only when a route answers, the price is posted and binds, and the meter releases on a served record.
This card. The served rate card is the catalog of record for price and status on this property. The skus array is the price list. Eight rows are posted on it. One, amortization math, is LIVE and keyless at POST https://apis.finance/v1/amortization: it answers over HTTP today, it is posted at $0, and GET on the same path returns its typed schema. One, floorplan collateral telemetry, is LIVE at a named desk pilot: one desk, operated by a person, not a callable route. The other six are ROADMAP, typed and not yet callable, and their posted prices are DRAFT until the owner ratifies them. The Status Stamp defines LIVE as "it answers, it is priced, it is metered", and the metered limb is satisfied vacuously by a $0 row: a posted zero is a price, fixed at post binds it, and there is nothing to settle, so the keyless row does not wait on https://apis.finance/.well-known/x402 while the six priced ROADMAP rows do. Anything unverified flips to ROADMAP with no other copy change. Prequal simulation was added 2026-08-01, taking the posted count from seven to eight. Amortization math flipped from ROADMAP to LIVE on 2026-08-02, when the route it names was implemented and the DRAFT price of $0.01 per calculation was retired in favour of a keyless zero.
| SKU | What your agent gets | Price, flat, fixed at post | Status | Door |
|---|---|---|---|---|
| Business credit / KYB | Entity verification, registrations, lien and judgment flags, cash-flow signals on a Borrower | $3.00 per file pull · DRAFT | ROADMAP | apis.credit |
| 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 | apis.credit |
| Payoff quotes | Attested Payoff figure with per-diem and good-through date | $1.50 per quote · DRAFT | ROADMAP | apis.finance |
| Amortization math | Schedules, Curtailment recalculation, per-diem interest, Payoff projection | $0 · keyless | LIVE | apis.finance |
| License-permission lookup | Which acts which party may lawfully perform, per state, typed | $0.10 per lookup · DRAFT | ROADMAP | shared |
| 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 | apis.finance |
| 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 | apis.credit |
| 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 | apis.finance |
Every row in the roadmap array carries these three values and no other. The rendered register on the page states them once, above the sixteen rows they govern, and spends the reclaimed columns on the gate, which is the only column that differs row to row. Each row below still carries its own price, status and callable fields, because a machine reader parses rows and not a heading. Every row below carries price Price posts with the SKU and status ROADMAP, and none is callable.
| SKU | What your agent gets | Gate | Door |
|---|---|---|---|
| Consumer credit signals | Consumer attributes, debt-to-income, adverse-action reason codes | A recorded FCRA permissible purpose | apis.credit |
| Cash-flow attributes | Verified revenue, volatility, existing-debt detection, NSF incidence | Recorded Borrower consent to bank data | apis.credit |
| The lien stack | The full priority stack for a debtor: collateral descriptions parsed, continuation and lapse windows, filing office of record | Keyless | apis.credit |
| Verification attributes | Employment, income and asset attributes normalized to underwriting-ready fields | Recorded payroll or bank-data consent | shared |
| KYC and AML screening | Sanctions, politically-exposed-person and watchlist screening, identity attributes, adverse media | A screening rail | apis.finance |
| Bank account and routing validation | Routing validity, account status, ACH, RTP and FedNow reachability, return risk | A bank-data rail | shared |
| Financial statement normalization | A Borrower's statements returned as normalized fields with the source page cited | Keyless | apis.credit |
| 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 | apis.loans |
| 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 | apis.mortgage |
| Payout disbursement rail | A disbursement executed against a Mandate, with a settlement_ref on the event | A sponsor-bank rail | apis.finance |
| Transaction escrow | Funds held for a third party pending a condition and released on the recorded condition | A licensed or lawfully exempt escrow holder | apis.finance |
| x402 agent payment clearing | Agent-to-agent clearing against a Mandate: spend caps, per-call settlement, usage rollups | A Mandate | apis.finance |
| 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 | apis.finance |
| 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 | apis.finance |
| 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 | apis.finance |
| 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 | apis.mortgage |
There is no single meter promise on this card. There are four, one per product class, in meter_promises below; a surface prints exactly the ones its own SKUs release on. A single top-level "meter" scalar was retired on 2026-07-30: one scalar cannot be correct for a four-promise catalog, and the value it carried was a decision promise above a catalog whose every LIVE row releases on a served record. A row-level proof_predicate names the release condition that row's own fee line requires: the served record for a Telemetry Fee, and the produced record, the executed disbursement or the posting for a Product Fee. It is a condition on one row and never a fifth product-class promise, and a File Fee row carries no meter at all, because a Remittance is a payout rather than a release.
Every metered response names its fee line on the receipt. Never a percentage of the credit.
These are acts, not rows. They are reserved to a licensed party and are not sold anywhere on this platform. A call for one returns a typed refusal with its cure route.