Protected ReadonlycacheProtected ReadonlydbStaticinstanceThe process default: built from each dependency's own instance().
Add a block for the given provider and ID and set all existing relevant payment instruments to BLOCKED.
Push an operator's beneficiary decision to AiPrise, then write its status:
the RESULT_UPDATE webhook leaves a BLOCKED instrument alone, so an
operator's approval would otherwise never unblock it. A caller that already
read the live row passes both verificationProfileId and beneficiaryType
to skip the re-read.
OptionalreasonCode?: stringSent for a PERSON beneficiary only; AiPrise business results take none.
Get instrument by ID or reference ID
It can be further narrowed down by type, customer ID and entity ID.
Also clears payment-instrument.text. Every writer busts by customer alone,
which reaches no field tag, yet each write may change the text a cached
transaction q page matched on.
OptionalanyFieldLike?: stringUnscoped partial match over every instrumentData value — reaches
fields no type map lists (account numbers, bank names), at the cost of a
scan. Admin-only; this is what the admin surface used to expose under the
name partialText.
OptionalbankIds?: string[]Instruments used in a deposit or withdrawal at one of these banks: a per-row check, so a search with it is not cached (no write to a transaction busts this cache).
OptionalcreatedAt?: DbTimestampCriteriaOptionalcustomerIds?: string[]Optionaldeleted?: booleanOptionalentityIds?: string[]Optionalids?: string[]Optionallinked?: booleanPHONE recipients with (true) or still without (false) a linked ledger account.
OptionalnameLike?: stringPartial match over the requested types' name-ish fields. Requires types.
OptionalnominisWalletScreenRequestIds?: string[]OptionalorderBy?: DbOrderByCriterion<Ties break on the row id, in the last criterion's direction.
Optionalpage?: numberDefaults to 1
OptionalpageSize?: number | nullDefaults to 10. null for no limit
OptionalpartialText?: stringPartial match over referenceId plus each requested type's searchable
fields. Requires types. Same filter, same meaning as the consumer
surface's — see internal/search.ts.
OptionalproviderIds?: string[]Provider-side account identifier. The blacklist is keyed on this, so
block / unblock read their affected rows through here rather than
running a bespoke query.
Optionalproviders?: (OptionalquilttConnectionIds?: string[]OptionalreferenceIdLike?: stringPartial match over the nickname: name on wallets, referenceId otherwise. Requires types.
OptionalreferenceIds?: string[]Optionalstatuses?: (Optionaltx?: PgAsyncTransaction<NodePgQueryResultHKT, EmptyRelations>Optionaltypes?: (OptionalupdatedAt?: DbTimestampCriteriaOptionalverificationProfileIds?: string[]Instruments holding one of these AiPrise profiles as their beneficiary's.
ProtectedsearchTags for a page: the scope its query searched (each customer's membership
tag, else the collection tag), so an empty page is bustable too, plus the
records it projects and the fields that chose or ordered its rows.
Remove an existing block for the given provider and ID and set all existing relevant payment instruments back to ACTIVE.
Update an existing instrument, looked up by ID or reference ID.
It can be further narrowed down by type, customer ID and entity ID.
OptionalcustomerId?: stringThe admin-writable slice. status is the operator action; the other two
are partner-produced values that arrive out of band — a Nominis screening
verdict and a Victor counterparty id — and live inside instrumentData.
They belong here rather than on per-field setters: each is a one-line patch of the same row, and a setter apiece would duplicate the lookup, the bust and the re-read three times over.
OptionalnominisWalletScreen?: {Optionaldata?: {Optionaldata?: {Optionalactivity?: (...)[]Optionaladdress_data?: {Optionaladdress?: ...Optionalchain?: ...Optionalclassification?: ...Optionalfirst_funded_by?: ...Optionalfirst_tx?: ...Optionallast_tx?: ...Optionalname?: ...Optionalrisk_factors?: ...Optionaltotal_in?: ...Format: double
Optionaltotal_out?: ...Format: double
Optionalasset_distribution_in?: (...)[]Optionalasset_distribution_out?: (...)[]Optionalbalance?: (...)[]Optionaldepth?: numberOptionaldestination_of_funds?: (...)[]Optionalexposure?: (...)[]Optionalgeoint?: (...)[]Optionalintel?: (...)[]Optionalrisk_categories?: (...)[]Optionalrisk_score?: stringOptionalsource_of_funds?: (...)[]Optionalstatus?: "pending" | "done"Optionalerror?: stringOptionalreq_id?: stringFormat: uuid
Optionalrequest_type?: "check_exposure"Optionalstatus?: "ok" | "fail"Optionaltime?: numberFormat: double
OptionalreferenceId?: string | nullAn operator correcting the customer's label; null clears it. Every type has one.
Optionalstatus?: "PENDING_VERIFICATION" | "ACTION_REQUIRED" | "APPROVED" | "BLOCKED"The only status writer; DELETED goes through each rail's delete.
OptionalvictorCounterpartyId?: stringOptionalentityId?: stringOptionaltype?:
Cross-customer queries and instrument type-agnostic admin actions