Agent Reliability Network: ARN x402 PayGuard provides x402 payment security for autonomous
Agent Reliability Network: ARN x402 PayGuard provides x402 payment security for autonomous AI agents. Check the seller before you pay with payment preflight and payment-challenge validation. Returns ALLOW, CAUTION, or BLOCK.
1000 (raw units)
price
3
calls / 30d
3
unique payers
2026-09-14
updated
Provider
arn-x402-payguard-payment-security.rajdeep-dutta-in.workers.dev · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0xa7e1fe3744E3b6D55237d95cE575cAFe3b8abeCD",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "1000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "5vX2u7mkwhxpvQYNA7SqmauJjkcfnxETQ6tKVZphzKyM",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": "1000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"body": {
"intended_spend_usdc": 0.03,
"url": "https://paid-agent.example/api"
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"authorization": {
"mechanism": null,
"status": "UNAVAILABLE"
},
"checks": {
"asset_address_valid": true,
"canonical_usdc": true,
"challenge_stable": true,
"content_type_sane": true,
"exact_payment": true,
"http_402": true,
"https": true,
"no_unsafe_redirect": true,
"pay_to_address_valid": true,
"pay_to_safe_receiver": true,
"positive_amount": true,
"reachable": true,
"reasonable_timeout": true,
"resource_binding": true,
"response_size_within_limit": true,
"structured_response_sane": true,
"supported_network": true,
"within_intended_spend": true,
"x402_v2": true,
"x402_valid": true
},
"decision": "ALLOW",
"errors": [],
"intended_spend_usdc": 0.03,
"latency_ms": 42,
"methodology": "live-security-v1",
"network": "eip155:8453",
"payTo": "0x1111111111111111111111111111111111111111",
"payment_required": true,
"quoted_price_atomic": "30000",
"quoted_price_usdc": 0.03,
"reachable": true,
"reason_codes": [],
"scheme": "exact",
"simulation": {
"failure": null,
"status": "UNAVAILABLE"
},
"warnings": [],
"x402_valid": true,
"x402_version": 2
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"properties": {
"authorization": {
"additionalProperties": false,
"description": "Optional unsigned payment authorization context to compare with the live x402 challenge",
"properties": {
"amount_atomic": {
"description": "Atomic token amount the buyer is about to authorize",
"pattern": "^[0-9]+$",
"type": "string"
},
"asset": {
"description": "Payment asset the buyer is about to authorize",
"type": "string"
},
"network": {
"description": "CAIP-2 payment network the buyer is about to authorize",
"type": "string"
},
"payTo": {
"description": "Payment recipient the buyer is about to authorize",
"type": "string"
},
"payer": {
"description": "Optional expected EIP-3009 authorization payer; distinct from a transaction relayer",
"type": "string"
},
"resource": {
"description": "Seller resource the authorization is intended to purchase",
"format": "uri",
"type": "string"
},
"transaction": {
"additionalProperties": false,
"description": "Optional unsigned Base eth_call input reused for transaction simulation and supported canonical USDC authorization decoding",
"properties": {
"data": {
"description": "Non-empty hex calldata for the unsigned simulation",
"pattern": "^0x(?:[0-9a-fA-F]{2})+$",
"type": "string"
},
"from": {
"description": "Optional EVM caller address for eth_call",
"type": "string"
},
"to": {
"description": "EVM call target; must match the challenged payment asset",
"type": "string"
},
"value": {
"description": "Optional hexadecimal native-value quantity for eth_call",
"pattern": "^0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)$",
"type": "string"
}
},
"type": "object"
},
"valid_after": {
"description": "Optional authorization valid-after Unix timestamp",
"type": [
"integer",
"string"
]
},
"valid_before": {
"description": "Optional authorization expiry Unix timestamp",
"type": [
"integer",
"string"
]
}
},
"type": "object"
},
"intended_spend_usdc": {
"description": "Optional maximum USDC amount the buyer intends to authorize",
"exclusiveMinimum": 0,
"type": "number"
},
"url": {
"description": "HTTPS URL of the x402 seller endpoint to inspect live",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
]
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"additionalProperties": false,
"properties": {
"asset": {
"type": [
"string",
"null"
]
},
"authorization": {
"additionalProperties": false,
"properties": {
"mechanism": {
"type": [
"string",
"null"
]
},
"status": {
"enum": [
"VERIFIED",
"MISMATCH",
"UNAVAILABLE"
],
"type": "string"
}
},
"required": [
"status",
"mechanism"
],
"type": "object"
},
"checks": {
"additionalProperties": false,
"properties": {
"asset_address_valid": {
"type": "boolean"
},
"canonical_usdc": {
"type": "boolean"
},
"challenge_stable": {
"type": "boolean"
},
"content_type_sane": {
"type": "boolean"
},
"exact_payment": {
"type": "boolean"
},
"http_402": {
"type": "boolean"
},
"https": {
"type": "boolean"
},
"no_unsafe_redirect": {
"type": "boolean"
},
"pay_to_address_valid": {
"type": "boolean"
},
"pay_to_safe_receiver": {
"type": "boolean"
},
"positive_amount": {
"type": "boolean"
},
"reachable": {
"type": "boolean"
},
"reasonable_timeout": {
"type": "boolean"
},
"resource_binding": {
"type": "boolean"
},
"response_size_within_limit": {
"type": "boolean"
},
"structured_response_sane": {
"type": "boolean"
},
"supported_network": {
"type": "boolean"
},
"within_intended_spend": {
"type": [
"boolean",
"null"
]
},
"x402_v2": {
"type": "boolean"
},
"x402_valid": {
"type": "boolean"
}
},
"required": [
"https",
"reachable",
"no_unsafe_redirect",
"http_402",
"x402_valid",
"x402_v2",
"exact_payment",
"supported_network",
"asset_address_valid",
"canonical_usdc",
"pay_to_address_valid",
"pay_to_safe_receiver",
"positive_amount",
"reasonable_timeout",
"resource_binding",
"response_size_within_limit",
"content_type_sane",
"structured_response_sane",
"challenge_stable",
"within_intended_spend"
],
"type": "object"
},
"decision": {
"enum": [
"ALLOW",
"CAUTION",
"BLOCK"
],
"type": "string"
},
"errors": {
"items": {
"additionalProperties": false,
"properties": {
"code": {
"enum": [
"HTTPS_REQUIRED",
"INVALID_URL",
"SELLER_UNREACHABLE",
"SELLER_TIMEOUT",
"UNSAFE_REDIRECT",
"UNSAFE_REDIRECT_CREDENTIALS",
"HTTPS_DOWNGRADE",
"REDIRECT_LOOP",
"EXCESSIVE_REDIRECTS",
"EXPECTED_402",
"INVALID_X402_CHALLENGE",
"UNSUPPORTED_X402_VERSION",
"UNSUPPORTED_PAYMENT_SCHEME",
"NETWORK_MISMATCH",
"DUPLICATE_PAYMENT_REQUIREMENTS",
"CONFLICTING_PAYMENT_REQUIREMENTS",
"AMBIGUOUS_PAYMENT_OPTIONS",
"INVALID_PAYMENT_ASSET",
"NON_CANONICAL_USDC",
"INVALID_PAY_TO",
"UNSAFE_RECEIVER",
"RECIPIENT_RPC_UNAVAILABLE",
"INVALID_PAYMENT_REQUIREMENT",
"INVALID_PAYMENT_TIMEOUT",
"RESOURCE_BINDING_MISMATCH",
"INVALID_CONTENT_TYPE",
"RESPONSE_TOO_LARGE",
"MALFORMED_JSON",
"INVALID_RESPONSE_SCHEMA",
"NETWORK_CHANGED",
"ASSET_CHANGED",
"PAY_TO_CHANGED",
"PRICE_CHANGED",
"PAYMENT_REQUIREMENTS_MUTATED",
"PAYMENT_CHALLENGE_BODY_MISMATCH",
"INVALID_INTENDED_SPEND",
"PRICE_EXCEEDS_INTENT",
"AUTH_AMOUNT_MISMATCH",
"AUTH_ASSET_MISMATCH",
"AUTH_NETWORK_MISMATCH",
"AUTH_RECIPIENT_MISMATCH",
"CALLDATA_PAYER_MISMATCH",
"AUTH_RESOURCE_MISMATCH",
"AUTH_WINDOW_UNSAFE",
"TRANSACTION_SIMULATION_REVERTED",
"TRANSACTION_SIMULATION_RPC_UNAVAILABLE",
"SAFE_REDIRECT_FOLLOWED"
],
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"code",
"message"
],
"type": "object"
},
"type": "array"
},
"intended_spend_usdc": {
"type": [
"number",
"null"
]
},
"latency_ms": {
"minimum": 0,
"type": "integer"
},
"methodology": {
"const": "live-security-v1",
"type": "string"
},
"network": {
"type": [
"string",
"null"
]
},
"payTo": {
"type": [
"string",
"null"
]
},
"payment_required": {
"type": "boolean"
},
"quoted_price_atomic": {
"type": [
"string",
"null"
]
},
"quoted_price_usdc": {
"type": [
"number",
"null"
]
},
"reachable": {
"type": "boolean"
},
"reason_codes": {
"items": {
"enum": [
"HTTPS_REQUIRED",
"INVALID_URL",
"SELLER_UNREACHABLE",
"SELLER_TIMEOUT",
"UNSAFE_REDIRECT",
"UNSAFE_REDIRECT_CREDENTIALS",
"HTTPS_DOWNGRADE",
"REDIRECT_LOOP",
"EXCESSIVE_REDIRECTS",
"EXPECTED_402",
"INVALID_X402_CHALLENGE",
"UNSUPPORTED_X402_VERSION",
"UNSUPPORTED_PAYMENT_SCHEME",
"NETWORK_MISMATCH",
"DUPLICATE_PAYMENT_REQUIREMENTS",
"CONFLICTING_PAYMENT_REQUIREMENTS",
"AMBIGUOUS_PAYMENT_OPTIONS",
"INVALID_PAYMENT_ASSET",
"NON_CANONICAL_USDC",
"INVALID_PAY_TO",
"UNSAFE_RECEIVER",
"RECIPIENT_RPC_UNAVAILABLE",
"INVALID_PAYMENT_REQUIREMENT",
"INVALID_PAYMENT_TIMEOUT",
"RESOURCE_BINDING_MISMATCH",
"INVALID_CONTENT_TYPE",
"RESPONSE_TOO_LARGE",
"MALFORMED_JSON",
"INVALID_RESPONSE_SCHEMA",
"NETWORK_CHANGED",
"ASSET_CHANGED",
"PAY_TO_CHANGED",
"PRICE_CHANGED",
"PAYMENT_REQUIREMENTS_MUTATED",
"PAYMENT_CHALLENGE_BODY_MISMATCH",
"INVALID_INTENDED_SPEND",
"PRICE_EXCEEDS_INTENT",
"AUTH_AMOUNT_MISMATCH",
"AUTH_ASSET_MISMATCH",
"AUTH_NETWORK_MISMATCH",
"AUTH_RECIPIENT_MISMATCH",
"CALLDATA_PAYER_MISMATCH",
"AUTH_RESOURCE_MISMATCH",
"AUTH_WINDOW_UNSAFE",
"TRANSACTION_SIMULATION_REVERTED",
"TRANSACTION_SIMULATION_RPC_UNAVAILABLE",
"SAFE_REDIRECT_FOLLOWED"
],
"type": "string"
},
"type": "array",
"uniqueItems": true
},
"scheme": {
"enum": [
"exact",
null
],
"type": [
"string",
"null"
]
},
"simulation": {
"additionalProperties": false,
"properties": {
"failure": {
"type": [
"string",
"null"
]
},
"status": {
"enum": [
"SUCCESS",
"REVERTED",
"UNAVAILABLE",
"UNKNOWN"
],
"type": "string"
}
},
"required": [
"status",
"failure"
],
"type": "object"
},
"warnings": {
"items": {
"additionalProperties": false,
"properties": {
"code": {
"enum": [
"HTTPS_REQUIRED",
"INVALID_URL",
"SELLER_UNREACHABLE",
"SELLER_TIMEOUT",
"UNSAFE_REDIRECT",
"UNSAFE_REDIRECT_CREDENTIALS",
"HTTPS_DOWNGRADE",
"REDIRECT_LOOP",
"EXCESSIVE_REDIRECTS",
"EXPECTED_402",
"INVALID_X402_CHALLENGE",
"UNSUPPORTED_X402_VERSION",
"UNSUPPORTED_PAYMENT_SCHEME",
"NETWORK_MISMATCH",
"DUPLICATE_PAYMENT_REQUIREMENTS",
"CONFLICTING_PAYMENT_REQUIREMENTS",
"AMBIGUOUS_PAYMENT_OPTIONS",
"INVALID_PAYMENT_ASSET",
"NON_CANONICAL_USDC",
"INVALID_PAY_TO",
"UNSAFE_RECEIVER",
"RECIPIENT_RPC_UNAVAILABLE",
"INVALID_PAYMENT_REQUIREMENT",
"INVALID_PAYMENT_TIMEOUT",
"RESOURCE_BINDING_MISMATCH",
"INVALID_CONTENT_TYPE",
"RESPONSE_TOO_LARGE",
"MALFORMED_JSON",
"INVALID_RESPONSE_SCHEMA",
"NETWORK_CHANGED",
"ASSET_CHANGED",
"PAY_TO_CHANGED",
"PRICE_CHANGED",
"PAYMENT_REQUIREMENTS_MUTATED",
"PAYMENT_CHALLENGE_BODY_MISMATCH",
"INVALID_INTENDED_SPEND",
"PRICE_EXCEEDS_INTENT",
"AUTH_AMOUNT_MISMATCH",
"AUTH_ASSET_MISMATCH",
"AUTH_NETWORK_MISMATCH",
"AUTH_RECIPIENT_MISMATCH",
"CALLDATA_PAYER_MISMATCH",
"AUTH_RESOURCE_MISMATCH",
"AUTH_WINDOW_UNSAFE",
"TRANSACTION_SIMULATION_REVERTED",
"TRANSACTION_SIMULATION_RPC_UNAVAILABLE",
"SAFE_REDIRECT_FOLLOWED"
],
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"code",
"message"
],
"type": "object"
},
"type": "array"
},
"x402_valid": {
"type": "boolean"
},
"x402_version": {
"enum": [
2,
null
],
"type": [
"integer",
"null"
]
}
},
"required": [
"decision",
"reason_codes",
"checks",
"warnings",
"errors",
"reachable",
"payment_required",
"x402_valid",
"x402_version",
"scheme",
"network",
"asset",
"payTo",
"quoted_price_atomic",
"quoted_price_usdc",
"intended_spend_usdc",
"authorization",
"simulation",
"latency_ms",
"methodology"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://arn-x402-payguard-payment-security.rajdeep-dutta-in.workers.dev/preflight" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://arn-x402-payguard-payment-security.rajdeep-dutta-in.workers.dev/preflight");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://arn-x402-payguard-payment-security.rajdeep-dutta-in.workers.dev/preflight")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/8922.json, and this resource appears in /discovery/resources and /discovery/search.