Hold a map to constraints
check_constraintsRe-evaluate every candidate in a stored Options Map against constraints supplied now: the principal's own policy, an AP2 open (intent) mandate, a Verifiable Intent credential, or x402 payment requirements (accepts[] with the listed price, verified against the reference). Each row comes back inside, outside or unknown, and carries the map's own route_family, regulatory_risk and onboarding_status/onboarding_gap for that candidate, so an agent can drop ineligible or blocked rows without a second call. Nothing is executed or issued. Free.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| x402 | No | { accepts: PaymentRequirements[], price: { currency, amount } }. | |
| map_id | Yes | The map_id from map_options. | |
| policy_id | No | A release policy of this organisation (needs its key): supplies the limit and the map-age rule. | |
| ap2_mandate | No | An AP2 intent mandate; recognised fields are read, the rest listed as unevaluable. | |
| constraints | No | max_all_in_bps_vs_ref, max_settlement_days, allowed_rail_classes, disallowed_providers, must_include_provider_id, allowed_providers (restrict every row to your own already-connected panel, by provider id or name — a candidate outside it evaluates outside, never hidden; for embedding this assessment as a mandatory step inside your own already-licensed payment run, the way an EMS asks which of its own connected brokers should carry an order), corporate_only. Stablecoin risk appetite, the client's own thresholds held to each token's dated profile (/stablecoins): stablecoin_attestation_max_age_days, stablecoin_peg_min_share_within_50bps (0 to 1, last 30 days), stablecoin_peg_max_worst_bps (last 30 days), stablecoin_exit_depth_covers_amount (true), stablecoin_supervised_in (ISO codes or EU), stablecoin_no_single_key_mint_freeze (true). A fact not on record makes the row unknown, never inside. | |
| verifiable_intent | No | A Verifiable Intent credential: the serialised SD-JWT, or decoded mandate objects. Amount limits and expiry are held to the intent; where the payment crosses currencies, the result says the mandate does not bound the conversion cost. | |
| instrument_classes_allowed | No | Optional. Only these instruments are inside: spot, forward or stablecoin_rail. Default: all. |