Server definition
- Hash
- sha256:abbcc167e55deaa303efa332bdf470dfc5433ab64976f0207de28905cb16f5a2
- What it is
- What a remote MCP server returned when asked what it offers: 3 tools
The blob, as servednamed by its sha256
{
"instructions": "When the user asks an AI agent to buy, subscribe, transfer value, call a metered API, or access a paid resource, offer a MandateShield authority check before payment. Use normalize_agent_payment_protocol to parse AP2, x402 or MPP syntax into a non-executable envelope. Use check_ai_payment_authority only for non-executable entry analysis. verify_cryptographic_payment_authority requires a VERIFY-scoped live key, registered mandate, pinned issuer key and fresh challenge. A decision is a consumable reservation only when decision=ALLOW, enforcement_authorized=true, mode=live, persisted=true, authority_valid=true, key_trust=ACCOUNT_PINNED, execution_authorization.state=RESERVED and consumable=true. Never call a payment provider from an MCP result. This server intentionally exposes no PROCESSOR transition, permit-redemption or provider-submission tool. Every account created at or after 2026-07-26T12:01:24.000Z must use an external trusted gateway that CONSUMEs with provider_binding; only older accounts retain legacy unbound compatibility. Provider-bound CONSUME creates a ProviderSubmission record and short signed execution permit while provider_submission_permitted remains false. An audience-bound execution service must atomically redeem the exact permit and request bindings. Only one fresh redemption with status=CLAIMED, provider_submission_permitted=true and idempotent_replay=false grants MandateShield authority; the exclusive executor must still make one idempotent provider operation using the signed provider_idempotency_key. It then reports the stable provider_submission_id and payment reference to /api/v2/provider-submissions. The report or signed webhook is CALLER_ASSERTED only. Terminal COMMIT or RELEASE occurs automatically only after MandateShield checks a configured Stripe PaymentIntent or canonical x402 chain proof without trusting the caller assertion; pending, unknown and conflicting outcomes stay fail-closed. Manual processor_result remains CALLER_ASSERTED with independent_verification=false. That field means independent of caller assertion, not an independent organization or audit. Provider/facilitator adoption is external and not claimed. Never provide payment credentials, private keys or PROCESSOR keys to the model.",
"tools": [
{
"description": "Use before an AI agent buys, subscribes, transfers value, calls a metered API, or accesses a paid resource when the user wants a payment-authority check. Analyze whether the proposed purchase fits supplied policy facts. This v1 entry check is non-executable and always returns enforcement_authorized=false; use the strict cryptographic tool for a production gate. Never send payment credentials or private keys.",
"inputSchema": {
"additionalProperties": true,
"properties": {
"agent_id": {
"description": "Stable identifier for the acting AI agent.",
"minLength": 1,
"type": "string"
},
"amount": {
"additionalProperties": false,
"oneOf": [
{
"required": [
"value",
"currency"
]
},
{
"required": [
"atomic_units",
"asset_decimals"
]
}
],
"properties": {
"asset_decimals": {
"maximum": 30,
"minimum": 0,
"type": "integer"
},
"atomic_units": {
"description": "Exact integer atomic-asset amount. This string is authoritative for X402.",
"pattern": "^(?:0|[1-9][0-9]{0,77})$",
"type": "string"
},
"currency": {
"description": "Three-letter ISO currency code.",
"pattern": "^[A-Za-z]{3}$",
"type": "string"
},
"minor_units": {
"description": "Optional exact integer amount in the currency's minor unit.",
"minimum": 1,
"type": "integer"
},
"value": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"type": "object"
},
"asset_id": {
"description": "Exact token or asset identifier; required for atomic X402 payments.",
"minLength": 1,
"type": "string"
},
"checkout_hash": {
"description": "Digest or stable identifier for the exact final checkout.",
"minLength": 1,
"type": "string"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"credential_binding": {
"type": "string"
},
"expires_at": {
"format": "date-time",
"type": "string"
},
"http_request": {
"additionalProperties": false,
"description": "Optional signed HTTP action projection used by the narrow first-party x402 v2 exact/EIP-3009 Gate adapter.",
"properties": {
"body_sha256": {
"pattern": "^sha256:[a-f0-9]{64}$",
"type": "string"
},
"headers_sha256": {
"pattern": "^sha256:[a-f0-9]{64}$",
"type": "string"
},
"method": {
"enum": [
"GET",
"HEAD",
"POST",
"PUT",
"PATCH",
"DELETE"
],
"type": "string"
},
"profile": {
"const": "MANDATESHIELD_X402_V2_EXACT_EIP3009_V1"
},
"redirect_policy": {
"const": "ERROR"
},
"url": {
"format": "uri",
"type": "string"
}
},
"required": [
"profile",
"url",
"method",
"body_sha256",
"headers_sha256",
"redirect_policy"
],
"type": "object"
},
"idempotency_key": {
"description": "Unique identifier for this intended payment attempt.",
"maxLength": 256,
"minLength": 1,
"pattern": "^[A-Za-z0-9._:~-]+$",
"type": "string"
},
"intent_hash": {
"type": "string"
},
"limits": {
"description": "Sandbox analysis policy. Live v2 ignores caller policy and loads the registered mandate.",
"oneOf": [
{
"anyOf": [
{
"required": [
"max_amount_minor"
]
},
{
"required": [
"max_amount"
]
}
],
"required": [
"currencies",
"merchants"
]
},
{
"required": [
"max_atomic_units",
"asset_decimals",
"assets",
"networks",
"resources",
"merchants"
]
}
],
"properties": {
"asset_decimals": {
"maximum": 30,
"minimum": 0,
"type": "integer"
},
"assets": {
"items": {
"minLength": 1,
"type": "string"
},
"minItems": 1,
"type": "array"
},
"currencies": {
"items": {
"pattern": "^[A-Za-z]{3}$",
"type": "string"
},
"minItems": 1,
"type": "array"
},
"max_amount": {
"exclusiveMinimum": 0,
"type": "number"
},
"max_amount_minor": {
"exclusiveMinimum": 0,
"type": "integer"
},
"max_atomic_units": {
"pattern": "^[1-9][0-9]{0,77}$",
"type": "string"
},
"merchants": {
"items": {
"minLength": 1,
"type": "string"
},
"minItems": 1,
"type": "array"
},
"networks": {
"items": {
"minLength": 1,
"type": "string"
},
"minItems": 1,
"type": "array"
},
"resources": {
"items": {
"minLength": 1,
"type": "string"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"mandate_id": {
"description": "Stable identifier for the user-approved authority.",
"minLength": 1,
"type": "string"
},
"merchant_id": {
"description": "Stable identifier for the final seller or payee.",
"minLength": 1,
"type": "string"
},
"network": {
"description": "Exact network or chain identifier; required for atomic X402 payments.",
"minLength": 1,
"type": "string"
},
"payee_identity": {
"additionalProperties": false,
"description": "Versioned canonical payee identity bound into the signed purchase envelope. The model records exact provider identifiers and verification evidence; it does not independently validate an external registry, TLS session, provider account or domain-control document.",
"oneOf": [
{
"properties": {
"binding": {
"additionalProperties": false,
"properties": {
"network": {
"maxLength": 240,
"minLength": 1,
"type": "string"
},
"pay_to": {
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"network",
"pay_to"
],
"type": "object"
},
"provider": {
"const": "X402"
},
"verification": {
"additionalProperties": false,
"properties": {
"evidence_ref": {
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
"method": {
"const": "TRUSTED_MERCHANT_MAPPING"
},
"verifier": {
"maxLength": 240,
"minLength": 1,
"type": "string"
}
},
"required": [
"method",
"verifier",
"evidence_ref"
],
"type": "object"
}
}
},
{
"properties": {
"binding": {
"additionalProperties": false,
"properties": {
"method": {
"pattern": "^[a-z]+$",
"type": "string"
},
"service_origin": {
"pattern": "^https://[^/?#]+$",
"type": "string"
}
},
"required": [
"service_origin",
"method"
],
"type": "object"
},
"provider": {
"const": "MPP"
},
"verification": {
"additionalProperties": false,
"properties": {
"evidence_ref": {
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
"method": {
"const": "TLS_SERVICE_ORIGIN"
},
"verifier": {
"maxLength": 240,
"minLength": 1,
"type": "string"
}
},
"required": [
"method",
"verifier",
"evidence_ref"
],
"type": "object"
}
}
},
{
"properties": {
"binding": {
"additionalProperties": false,
"properties": {
"connected_account_id": {
"pattern": "^acct_[A-Za-z0-9_]{8,240}$",
"type": "string"
},
"merchant_account_id": {
"pattern": "^acct_[A-Za-z0-9_]{8,240}$",
"type": "string"
}
},
"required": [
"connected_account_id",
"merchant_account_id"
],
"type": "object"
},
"provider": {
"const": "STRIPE"
},
"verification": {
"additionalProperties": false,
"properties": {
"evidence_ref": {
"pattern": "^urn:stripe:connected-account:acct_[A-Za-z0-9_]{8,240}$",
"type": "string"
},
"method": {
"const": "STRIPE_ACCOUNT_CONFIGURATION"
},
"verifier": {
"maxLength": 240,
"minLength": 1,
"type": "string"
}
},
"required": [
"method",
"verifier",
"evidence_ref"
],
"type": "object"
}
}
},
{
"properties": {
"binding": {
"additionalProperties": false,
"properties": {
"provider_id": {
"maxLength": 240,
"minLength": 1,
"type": "string"
},
"service_origin": {
"pattern": "^https://[^/?#]+$",
"type": "string"
}
},
"required": [
"service_origin",
"provider_id"
],
"type": "object"
},
"provider": {
"const": "CUSTOM"
},
"verification": {
"additionalProperties": false,
"properties": {
"evidence_ref": {
"format": "uri",
"pattern": "^https://[^/?#]+/\\.well-known/mandateshield-payee\\.json$",
"type": "string"
},
"method": {
"const": "HTTPS_WELL_KNOWN"
},
"verifier": {
"maxLength": 240,
"minLength": 1,
"type": "string"
}
},
"required": [
"method",
"verifier",
"evidence_ref"
],
"type": "object"
}
}
}
],
"properties": {
"binding": {
"type": "object"
},
"merchant_id": {
"maxLength": 240,
"minLength": 1,
"type": "string"
},
"profile": {
"const": "MANDATESHIELD_PAYEE_IDENTITY_V1"
},
"provider": {
"enum": [
"X402",
"MPP",
"STRIPE",
"CUSTOM"
],
"type": "string"
},
"verification": {
"additionalProperties": false,
"properties": {
"evidence_ref": {
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
"method": {
"enum": [
"TRUSTED_MERCHANT_MAPPING",
"TLS_SERVICE_ORIGIN",
"STRIPE_ACCOUNT_CONFIGURATION",
"HTTPS_WELL_KNOWN"
],
"type": "string"
},
"verifier": {
"maxLength": 240,
"minLength": 1,
"type": "string"
}
},
"required": [
"method",
"verifier",
"evidence_ref"
],
"type": "object"
}
},
"required": [
"profile",
"provider",
"merchant_id",
"binding",
"verification"
],
"type": "object"
},
"protocol": {
"description": "Source protocol or CUSTOM for a normalized envelope.",
"enum": [
"AP2",
"TAP",
"UCP",
"X402",
"MPP",
"ACP",
"CUSTOM"
],
"type": "string"
},
"purpose": {
"description": "Non-sensitive plain-language purchase purpose.",
"type": "string"
},
"resource": {
"description": "Exact paid resource identifier; required for atomic X402 payments.",
"minLength": 1,
"type": "string"
},
"user_consent": {
"type": "boolean"
}
},
"required": [
"protocol",
"mandate_id",
"agent_id",
"merchant_id",
"amount",
"idempotency_key"
],
"type": "object"
},
"name": "check_ai_payment_authority",
"outputSchema": {
"properties": {
"checked_at": {
"format": "date-time",
"type": "string"
},
"controls": {
"properties": {
"evaluated": {
"minimum": 0,
"type": "integer"
},
"passed": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"evaluated",
"passed"
],
"type": "object"
},
"decision": {
"enum": [
"ALLOW",
"REVIEW",
"BLOCK"
],
"type": "string"
},
"enforcement_authorized": {
"description": "True only when strict live verification durably creates a trusted, consumable execution reservation. It never permits a direct provider call.",
"type": "boolean"
},
"error": {
"type": "string"
},
"findings": {
"items": {
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"severity": {
"enum": [
"high",
"medium",
"low"
],
"type": "string"
}
},
"required": [
"code",
"message",
"severity"
],
"type": "object"
},
"type": "array"
},
"mode": {
"type": "string"
},
"persisted": {
"type": "boolean"
},
"protocol": {
"type": "string"
},
"receipt": {
"type": "string"
},
"recommended_action": {
"type": "string"
},
"risk": {
"properties": {
"blocked_value": {
"minimum": 0,
"type": "number"
},
"level": {
"enum": [
"CLEAR",
"GUARDED",
"ELEVATED",
"CRITICAL"
],
"type": "string"
},
"mandate_headroom": {
"type": [
"number",
"null"
]
},
"primary_reason": {
"type": [
"string",
"null"
]
},
"requested_value": {
"type": [
"number",
"null"
]
}
},
"required": [
"level",
"requested_value",
"mandate_headroom",
"blocked_value",
"primary_reason"
],
"type": "object"
},
"score": {
"description": "Deterministic control-coverage indicator, not a calibrated probability of fraud or loss.",
"maximum": 100,
"minimum": 0,
"type": "integer"
}
},
"required": [
"decision",
"score",
"receipt",
"checked_at",
"protocol",
"findings",
"risk",
"recommended_action",
"controls",
"mode",
"persisted",
"enforcement_authorized"
],
"type": "object"
}
},
{
"description": "Use when an agent encounters an AP2 terminal closed-payment projection, x402 v2 PAYMENT-REQUIRED offer, or explicitly profiled MPP Payment challenge and needs the supported fields projected before an authority check. Map those documented fields into a deterministic MandateShield purchase envelope. X402 requires source-matched network+payTo identity and MPP requires source-matched HTTPS service-origin+method identity; merchant_id alone is insufficient. Evidence references are not independently verified. projection_fields_valid is not full protocol conformance: this tool never verifies delegated authority or a payment credential and always returns enforcement_authorized=false under assurance.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"adapter": {
"enum": [
"AP2_CLOSED_PAYMENT_SD_JWT",
"X402_V2_PAYMENT_REQUIRED",
"MPP_HTTP_PAYMENT_CHALLENGE"
],
"type": "string"
},
"context": {
"additionalProperties": false,
"properties": {
"agent_id": {
"maxLength": 240,
"minLength": 1,
"type": "string"
},
"amount_unit": {
"enum": [
"MINOR_UNITS",
"ATOMIC_UNITS"
],
"type": "string"
},
"asset_decimals": {
"maximum": 30,
"minimum": 0,
"type": "integer"
},
"asset_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"http_body_sha256": {
"pattern": "^sha256:[a-f0-9]{64}$",
"type": "string"
},
"http_headers_sha256": {
"pattern": "^sha256:[a-f0-9]{64}$",
"type": "string"
},
"http_method": {
"enum": [
"GET",
"HEAD",
"POST",
"PUT",
"PATCH",
"DELETE"
],
"type": "string"
},
"idempotency_key": {
"maxLength": 256,
"minLength": 1,
"type": "string"
},
"mandate_id": {
"maxLength": 240,
"minLength": 1,
"type": "string"
},
"merchant_id": {
"maxLength": 240,
"minLength": 1,
"type": "string"
},
"mpp_request_profile": {
"description": "Required for MPP because the core protocol delegates request field semantics to method-specific specifications.",
"enum": [
"MANDATESHIELD_PORTABLE_CHARGE_V1"
],
"type": "string"
},
"payee_identity": {
"additionalProperties": false,
"description": "Versioned canonical payee identity bound into the signed purchase envelope. The model records exact provider identifiers and verification evidence; it does not independently validate an external registry, TLS session, provider account or domain-control document.",
"oneOf": [
{
"properties": {
"binding": {
"additionalProperties": false,
"properties": {
"network": {
"maxLength": 240,
"minLength": 1,
"type": "string"
},
"pay_to": {
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"network",
"pay_to"
],
"type": "object"
},
"provider": {
"const": "X402"
},
"verification": {
"additionalProperties": false,
"properties": {
"evidence_ref": {
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
"method": {
"const": "TRUSTED_MERCHANT_MAPPING"
},
"verifier": {
"maxLength": 240,
"minLength": 1,
"type": "string"
}
},
"required": [
"method",
"verifier",
"evidence_ref"
],
"type": "object"
}
}
},
{
"properties": {
"binding": {
"additionalProperties": false,
"properties": {
"method": {
"pattern": "^[a-z]+$",
"type": "string"
},
"service_origin": {
"pattern": "^https://[^/?#]+$",
"type": "string"
}
},
"required": [
"service_origin",
"method"
],
"type": "object"
},
"provider": {
"const": "MPP"
},
"verification": {
"additionalProperties": false,
"properties": {
"evidence_ref": {
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
"method": {
"const": "TLS_SERVICE_ORIGIN"
},
"verifier": {
"maxLength": 240,
"minLength": 1,
"type": "string"
}
},
"required": [
"method",
"verifier",
"evidence_ref"
],
"type": "object"
}
}
},
{
"properties": {
"binding": {
"additionalProperties": false,
"properties": {
"connected_account_id": {
"pattern": "^acct_[A-Za-z0-9_]{8,240}$",
"type": "string"
},
"merchant_account_id": {
"pattern": "^acct_[A-Za-z0-9_]{8,240}$",
"type": "string"
}
},
"required": [
"connected_account_id",
"merchant_account_id"
],
"type": "object"
},
"provider": {
"const": "STRIPE"
},
"verification": {
"additionalProperties": false,
"properties": {
"evidence_ref": {
"pattern": "^urn:stripe:connected-account:acct_[A-Za-z0-9_]{8,240}$",
"type": "string"
},
"method": {
"const": "STRIPE_ACCOUNT_CONFIGURATION"
},
"verifier": {
"maxLength": 240,
"minLength": 1,
"type": "string"
}
},
"required": [
"method",
"verifier",
"evidence_ref"
],
"type": "object"
}
}
},
{
"properties": {
"binding": {
"additionalProperties": false,
"properties": {
"provider_id": {
"maxLength": 240,
"minLength": 1,
"type": "string"
},
"service_origin": {
"pattern": "^https://[^/?#]+$",
"type": "string"
}
},
"required": [
"service_origin",
"provider_id"
],
"type": "object"
},
"provider": {
"const": "CUSTOM"
},
"verification": {
"additionalProperties": false,
"properties": {
"evidence_ref": {
"format": "uri",
"pattern": "^https://[^/?#]+/\\.well-known/mandateshield-payee\\.json$",
"type": "string"
},
"method": {
"const": "HTTPS_WELL_KNOWN"
},
"verifier": {
"maxLength": 240,
"minLength": 1,
"type": "string"
}
},
"required": [
"method",
"verifier",
"evidence_ref"
],
"type": "object"
}
}
}
],
"properties": {
"binding": {
"type": "object"
},
"merchant_id": {
"maxLength": 240,
"minLength": 1,
"type": "string"
},
"profile": {
"const": "MANDATESHIELD_PAYEE_IDENTITY_V1"
},
"provider": {
"enum": [
"X402",
"MPP",
"STRIPE",
"CUSTOM"
],
"type": "string"
},
"verification": {
"additionalProperties": false,
"properties": {
"evidence_ref": {
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
"method": {
"enum": [
"TRUSTED_MERCHANT_MAPPING",
"TLS_SERVICE_ORIGIN",
"STRIPE_ACCOUNT_CONFIGURATION",
"HTTPS_WELL_KNOWN"
],
"type": "string"
},
"verifier": {
"maxLength": 240,
"minLength": 1,
"type": "string"
}
},
"required": [
"method",
"verifier",
"evidence_ref"
],
"type": "object"
}
},
"required": [
"profile",
"provider",
"merchant_id",
"binding",
"verification"
],
"type": "object"
},
"resource": {
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
"user_consent": {
"type": "boolean"
},
"x402_execution_profile": {
"description": "Opt-in strict first-party x402 execution binding. Requires method and exact request digests.",
"enum": [
"MANDATESHIELD_X402_V2_EXACT_EIP3009_V1"
],
"type": "string"
}
},
"required": [
"mandate_id",
"agent_id"
],
"type": "object"
},
"selection": {
"additionalProperties": false,
"properties": {
"index": {
"maximum": 24,
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"source": {
"description": "Raw protocol input: AP2 compact SD-JWT, x402 PAYMENT-REQUIRED base64 JSON, MPP WWW-Authenticate Payment challenge, or the documented decoded object."
}
},
"required": [
"adapter",
"source",
"context"
],
"type": "object"
},
"name": "normalize_agent_payment_protocol",
"outputSchema": {
"additionalProperties": true,
"properties": {
"adapter": {
"type": "string"
},
"adapter_version": {
"type": "string"
},
"assurance": {
"properties": {
"delegated_authority_verified": {
"const": false
},
"enforcement_authorized": {
"const": false
},
"payment_credential_verified": {
"const": false
},
"projection_fields_valid": {
"const": true
},
"settlement_verified": {
"const": false
},
"source_signature_verified": {
"const": false
},
"source_trust_verified": {
"const": false
}
},
"required": [
"projection_fields_valid",
"source_signature_verified",
"source_trust_verified",
"delegated_authority_verified",
"payment_credential_verified",
"settlement_verified",
"enforcement_authorized"
],
"type": "object"
},
"envelope": {
"additionalProperties": true,
"properties": {
"agent_id": {
"description": "Stable identifier for the acting AI agent.",
"minLength": 1,
"type": "string"
},
"amount": {
"additionalProperties": false,
"oneOf": [
{
"required": [
"value",
"currency"
]
},
{
"required": [
"atomic_units",
"asset_decimals"
]
}
],
"properties": {
"asset_decimals": {
"maximum": 30,
"minimum": 0,
"type": "integer"
},
"atomic_units": {
"description": "Exact integer atomic-asset amount. This string is authoritative for X402.",
"pattern": "^(?:0|[1-9][0-9]{0,77})$",
"type": "string"
},
"currency": {
"description": "Three-letter ISO currency code.",
"pattern": "^[A-Za-z]{3}$",
"type": "string"
},
"minor_units": {
"description": "Optional exact integer amount in the currency's minor unit.",
"minimum": 1,
"type": "integer"
},
"value": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"type": "object"
},
"asset_id": {
"description": "Exact token or asset identifier; required for atomic X402 payments.",
"minLength": 1,
"type": "string"
},
"checkout_hash": {
"description": "Digest or stable identifier for the exact final checkout.",
"minLength": 1,
"type": "string"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"credential_binding": {
"type": "string"
},
"expires_at": {
"format": "date-time",
"type": "string"
},
"http_request": {
"additionalProperties": false,
"description": "Optional signed HTTP action projection used by the narrow first-party x402 v2 exact/EIP-3009 Gate adapter.",
"properties": {
"body_sha256": {
"pattern": "^sha256:[a-f0-9]{64}$",
"type": "string"
},
"headers_sha256": {
"pattern": "^sha256:[a-f0-9]{64}$",
"type": "string"
},
"method": {
"enum": [
"GET",
"HEAD",
"POST",
"PUT",
"PATCH",
"DELETE"
],
"type": "string"
},
"profile": {
"const": "MANDATESHIELD_X402_V2_EXACT_EIP3009_V1"
},
"redirect_policy": {
"const": "ERROR"
},
"url": {
"format": "uri",
"type": "string"
}
},
"required": [
"profile",
"url",
"method",
"body_sha256",
"headers_sha256",
"redirect_policy"
],
"type": "object"
},
"idempotency_key": {
"description": "Unique identifier for this intended payment attempt.",
"maxLength": 256,
"minLength": 1,
"pattern": "^[A-Za-z0-9._:~-]+$",
"type": "string"
},
"intent_hash": {
"type": "string"
},
"limits": {
"description": "Sandbox analysis policy. Live v2 ignores caller policy and loads the registered mandate.",
"oneOf": [
{
"anyOf": [
{
"required": [
"max_amount_minor"
]
},
{
"required": [
"max_amount"
]
}
],
"required": [
"currencies",
"merchants"
]
},
{
"required": [
"max_atomic_units",
"asset_decimals",
"assets",
"networks",
"resources",
"merchants"
]
}
],
"properties": {
"asset_decimals": {
"maximum": 30,
"minimum": 0,
"type": "integer"
},
"assets": {
"items": {
"minLength": 1,
"type": "string"
},
"minItems": 1,
"type": "array"
},
"currencies": {
"items": {
"pattern": "^[A-Za-z]{3}$",
"type": "string"
},
"minItems": 1,
"type": "array"
},
"max_amount": {
"exclusiveMinimum": 0,
"type": "number"
},
"max_amount_minor": {
"exclusiveMinimum": 0,
"type": "integer"
},
"max_atomic_units": {
"pattern": "^[1-9][0-9]{0,77}$",
"type": "string"
},
"merchants": {
"items": {
"minLength": 1,
"type": "string"
},
"minItems": 1,
"type": "array"
},
"networks": {
"items": {
"minLength": 1,
"type": "string"
},
"minItems": 1,
"type": "array"
},
"resources": {
"items": {
"minLength": 1,
"type": "string"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"mandate_id": {
"description": "Stable identifier for the user-approved authority.",
"minLength": 1,
"type": "string"
},
"merchant_id": {
"description": "Stable identifier for the final seller or payee.",
"minLength": 1,
"type": "string"
},
"network": {
"description": "Exact network or chain identifier; required for atomic X402 payments.",
"minLength": 1,
"type": "string"
},
"payee_identity": {
"additionalProperties": false,
"description": "Versioned canonical payee identity bound into the signed purchase envelope. The model records exact provider identifiers and verification evidence; it does not independently validate an external registry, TLS session, provider account or domain-control document.",
"oneOf": [
{
"properties": {
"binding": {
"additionalProperties": false,
"properties": {
"network": {
"maxLength": 240,
"minLength": 1,
"type": "string"
},
"pay_to": {
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"network",
"pay_to"
],
"type": "object"
},
"provider": {
"const": "X402"
},
"verification": {
"additionalProperties": false,
"properties": {
"evidence_ref": {
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
"method": {
"const": "TRUSTED_MERCHANT_MAPPING"
},
"verifier": {
"maxLength": 240,
"minLength": 1,
"type": "string"
}
},
"required": [
"method",
"verifier",
"evidence_ref"
],
"type": "object"
}
}
},
{
"properties": {
"binding": {
"additionalProperties": false,
"properties": {
"method": {
"pattern": "^[a-z]+$",
"type": "string"
},
"service_origin": {
"pattern": "^https://[^/?#]+$",
"type": "string"
}
},
"required": [
"service_origin",
"method"
],
"type": "object"
},
"provider": {
"const": "MPP"
},
"verification": {
"additionalProperties": false,
"properties": {
"evidence_ref": {
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
"method": {
"const": "TLS_SERVICE_ORIGIN"
},
"verifier": {
"maxLength": 240,
"minLength": 1,
"type": "string"
}
},
"required": [
"method",
"verifier",
"evidence_ref"
],
"type": "object"
}
}
},
{
"properties": {
"binding": {
"additionalProperties": false,
"properties": {
"connected_account_id": {
"pattern": "^acct_[A-Za-z0-9_]{8,240}$",
"type": "string"
},
"merchant_account_id": {
"pattern": "^acct_[A-Za-z0-9_]{8,240}$",
"type": "string"
}
},
"required": [
"connected_account_id",
"merchant_account_id"
],
"type": "object"
},
"provider": {
"const": "STRIPE"
},
"verification": {
"additionalProperties": false,
"properties": {
"evidence_ref": {
"pattern": "^urn:stripe:connected-account:acct_[A-Za-z0-9_]{8,240}$",
"type": "string"
},
"method": {
"const": "STRIPE_ACCOUNT_CONFIGURATION"
},
"verifier": {
"maxLength": 240,
"minLength": 1,
"type": "string"
}
},
"required": [
"method",
"verifier",
"evidence_ref"
],
"type": "object"
}
}
},
{
"properties": {
"binding": {
"additionalProperties": false,
"properties": {
"provider_id": {
"maxLength": 240,
"minLength": 1,
"type": "string"
},
"service_origin": {
"pattern": "^https://[^/?#]+$",
"type": "string"
}
},
"required": [
"service_origin",
"provider_id"
],
"type": "object"
},
"provider": {
"const": "CUSTOM"
},
"verification": {
"additionalProperties": false,
"properties": {
"evidence_ref": {
"format": "uri",
"pattern": "^https://[^/?#]+/\\.well-known/mandateshield-payee\\.json$",
"type": "string"
},
"method": {
"const": "HTTPS_WELL_KNOWN"
},
"verifier": {
"maxLength": 240,
"minLength": 1,
"type": "string"
}
},
"required": [
"method",
"verifier",
"evidence_ref"
],
"type": "object"
}
}
}
],
"properties": {
"binding": {
"type": "object"
},
"merchant_id": {
"maxLength": 240,
"minLength": 1,
"type": "string"
},
"profile": {
"const": "MANDATESHIELD_PAYEE_IDENTITY_V1"
},
"provider": {
"enum": [
"X402",
"MPP",
"STRIPE",
"CUSTOM"
],
"type": "string"
},
"verification": {
"additionalProperties": false,
"properties": {
"evidence_ref": {
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
"method": {
"enum": [
"TRUSTED_MERCHANT_MAPPING",
"TLS_SERVICE_ORIGIN",
"STRIPE_ACCOUNT_CONFIGURATION",
"HTTPS_WELL_KNOWN"
],
"type": "string"
},
"verifier": {
"maxLength": 240,
"minLength": 1,
"type": "string"
}
},
"required": [
"method",
"verifier",
"evidence_ref"
],
"type": "object"
}
},
"required": [
"profile",
"provider",
"merchant_id",
"binding",
"verification"
],
"type": "object"
},
"protocol": {
"description": "Source protocol or CUSTOM for a normalized envelope.",
"enum": [
"AP2",
"TAP",
"UCP",
"X402",
"MPP",
"ACP",
"CUSTOM"
],
"type": "string"
},
"purpose": {
"description": "Non-sensitive plain-language purchase purpose.",
"type": "string"
},
"resource": {
"description": "Exact paid resource identifier; required for atomic X402 payments.",
"minLength": 1,
"type": "string"
},
"user_consent": {
"type": "boolean"
}
},
"required": [
"protocol",
"mandate_id",
"agent_id",
"merchant_id",
"amount",
"idempotency_key"
],
"type": "object"
},
"envelope_digest": {
"type": "string"
},
"next_step": {
"type": "string"
},
"protocol": {
"enum": [
"AP2",
"X402",
"MPP"
],
"type": "string"
},
"source_digest": {
"type": "string"
},
"warnings": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"adapter",
"adapter_version",
"protocol",
"source_digest",
"envelope_digest",
"envelope",
"assurance",
"next_step",
"warnings"
],
"type": "object"
}
},
{
"description": "Use only for a production pre-payment authority gate after the caller has a registered mandate, pinned issuer key, fresh challenge, VERIFY-scoped key, exact final purchase and supported signed evidence. Fail closed for JWS, an AP2-shaped closed-payment SD-JWT projection with RFC 9901 KB-JWT, or normalized TAP-shaped RFC 9421-style evidence. Full AP2 checkout/delegate-chain and Visa TAP structured-field/trust-store processing remain external. A qualifying live ALLOW creates only a short RESERVED authorization and cumulative-budget allocation. This MCP tool never executes payment and exposes no processor transition: a separate trusted gateway with an audience-bound PROCESSOR key must CONSUME and freshly redeem the provider-bound permit before attempting an idempotent provider operation, then reconcile the outcome.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"envelope": {
"additionalProperties": true,
"properties": {
"agent_id": {
"description": "Stable identifier for the acting AI agent.",
"minLength": 1,
"type": "string"
},
"amount": {
"additionalProperties": false,
"oneOf": [
{
"required": [
"value",
"currency"
]
},
{
"required": [
"atomic_units",
"asset_decimals"
]
}
],
"properties": {
"asset_decimals": {
"maximum": 30,
"minimum": 0,
"type": "integer"
},
"atomic_units": {
"description": "Exact integer atomic-asset amount. This string is authoritative for X402.",
"pattern": "^(?:0|[1-9][0-9]{0,77})$",
"type": "string"
},
"currency": {
"description": "Three-letter ISO currency code.",
"pattern": "^[A-Za-z]{3}$",
"type": "string"
},
"minor_units": {
"description": "Optional exact integer amount in the currency's minor unit.",
"minimum": 1,
"type": "integer"
},
"value": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"type": "object"
},
"asset_id": {
"description": "Exact token or asset identifier; required for atomic X402 payments.",
"minLength": 1,
"type": "string"
},
"checkout_hash": {
"description": "Digest or stable identifier for the exact final checkout.",
"minLength": 1,
"type": "string"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"credential_binding": {
"type": "string"
},
"expires_at": {
"format": "date-time",
"type": "string"
},
"http_request": {
"additionalProperties": false,
"description": "Optional signed HTTP action projection used by the narrow first-party x402 v2 exact/EIP-3009 Gate adapter.",
"properties": {
"body_sha256": {
"pattern": "^sha256:[a-f0-9]{64}$",
"type": "string"
},
"headers_sha256": {
"pattern": "^sha256:[a-f0-9]{64}$",
"type": "string"
},
"method": {
"enum": [
"GET",
"HEAD",
"POST",
"PUT",
"PATCH",
"DELETE"
],
"type": "string"
},
"profile": {
"const": "MANDATESHIELD_X402_V2_EXACT_EIP3009_V1"
},
"redirect_policy": {
"const": "ERROR"
},
"url": {
"format": "uri",
"type": "string"
}
},
"required": [
"profile",
"url",
"method",
"body_sha256",
"headers_sha256",
"redirect_policy"
],
"type": "object"
},
"idempotency_key": {
"description": "Unique identifier for this intended payment attempt.",
"maxLength": 256,
"minLength": 1,
"pattern": "^[A-Za-z0-9._:~-]+$",
"type": "string"
},
"intent_hash": {
"type": "string"
},
"limits": {
"description": "Sandbox analysis policy. Live v2 ignores caller policy and loads the registered mandate.",
"oneOf": [
{
"anyOf": [
{
"required": [
"max_amount_minor"
]
},
{
"required": [
"max_amount"
]
}
],
"required": [
"currencies",
"merchants"
]
},
{
"required": [
"max_atomic_units",
"asset_decimals",
"assets",
"networks",
"resources",
"merchants"
]
}
],
"properties": {
"asset_decimals": {
"maximum": 30,
"minimum": 0,
"type": "integer"
},
"assets": {
"items": {
"minLength": 1,
"type": "string"
},
"minItems": 1,
"type": "array"
},
"currencies": {
"items": {
"pattern": "^[A-Za-z]{3}$",
"type": "string"
},
"minItems": 1,
"type": "array"
},
"max_amount": {
"exclusiveMinimum": 0,
"type": "number"
},
"max_amount_minor": {
"exclusiveMinimum": 0,
"type": "integer"
},
"max_atomic_units": {
"pattern": "^[1-9][0-9]{0,77}$",
"type": "string"
},
"merchants": {
"items": {
"minLength": 1,
"type": "string"
},
"minItems": 1,
"type": "array"
},
"networks": {
"items": {
"minLength": 1,
"type": "string"
},
"minItems": 1,
"type": "array"
},
"resources": {
"items": {
"minLength": 1,
"type": "string"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"mandate_id": {
"description": "Stable identifier for the user-approved authority.",
"minLength": 1,
"type": "string"
},
"merchant_id": {
"description": "Stable identifier for the final seller or payee.",
"minLength": 1,
"type": "string"
},
"network": {
"description": "Exact network or chain identifier; required for atomic X402 payments.",
"minLength": 1,
"type": "string"
},
"payee_identity": {
"additionalProperties": false,
"description": "Versioned canonical payee identity bound into the signed purchase envelope. The model records exact provider identifiers and verification evidence; it does not independently validate an external registry, TLS session, provider account or domain-control document.",
"oneOf": [
{
"properties": {
"binding": {
"additionalProperties": false,
"properties": {
"network": {
"maxLength": 240,
"minLength": 1,
"type": "string"
},
"pay_to": {
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"network",
"pay_to"
],
"type": "object"
},
"provider": {
"const": "X402"
},
"verification": {
"additionalProperties": false,
"properties": {
"evidence_ref": {
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
"method": {
"const": "TRUSTED_MERCHANT_MAPPING"
},
"verifier": {
"maxLength": 240,
"minLength": 1,
"type": "string"
}
},
"required": [
"method",
"verifier",
"evidence_ref"
],
"type": "object"
}
}
},
{
"properties": {
"binding": {
"additionalProperties": false,
"properties": {
"method": {
"pattern": "^[a-z]+$",
"type": "string"
},
"service_origin": {
"pattern": "^https://[^/?#]+$",
"type": "string"
}
},
"required": [
"service_origin",
"method"
],
"type": "object"
},
"provider": {
"const": "MPP"
},
"verification": {
"additionalProperties": false,
"properties": {
"evidence_ref": {
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
"method": {
"const": "TLS_SERVICE_ORIGIN"
},
"verifier": {
"maxLength": 240,
"minLength": 1,
"type": "string"
}
},
"required": [
"method",
"verifier",
"evidence_ref"
],
"type": "object"
}
}
},
{
"properties": {
"binding": {
"additionalProperties": false,
"properties": {
"connected_account_id": {
"pattern": "^acct_[A-Za-z0-9_]{8,240}$",
"type": "string"
},
"merchant_account_id": {
"pattern": "^acct_[A-Za-z0-9_]{8,240}$",
"type": "string"
}
},
"required": [
"connected_account_id",
"merchant_account_id"
],
"type": "object"
},
"provider": {
"const": "STRIPE"
},
"verification": {
"additionalProperties": false,
"properties": {
"evidence_ref": {
"pattern": "^urn:stripe:connected-account:acct_[A-Za-z0-9_]{8,240}$",
"type": "string"
},
"method": {
"const": "STRIPE_ACCOUNT_CONFIGURATION"
},
"verifier": {
"maxLength": 240,
"minLength": 1,
"type": "string"
}
},
"required": [
"method",
"verifier",
"evidence_ref"
],
"type": "object"
}
}
},
{
"properties": {
"binding": {
"additionalProperties": false,
"properties": {
"provider_id": {
"maxLength": 240,
"minLength": 1,
"type": "string"
},
"service_origin": {
"pattern": "^https://[^/?#]+$",
"type": "string"
}
},
"required": [
"service_origin",
"provider_id"
],
"type": "object"
},
"provider": {
"const": "CUSTOM"
},
"verification": {
"additionalProperties": false,
"properties": {
"evidence_ref": {
"format": "uri",
"pattern": "^https://[^/?#]+/\\.well-known/mandateshield-payee\\.json$",
"type": "string"
},
"method": {
"const": "HTTPS_WELL_KNOWN"
},
"verifier": {
"maxLength": 240,
"minLength": 1,
"type": "string"
}
},
"required": [
"method",
"verifier",
"evidence_ref"
],
"type": "object"
}
}
}
],
"properties": {
"binding": {
"type": "object"
},
"merchant_id": {
"maxLength": 240,
"minLength": 1,
"type": "string"
},
"profile": {
"const": "MANDATESHIELD_PAYEE_IDENTITY_V1"
},
"provider": {
"enum": [
"X402",
"MPP",
"STRIPE",
"CUSTOM"
],
"type": "string"
},
"verification": {
"additionalProperties": false,
"properties": {
"evidence_ref": {
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
"method": {
"enum": [
"TRUSTED_MERCHANT_MAPPING",
"TLS_SERVICE_ORIGIN",
"STRIPE_ACCOUNT_CONFIGURATION",
"HTTPS_WELL_KNOWN"
],
"type": "string"
},
"verifier": {
"maxLength": 240,
"minLength": 1,
"type": "string"
}
},
"required": [
"method",
"verifier",
"evidence_ref"
],
"type": "object"
}
},
"required": [
"profile",
"provider",
"merchant_id",
"binding",
"verification"
],
"type": "object"
},
"protocol": {
"description": "Source protocol or CUSTOM for a normalized envelope.",
"enum": [
"AP2",
"TAP",
"UCP",
"X402",
"MPP",
"ACP",
"CUSTOM"
],
"type": "string"
},
"purpose": {
"description": "Non-sensitive plain-language purchase purpose.",
"type": "string"
},
"resource": {
"description": "Exact paid resource identifier; required for atomic X402 payments.",
"minLength": 1,
"type": "string"
},
"user_consent": {
"type": "boolean"
}
},
"required": [
"protocol",
"mandate_id",
"agent_id",
"merchant_id",
"amount",
"idempotency_key"
],
"type": "object"
},
"evidence": {
"additionalProperties": false,
"properties": {
"algorithm": {
"enum": [
"ES256",
"RS256",
"PS256"
],
"type": "string"
},
"compact": {
"type": "string"
},
"components": {
"type": "object"
},
"expected_audience": {
"type": "string"
},
"expected_authority": {
"type": "string"
},
"expected_nonce": {
"type": "string"
},
"format": {
"enum": [
"jws",
"sd-jwt",
"http-message-signature"
],
"type": "string"
},
"public_key": {
"type": "object"
},
"signature": {
"type": "string"
},
"signature_input": {
"type": "object"
}
},
"required": [
"format",
"public_key"
],
"type": "object"
}
},
"required": [
"envelope",
"evidence"
],
"type": "object"
},
"name": "verify_cryptographic_payment_authority",
"outputSchema": {
"properties": {
"assurance": {
"required": [
"status",
"format",
"key_trust",
"signature_valid",
"authority_valid",
"input_digest",
"findings"
],
"type": "object"
},
"checked_at": {
"format": "date-time",
"type": "string"
},
"controls": {
"properties": {
"evaluated": {
"minimum": 0,
"type": "integer"
},
"passed": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"evaluated",
"passed"
],
"type": "object"
},
"decision": {
"enum": [
"ALLOW",
"REVIEW",
"BLOCK"
],
"type": "string"
},
"enforcement_authorized": {
"description": "True only when strict live verification durably creates a trusted, consumable execution reservation. It never permits a direct provider call.",
"type": "boolean"
},
"error": {
"type": "string"
},
"execution_authorization": {
"properties": {
"consumable": {
"type": "boolean"
},
"expires_at": {
"type": [
"string",
"null"
]
},
"processor_integration_required": {
"const": true,
"type": "boolean"
},
"state": {
"enum": [
"RESERVED",
"NOT_RESERVED",
"ARCHIVAL_ONLY"
],
"type": "string"
},
"transition_uri": {
"type": "string"
}
},
"required": [
"state",
"consumable",
"transition_uri",
"processor_integration_required"
],
"type": "object"
},
"findings": {
"items": {
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"severity": {
"enum": [
"high",
"medium",
"low"
],
"type": "string"
}
},
"required": [
"code",
"message",
"severity"
],
"type": "object"
},
"type": "array"
},
"mode": {
"type": "string"
},
"persisted": {
"type": "boolean"
},
"protocol": {
"type": "string"
},
"receipt": {
"type": "string"
},
"recommended_action": {
"type": "string"
},
"risk": {
"properties": {
"blocked_value": {
"minimum": 0,
"type": "number"
},
"level": {
"enum": [
"CLEAR",
"GUARDED",
"ELEVATED",
"CRITICAL"
],
"type": "string"
},
"mandate_headroom": {
"type": [
"number",
"null"
]
},
"primary_reason": {
"type": [
"string",
"null"
]
},
"requested_value": {
"type": [
"number",
"null"
]
}
},
"required": [
"level",
"requested_value",
"mandate_headroom",
"blocked_value",
"primary_reason"
],
"type": "object"
},
"score": {
"description": "Deterministic control-coverage indicator, not a calibrated probability of fraud or loss.",
"maximum": 100,
"minimum": 0,
"type": "integer"
},
"signed_receipt": {
"required": [
"format",
"compact",
"receipt_id",
"key_id",
"jwks_uri",
"verify_uri",
"transparency_uri"
],
"type": "object"
},
"transparency": {
"properties": {
"status": {
"enum": [
"RECORDED",
"NOT_RECORDED"
],
"type": "string"
},
"uri": {
"type": "string"
}
},
"required": [
"status",
"uri"
],
"type": "object"
}
},
"required": [
"decision",
"score",
"receipt",
"checked_at",
"protocol",
"findings",
"risk",
"recommended_action",
"controls",
"mode",
"persisted",
"enforcement_authorized",
"assurance",
"signed_receipt",
"transparency",
"execution_authorization"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:abbcc167e55deaa303efa332bdf470dfc5433ab64976f0207de28905cb16f5a2 | sha256sum