capability_unavailable until marketplace_live is enabled here. Nothing on this page promises when.The family is in the contract and not switched on here yet — endpoints answer not_enabled until it is.
What it is
An organization lists an eligible receivable pseudonymously; funders browse grades, attested facts and the lister's stated ask; the lister consents to one funder, and the two are introduced. Rivet introduces; parties transact off-platform for now. No rates are computed or suggested, no terms form on Rivet, no funds move through this — the ask is numbers the lister states, shown verbatim.
- The floor: both parties verified, Grade B or better, a payable status, no open disputes or flags, and the organization opted in. A refusal names every failed check.
- Pseudonymity (default): a fresh pseudonym per listing; an organization may opt into a stable funding-profile pseudonym for reputation across listings — its choice, revocable for future listings. Amounts can be bucketed at listing time.
- Identity moves once: to the one funder the lister consents to — and the disclosure response itself says where Rivet's role ends.
- Every listing carries its attestation digest — a funder verifies the record at
/public/verify/{digest}before anyone is introduced.
Try the loop
In your sandbox: opt in (POST /v1/finance/opt-in), read GET /v1/finance/eligible (the seeded pair includes a Grade-A candidate), list it, browse from the demo counterparty's side, express interest, consent, read the disclosure. The scopes are finance:read / finance:write.