Deprecated legacy endpoint for verifying an x402 payment with organization-specific authentication
Verify a Nanopayments Gateway (Circle Gateway batched) payment without settling it. Routing happens on the sameDocumentation Index
Fetch the complete documentation index at: https://docs.mrdn.finance/llms.txt
Use this file to discover all available pages before exploring further.
POST /v1/verify endpoint as the default x402 path; when paymentRequirements.extra.name === "GatewayWalletBatched", the facilitator forwards the request to Circle’s Gateway API.
verify() + settle() two-step. Use
this endpoint mainly for diagnostics.paymentRequirements.extra.name === "GatewayWalletBatched" and extra.version === "1"GATEWAY_MAINNET_ENABLED)errorReason: "gateway_not_enabled".
extra block:
extra fields.
{ ...gatewayResponse, verificationMethod, testnet, authContext }:
isValid (and any other fields) come from Circle.verificationMethod: "batched" confirms the Circle Gateway path was taken.testnet is true when paymentRequirements.network is base-sepolia or optimism-sepolia. Note: the verify path does not mark fluent-testnet as testnet, which differs from the settle path.authContext.authMethod is the literal string "middleware_handled". The verify path’s authContext includes organizationId (resolved by the apiSession middleware)./v1/verify requests)paymentPayload and paymentRequirements against PaymentPayloadSchema and PaymentRequirementsSchema before the batched routing check. If either fails, the request never reaches the Circle path:
gateway_not_enabled: paymentRequirements.extra matched batched but isGatewayEnabledForNetwork(network) returned false.batched_verify_error: forwarding to Circle threw before a response could be parsed.invalid_payload: paymentPayload failed PaymentPayloadSchema.parse().invalid_payment_requirements: paymentRequirements failed PaymentRequirementsSchema.parse().unexpected_verify_error: unhandled exception inside the verify handler (HTTP 500).