moneyInstrument
The moneyInstrument noun — identity, lifecycle, events, and every capability as an anchored section: 3 capabilities, 0 live, 3 sandbox, 0 declared.
moneyInstrument is one of the estate's 317 automotive nouns — a job a car needs done. It carries 3 capabilities: 0 live, 3 sandbox, 0 declared · doors aggregator.vin.
Identity
| Noun | moneyInstrument |
| Pillar | Data (facets: 2 data · 1 commerce) |
| Capabilities | 3 — 0 live · 3 sandbox · 0 declared |
| Entities | PaymentMethod |
| Doors | aggregator.vin |
| SDK | Vin.moneyInstrument.* from apis.vin |
| Address | /catalog/moneyInstrument#{action} — the anchor IS the wire name minus moneyInstrument. |
Events
The vocabulary this noun can append to the record — 1 past-tense, versioned event type, each linked to the capability that emits it:
MoneyInstrument.prepaidCardAccepted@1— emitted byprepaidCardAccept
Discover & read
cashiersCheckVerify
moneyInstrument.cashiersCheckVerify · GET /money-instruments/cashiers-check-verify · gate none · sandbox · answers MoneyInstrumentCashiersCheckVerify@1
No input — this capability takes no request body.
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /7SAXCBE62NF341703 (the VIN lens).
Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.
import { moneyInstrument } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await moneyInstrument.cashiersCheckVerify()curl 'https://apis.vin/money-instruments/cashiers-check-verify'Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.
{
"type": "OK",
"answers": "MoneyInstrumentCashiersCheckVerify@1",
"value": {
"id": "moneyInstrument_181e02f4",
"partyId": "party_93db417e",
"token": "token-1467c836",
"last4": "last4-046e0473",
"brand": "brand-d9f62f9a"
},
"evidence": {
"id": "moneyInstrument_181e02f4",
"partyId": "party_93db417e",
"token": "token-1467c836",
"last4": "last4-046e0473",
"brand": "brand-d9f62f9a"
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "money-instrument-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Authorize & resolve
prepaidCardAccept
moneyInstrument.prepaidCardAccept · POST /money-instruments/prepaid-card-accept · gate key · sandbox · answers MoneyInstrumentPrepaidCardAccept@1
No input — this capability takes no request body.
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /7SAXCBE62NF341703 (the VIN lens).
Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.
Emits — MoneyInstrument.prepaidCardAccepted@1.
import { moneyInstrument } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await moneyInstrument.prepaidCardAccept()curl -X POST https://apis.vin/money-instruments/prepaid-card-accept \
-H 'content-type: application/json' \
-d '{}'Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.
{
"type": "OK",
"answers": "MoneyInstrumentPrepaidCardAccept@1",
"value": {
"id": "moneyInstrument_7e65d204",
"partyId": "party_c5f16a2e",
"token": "token-8dbee206",
"last4": "last4-317818c3",
"brand": "brand-f2d4e62a"
},
"evidence": {
"id": "moneyInstrument_7e65d204",
"partyId": "party_c5f16a2e",
"token": "token-8dbee206",
"last4": "last4-317818c3",
"brand": "brand-f2d4e62a"
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "money-instrument-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}More actions
counterfeitScreen
moneyInstrument.counterfeitScreen · GET /money-instruments/counterfeit-screen · gate none · sandbox · answers MoneyInstrumentCounterfeitScreen@1
No input — this capability takes no request body.
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /7SAXCBE62NF341703 (the VIN lens).
Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.
import { moneyInstrument } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await moneyInstrument.counterfeitScreen()curl 'https://apis.vin/money-instruments/counterfeit-screen'Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.
{
"type": "OK",
"answers": "MoneyInstrumentCounterfeitScreen@1",
"value": {
"id": "moneyInstrument_7337ac9f",
"partyId": "party_5de09fc3",
"token": "token-8dbd2da7",
"last4": "last4-2a8c2936",
"brand": "brand-6e492f2f"
},
"evidence": {
"id": "moneyInstrument_7337ac9f",
"partyId": "party_5de09fc3",
"token": "token-8dbd2da7",
"last4": "last4-2a8c2936",
"brand": "brand-6e492f2f"
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "money-instrument-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Data model
The record shape behind this noun — one entity, each property an evidence field. See the whole estate model on the data model page.
PaymentMethod
Schema
| Property | Type | Notes |
|---|---|---|
id | id | — |
partyId | ref→Party | — |
token | string | write-only, PCI |
last4 | string | — |
brand | string | — |
Relationships
| From | To | Cardinality | As |
|---|---|---|---|
party | moneyInstrument | 1:0..* | vaults |
payment | moneyInstrument | 1:0..1 | via |
Modeled
The noun drawn out — its record shape, its lifecycle, and how it is exercised end to end. One diagram, rendered from the estate model.
MoneyInstrument · Class model
Generated from the catalog. Every capability, answer, gate, and entity on this page is a rendered descriptor — it cannot drift from the wire.