Machine-readable proof
/api/x402-proof
{
"name": "ApexScout x402 Proof",
"version": "v2.2.179-cloudflare-worker-origin-release-split",
"brand": {
"name": "ApexScout",
"legalProductName": "ApexScout / Agent Research Desk",
"tagline": "Pre-payment trust and checkout readiness for x402 agent commerce.",
"description": "Pre-payment trust and checkout readiness for x402 agent commerce. Choose a no-spend path before any buyer-controlled payment.",
"logoAlt": "ApexScout official logo",
"assets": {
"original": "https://apexscout.ai/assets/apexscout-logo.png",
"lockup": "https://apexscout.ai/assets/apexscout-logo-lockup.png",
"mark": "https://apexscout.ai/assets/apexscout-logo-mark.png",
"icon": "https://apexscout.ai/assets/apexscout-icon.png",
"openGraph": "https://apexscout.ai/assets/apexscout-og.png"
},
"colors": {
"midnight": "#001038",
"navy": "#081840",
"deepNavy": "#101840",
"cobalt": "#1060f8",
"electricBlue": "#1068f8",
"signalCyan": "#00c8c8",
"white": "#ffffff",
"frost": "#f7fbff",
"slate": "#516078"
},
"structure": {
"primaryLogo": "Use the option 1-style horizontal lockup for website headers, hero sections, and public brand surfaces.",
"compactLogo": "Use the option 10-style mark for favicons, tight cards, and small navigation treatments.",
"visualSystem": "Keep layouts clean, bright, and technical: white/frost backgrounds, navy text, cobalt calls to action, and cyan signal accents."
},
"assetPaths": {
"original": "/assets/apexscout-logo.png",
"lockup": "/assets/apexscout-logo-lockup.png",
"mark": "/assets/apexscout-logo-mark.png",
"icon": "/assets/apexscout-icon.png",
"openGraph": "/assets/apexscout-og.png"
}
},
"purpose": "Give buyer agents, x402 builders, and ecosystem reviewers one zero-contact public proof surface for ApexScout's live x402 payment flow.",
"frontDoorActionRailAvailable": true,
"frontDoorActionRail": {
"frontDoorActionRailAvailable": true,
"title": "What do you want ApexScout to check before payment?",
"subtitle": "Choose one no-spend path. No wallet. No payment. ApexScout only routes you to the right free check.",
"compactTitle": "Choose a no-spend next step",
"compactCopy": "These links only record aggregate intent and route to a free next step. No payment happens here.",
"agenticTradingNote": "Payment-readiness only. Not trading or investment advice.",
"primaryNoSpendActions": [
{
"intent": "proof",
"href": "/action-pack/go/proof",
"url": "https://apexscout.ai/action-pack/go/proof",
"label": "Test the cheapest x402 proof path",
"copy": "Use this when you only need the trust/proof flow.",
"noSpend": true,
"paymentExecuted": false,
"prepareExecuted": false,
"recordsAggregateIntentOnClick": true,
"redirectsToNoSpendTarget": true,
"noSpendTarget": "/chat-tiny-payment-flow?src=action-pack-proof-intent-link",
"noSpendTargetUrl": "https://apexscout.ai/chat-tiny-payment-flow?src=action-pack-proof-intent-link",
"destinationHandoffExpected": true,
"destinationHandoffRoute": "/chat-tiny-payment-flow?src=action-pack-proof-intent-link",
"destinationHandoffRouteUrl": "https://apexscout.ai/chat-tiny-payment-flow?src=action-pack-proof-intent-link",
"nextActionLabel": "Inspect unpaid proof instructions",
"noAutoPrepare": true,
"noPaymentExecution": true,
"noPrepareExecutionFromRail": true,
"buyerLevelDataExposed": false,
"optionalX402ProofCta": {
"method": "GET",
"route": "/api/opportunity-check",
"href": "/api/opportunity-check?src=front-door-x402-proof-cta",
"url": "https://apexscout.ai/api/opportunity-check?src=front-door-x402-proof-cta",
"sourceTag": "front-door-x402-proof-cta",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"requiresBuyerControlledX402Retry": true,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"secondaryToNoSpend": true,
"noAutoOpen": true,
"noPaymentExecution": true,
"buyerLevelDataExposed": false,
"proofRetryConfidence": {
"available": true,
"mode": "no-spend-proof-retry-confidence",
"purpose": "Help x402-capable buyers understand that an unpaid 402 is the expected proof challenge and that payment only happens from a buyer-controlled retry.",
"route": "/api/opportunity-check",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"expectedUnpaidMeaning": "HTTP 402 means the proof paywall is reachable and returning x402 payment requirements. It is not a service outage and it is not revenue.",
"expectedPaidMeaning": "HTTP 200 only counts after a buyer-controlled x402 client retries this route with an approved payment.",
"http402ReadinessReceiptAvailable": true,
"http402ReadinessReceipt": {
"available": true,
"mode": "no-spend-http-402-readiness-receipt",
"title": "HTTP 402 Readiness Receipt",
"purpose": "Give x402-capable buyers a compact, unsigned receipt showing what the unpaid proof challenge proves before any buyer-controlled paid retry.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"url": "https://apexscout.ai/api/opportunity-check",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"agentExecutionProofPacketAvailable": true,
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"receiptScope": "GET /api/opportunity-check, $0.01 maximum amount, eip155:8453 Base mainnet x402, one buyer-controlled retry.",
"receiptSummary": "Unpaid HTTP 402 proves the x402 proof route is reachable and returning payment requirements. It does not prove payment, revenue, endorsement, or buyer approval.",
"agentDecision": {
"payOnlyIf": "The buyer explicitly approves the route, max amount, network, and one retry from a wallet-controlled x402 client.",
"stopIf": "The buyer has not approved spend, the client cannot attach x402 payment, the route or network differs, or HTTP 402 is being treated as a paid completion.",
"nextNoSpendStep": "Stay on ApexScout proof, action-pack, Scope Check, or Builder surfaces until buyer-controlled payment is intentionally approved."
},
"readinessChecks": [
"Route scoped to GET /api/opportunity-check.",
"Amount scoped to $0.01 / 10000 atomic USDC.",
"Network scoped to Base mainnet eip155:8453.",
"HTTP 402 is expected before payment.",
"HTTP 200 is required before paid completion is counted.",
"No request body, cookies, session, or wallet connection is required to read this receipt.",
"No buyer-level data is exposed by this receipt.",
"No automatic payment or paid retry is performed by ApexScout."
],
"publicSafetyCopy": "This is an unsigned no-spend readiness receipt, not AP2 proof, not a signed mandate, not a legal or payment receipt, not an endorsement claim, and not trading, investment, tax, legal, lending, or compliance advice.",
"notClaims": {
"signedReceiptCreated": false,
"ap2ProofCreated": false,
"legalMandateCreated": false,
"paymentReceiptCreated": false,
"walletApprovalCreated": false,
"officialEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false
},
"noSpendBoundary": {
"receiptIsFree": true,
"opensPaidRouteByItself": false,
"paymentAttemptedByReceipt": false,
"paidRouteCalledByReceipt": false,
"paidUpstreamCalls": false,
"walletConnectionRequiredForReceipt": false,
"automaticSpending": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
},
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"receiptUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"copyPasteReceiptSummary": "HTTP 402 readiness receipt: GET /api/opportunity-check is reachable, costs max $0.01 on eip155:8453 only after buyer-controlled x402 retry, and counts as paid only when HTTP 200 returns."
},
"proofRetryDecisionStripAvailable": true,
"proofRetryDecisionStrip": {
"available": true,
"mode": "buyer-controlled-proof-retry-decision-strip",
"title": "Buyer-controlled proof retry gate",
"purpose": "Compress the next click after an unpaid 402 into a clear continue/stop decision for x402-capable buyers.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"url": "https://apexscout.ai/api/opportunity-check",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"agentExecutionProofPacketAvailable": true,
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"decisionSummary": "Continue only if buyer approval, x402 wallet capability, exact route, exact amount, and Base mainnet network all match.",
"continueIf": [
"Buyer explicitly approves this exact $0.01 proof.",
"Client can attach x402 payment on Base mainnet eip155:8453.",
"Route is exactly GET /api/opportunity-check.",
"Max amount is exactly 10000 atomic USDC.",
"Buyer understands only HTTP 200 counts as a paid proof completion."
],
"stopIf": [
"Buyer has not approved spend.",
"Client is a normal browser without x402 payment support.",
"Route, amount, or network differs from the receipt.",
"The buyer is treating unpaid HTTP 402 as revenue or completion.",
"The output will not change the buyer's next action."
],
"primaryAction": {
"label": "Request unpaid proof challenge",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"normalBrowserResult": "HTTP 402 JSON with x402 payment requirements",
"x402CapableResult": "HTTP 200 JSON only after buyer-controlled paid retry",
"noPaymentOnClick": true,
"paidRetryRequiresBuyerWallet": true
},
"fallbackNoSpendActions": [
"/x402-proof",
"/api/agent-revenue-audit-builder/action-pack",
"/buyer-payment-scope-check",
"/chat-tiny-payment-flow"
],
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"decisionStripUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"decisionStripIsFree": true,
"paymentAttemptedByDecisionStrip": false,
"paidRouteCalledByDecisionStrip": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"agentExecutionProofPacketAvailable": true,
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"http402ClosePacketAvailable": true,
"http402ClosePacket": {
"available": true,
"mode": "buyer-agent-402-close-packet",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "402 close packet",
"purpose": "Put the buyer-agent close instructions inside the unpaid HTTP 402 response so x402-capable clients can finish the proof without hunting through a page.",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"command": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"closeMessage": "You reached the ApexScout paid proof gate. To complete the proof, retry this exact GET route from an authenticated x402 wallet/client with max amount 10000 atomic USDC on Base mainnet.",
"buyerAgentInstruction": "If the buyer approved this one-cent proof, run the command exactly once and treat only HTTP 200 as the paid completion. If any route, amount, network, or approval detail differs, stop.",
"whatHttp200Proves": [
"The buyer-controlled x402 retry reached ApexScout's one-cent proof route.",
"The paid route returned structured JSON after payment verification.",
"The aggregate paid proof completion counter is allowed to move only after HTTP 200."
],
"notProofOf": [
"Coinbase, AWS, Stripe, Bazaar, AgentCore, Base, marketplace, or protocol endorsement.",
"Guaranteed revenue, trading results, investment outcome, legal advice, tax advice, lending advice, or compliance approval.",
"Buyer identity, wallet-level activity, secret signing material, or broader permission to spend."
],
"continueIf": [
"The buyer explicitly approved this one-cent proof.",
"The client can attach an x402 payment authorization.",
"The retry route is exactly GET /api/opportunity-check?src=agent-execution-command-copy.",
"The max amount is exactly 10000 atomic USDC.",
"The network is exactly eip155:8453."
],
"stopIf": [
"The wallet is not authenticated.",
"The wallet has insufficient USDC on Base.",
"The client cannot attach x402 payment.",
"The max amount is lower than 10000 atomic USDC.",
"The network is not eip155:8453.",
"The buyer did not approve this exact spend.",
"The agent plans to retry more than once just to clear a metric."
],
"failureBranches": {
"walletNotAuthenticated": {
"bucket": "wallet_not_authenticated",
"buyerAction": "Authenticate the buyer-controlled x402 wallet/client before retrying.",
"apexScoutAction": "Do nothing automatically."
},
"insufficientBaseUsdc": {
"bucket": "insufficient_base_usdc",
"buyerAction": "Stop until the buyer-controlled wallet has enough Base USDC for the one-cent proof.",
"apexScoutAction": "Do not fund, trade, onramp, or advise funding."
},
"maxAmountTooLow": {
"bucket": "max_amount_too_low",
"buyerAction": "Use max amount 10000 atomic USDC or stop.",
"apexScoutAction": "Do not lower route price or change payment requirements."
},
"wrongNetwork": {
"bucket": "wrong_network",
"buyerAction": "Use eip155:8453 Base mainnet or stop.",
"apexScoutAction": "Do not switch rails."
},
"paymentDeclined": {
"bucket": "payment_declined",
"buyerAction": "Stop unless the buyer explicitly approves another attempt.",
"apexScoutAction": "Do not retry payment for the buyer."
}
},
"telemetryInterpretation": {
"sourceTag": "agent-execution-command-copy",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionCommandCopy",
"closePacketUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"closePacketIsFree": true,
"closePacketExecutesPayment": false,
"paymentAttemptedByClosePacket": false,
"paidRouteCalledByClosePacket": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false,
"secretSigningMaterialRequested": false
}
},
"buyerProofExecutionCloseoutAvailable": true,
"buyerProofExecutionCloseout": {
"available": true,
"mode": "buyer-proof-execution-closeout",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Copied? Finish with one buyer-run proof retry",
"purpose": "Close the gap after a buyer agent marks its wallet ready or copies the command: run exactly one buyer-approved proof retry, classify the response, then stop.",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-receipt-contract",
"method": "GET",
"href": "/api/opportunity-check?src=agent-receipt-contract",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"primarySourceTag": "agent-receipt-contract",
"primarySourceBucket": "agentReceiptContract",
"commandCopySourceTag": "agent-execution-command-copy",
"commandCopySourceBucket": "agentExecutionCommandCopy",
"buyerWalletCloseSignalCounter": "buyerWalletCloseSignals.walletCloseIntentEvents",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"firstScreenPlacement": {
"x402Proof": "after-wallet-close-before-receipt-command",
"chatTinyPaymentFlow": "after-wallet-close-before-receipt-command",
"closeoutVisibleBeforeCommandCopy": true,
"normalNoSpendPathRemainsPrimary": true
},
"closeoutRule": {
"ifWalletReadyAndCommandCopied": "Run the receipt-bound command exactly once from the buyer-controlled x402 wallet if the buyer approved the route, amount, and network.",
"ifCannotPayYet": "Do not retry payment. Use the wallet setup note and stop until wallet authentication, Base USDC balance, route, amount, and network match.",
"ifResponseIs402": "Treat the result as unpaid. It is a challenge, not a paid proof, and it should not move revenue.",
"ifResponseIs200": "Treat the result as paid proof only after the buyer-controlled x402 retry returns structured HTTP 200 JSON.",
"ifRetryIsRejected": "Read the sanitized edge failure status once, classify the rejection, and stop before another paid attempt.",
"stopAfter": "one buyer-approved paid retry unless a human operator explicitly approves another capped diagnostic"
},
"buyerAgentChecklist": [
"Wallet is authenticated by the buyer, not ApexScout.",
"Buyer approves GET /api/opportunity-check with source agent-receipt-contract.",
"Maximum spend is exactly 10000 atomic USDC.",
"Network is exactly eip155:8453 Base mainnet.",
"Run one retry, then classify HTTP 402, HTTP 200, or a sanitized edge failure."
],
"copyReadyCommands": {
"receiptBoundProofCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"commandCopyProofCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"edgeFailureReadCommand": "curl -s \"https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure\"",
"walletSetupNote": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof."
},
"safeReadouts": {
"edgeHealthPath": "/__apexscout/cloudflare-x402/health",
"edgeLastFailurePath": "/__apexscout/cloudflare-x402/health/last-failure",
"edgeLastFailureUrl": "https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure",
"originLastFailurePath": "/api/cloudflare-x402-edge-failure/last",
"originLastFailureUrl": "https://apexscout.ai/api/cloudflare-x402-edge-failure/last",
"noPaymentAttemptedByRead": true,
"buyerLevelDataExposed": false,
"rawPaymentPayloadExposed": false,
"privateKeysRequested": false
},
"buttons": [
{
"label": "Copy receipt-bound proof command",
"copies": "receipt_bound_command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy edge failure readout",
"copies": "edge_failure_read_command",
"value": "curl -s \"https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure\"",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy wallet setup note",
"copies": "wallet_setup_note",
"value": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof.",
"executesPayment": false,
"opensPaidRoute": false
}
],
"telemetryInterpretation": {
"walletReadyCounter": "buyerWalletCloseSignals.walletReadyIntent",
"copyPaidProofCommandCounter": "buyerWalletCloseSignals.copyPaidProofCommand",
"copyReceiptBoundCommandCounter": "buyerWalletCloseSignals.copyReceiptBoundCommand",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"failureReadoutIsRevenue": false,
"copyIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"newCounterAdded": false,
"reason": "The closeout reuses existing aggregate wallet-close, source-bucket, and paid-completion counters so it improves decision clarity without creating fake movement."
},
"noSpendBoundary": {
"closeoutIsFree": true,
"closeoutExecutesPayment": false,
"copyingExecutesPayment": false,
"copyingOpensPaidRoute": false,
"failureReadoutExecutesPayment": false,
"failureReadoutCallsPaidRoute": false,
"paymentAttemptedByCloseout": false,
"paidRouteCalledByCloseout": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"productionPostCreated": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false,
"cloudflareMutationCreated": false,
"apifyActorRunCreated": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"privateKeysRequested": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false,
"rawPaymentPayloadExposed": false
},
"safetyClaims": {
"guaranteedRevenueClaimed": false,
"officialEndorsementClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareMonetizationGatewayReadinessAvailable": true,
"cloudflareMonetizationGatewayReadiness": {
"available": true,
"mode": "cloudflare-monetization-gateway-readiness",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare live edge status",
"releaseReportingMode": "worker-and-origin-split",
"appRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"originRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"originReleasePath": "/status",
"workerRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"workerSourceVersion": "2.2.179",
"workerHealthReleaseContract": {
"healthPath": "/__apexscout/cloudflare-x402/health",
"releaseFieldMeans": "workerRelease",
"workerReleaseField": "workerRelease",
"originReleaseField": "originRelease",
"originReleasePath": "/status",
"originReleaseReadIsNoSpend": true,
"mismatchIsActionableOnlyWhenWorkerHealthFails": true
},
"sourceSignal": {
"name": "Cloudflare Monetization Gateway",
"sourceUrl": "https://blog.cloudflare.com/monetization-gateway/",
"articleUrl": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving x402 payment enforcement toward edge-managed route rules. ApexScout now serves the one-cent proof path through a narrow Cloudflare Worker while keeping Railway as the origin fallback."
},
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"officialCloudflareMonetizationGatewayClaimed": false,
"officialCloudflareEndorsementClaimed": false,
"cloudflareBillingRulesPackAvailable": true,
"cloudflareBillingRulesPath": "/api/cloudflare-billing-rules",
"cloudflareBillingRulesWellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"cloudflareX402WorkerConfigAvailable": true,
"cloudflareX402WorkerConfigPath": "/api/cloudflare-x402-worker-config",
"cloudflareX402WorkerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"cloudflareBillingRulesPack": {
"available": true,
"mode": "cloudflare-billing-rules-pack",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare billing rules pack",
"purpose": "Document ApexScout's live Cloudflare edge Worker route and existing x402 paid-route policy without changing price, seller wallet, or buyer-controlled payment rules.",
"apiPath": "/api/cloudflare-billing-rules",
"wellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"workerConfigPath": "/api/cloudflare-x402-worker-config",
"workerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceSignals": [
{
"name": "Cloudflare Monetization Gateway",
"url": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving toward edge-managed payment rules, including route-level x402 enforcement."
},
{
"name": "Cloudflare x402 proxy",
"url": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"interpretedAs": "A Cloudflare Worker can sit in front of an existing HTTP origin, return 402, verify x402 payment, and forward the approved request."
},
{
"name": "Cloudflare Pay Per Crawl",
"url": "https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/",
"interpretedAs": "Cloudflare's crawler billing direction reinforces clear allow, charge, and block rules for automated clients."
}
],
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"cloudflareWorkerConfigPrepared": true,
"cloudflareRulesCreated": true,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRulesCreated": false,
"officialCloudflareEndorsementClaimed": false,
"monetizationGatewayApiPubliclyAvailable": false,
"monetizationGatewayApiStatus": "planned-or-early-access",
"currentDeployableOption": "cloudflare-x402-edge-settlement-worker",
"originFallbackRequired": true,
"originStillEnforcesX402": true,
"originEdgeSettlementBridgePrepared": true,
"edgeSettlementEligiblePaidRuleCount": 1,
"originAuthoritativePaidRuleCount": 1,
"billingRuleCount": 5,
"paidBillingRuleCount": 2,
"freeAllowRuleCount": 2,
"blockRuleCount": 1,
"paidRules": [
{
"id": "apexscout-one-cent-proof",
"type": "charge_x402",
"method": "GET",
"pattern": "/api/opportunity-check",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": true,
"originEdgeSettlementBypassRequired": true,
"originStillEnforcesX402": false,
"liveRuleMode": "edge-settled-with-signed-origin-bridge"
},
{
"id": "apexscout-agent-revenue-audit",
"type": "charge_x402",
"method": "POST",
"pattern": "/api/agent-revenue-audit",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"priceUsd": "5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": false,
"originEdgeSettlementBypassRequired": false,
"originStillEnforcesX402": true,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"reasonEdgeSettlementDeferred": "This POST route should not be edge-settled until the buyer payload can be validated before charge."
}
],
"allowRules": [
{
"id": "apexscout-free-agent-metadata",
"type": "allow_free",
"patterns": [
"/",
"/docs.json",
"/llms.txt",
"/skill.md",
"/.well-known/agent.json",
"/agent-capabilities.json",
"/api/public-agent",
"/mcp-tool-pack",
"/api/mcp-tool-pack",
"/.well-known/mcp.json",
"/api/agentcore-openapi.json",
"/.well-known/apexscout-monetization-policy.json",
"/api/agent-monetization-policy",
"/.well-known/apexscout-paid-tools.json",
"/api/paid-mcp-tools",
"/agent-wallet-skill-pack",
"/api/agent-wallet-skill-pack",
"/.well-known/apexscout-agent-wallet-skill.json",
"/apexscout-agent-wallet-skill.md",
"/.well-known/apexscout-agent-wallet-skill.md",
"/apify-x402-upstream-readiness",
"/api/apify-x402-upstream-readiness",
"/.well-known/apexscout-apify-x402-upstream.json",
"/cloudflare-monetization-gateway-rules",
"/api/cloudflare-monetization-gateway-rules",
"/.well-known/apexscout-cloudflare-monetization-gateway-rules.json",
"/agent-receipt-contract",
"/api/agent-receipt-contract",
"/.well-known/apexscout-agent-receipt-contract.json",
"/api/cloudflare-billing-rules",
"/.well-known/apexscout-cloudflare-billing-rules.json",
"/api/cloudflare-x402-worker-config",
"/.well-known/apexscout-cloudflare-x402-worker.json"
],
"reason": "Payment-aware agents should inspect policy, prices, and route caps before spend.",
"paidRetryRequired": false
},
{
"id": "apexscout-free-proof-and-preflight",
"type": "allow_free",
"patterns": [
"/x402-proof",
"/api/x402-proof",
"/chat-tiny-payment-flow",
"/api/chat-tiny-payment-flow",
"/api/agent-revenue-audit-builder/action-pack",
"/api/buyer-payment-scope-check",
"/api/buyer-agent-payment-safety",
"/api/x402-security-readiness"
],
"reason": "No-spend proof, preflight, Builder, Scope, and payment-safety surfaces should stay readable.",
"paidRetryRequired": false
}
],
"blockRules": [
{
"id": "apexscout-private-operator-surfaces",
"type": "block_public_access",
"patterns": [
"/admin/*",
"/api/admin/*"
],
"reason": "Private operator surfaces are not public buyer-agent resources.",
"paidRetryAvailable": false
}
],
"workerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"operatorApplyPlan": [
"Confirm the ApexScout zone remains active on Cloudflare and the route remains proxied.",
"Set APEXSCOUT_X402_PAY_TO to the existing ApexScout x402 seller payTo address in Cloudflare secrets or vars.",
"Set APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET as the same shared secret in Cloudflare and Railway.",
"Review cloudflare/x402-proxy/wrangler.jsonc against this API response.",
"Keep Worker changes inside explicit Cloudflare deployment windows.",
"Run unpaid 402 checks first, then one buyer-approved paid 200 proof for the one-cent proof rule when a paid proof is explicitly authorized.",
"Keep Railway-origin x402 as rollback until both edge rules match route, method, price, network, and paid proof."
],
"blockedUntil": [
"One buyer-approved paid HTTP 200 proof is still required before calling the proof route commercially converted.",
"Official Cloudflare managed Monetization Gateway rules are not claimed or required for the current Worker bridge."
],
"safeDryRunCommands": [
"npm run cloudflare:billing-rules:print",
"npm run cloudflare:x402-proxy:smoke",
"npm run cloudflare:x402-proxy:typecheck"
],
"liveApplyCommandTemplate": "npm --prefix cloudflare/x402-proxy run deploy",
"postIntegrationVerificationPlan": [
"GET /status and confirm the current ApexScout release.",
"GET /api/cloudflare-billing-rules and confirm the same paid rule count.",
"GET /api/cloudflare-x402-worker-config and confirm protected pattern prices.",
"Unpaid-check the protected route and confirm HTTP 402 only after an explicit deploy window.",
"Run one buyer-approved paid x402 proof only after the unpaid challenge matches."
],
"noSpendBoundary": {
"packIsFree": true,
"paymentAttemptedByPack": false,
"paidRouteCalledByPack": false,
"cloudflareApiCalledByApexScout": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerDeployedByApexScout": true,
"dnsChangedByApexScout": true,
"packReadChangesCloudflare": false,
"packReadChangesDns": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareX402WorkerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"waitlistOrEarlyAccessRequired": false,
"noDnsChangeMade": false,
"dnsChangedByLiveCutover": true,
"noCloudflareApiCallMade": false,
"noCloudflareApiCallMadeByRead": true,
"noPaymentRuleCreated": false,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"noPaidRouteChanged": true,
"noPriceChanged": true,
"noSellerWalletChanged": true,
"noPaymentRailChanged": true,
"apexScoutRemainsSourceOfTruth": true,
"candidateRules": [
{
"id": "apexscout-one-cent-proof",
"purpose": "Edge-readable one-cent x402 proof route for wallet-capable buyer agents.",
"method": "GET",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"amountAtomicUsdc": "10000",
"priceUsd": "0.01",
"displayPrice": "$0.01",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerApprovalRequired": true,
"currentOriginStillEnforcesX402": true,
"gatewayCanMirrorButNotOverrideOrigin": true
},
{
"id": "apexscout-agent-revenue-audit",
"purpose": "Higher-value builder monetization audit route.",
"method": "POST",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"amountAtomicUsdc": "5000000",
"priceUsd": "5.00",
"displayPrice": "$5.00",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerApprovalRequired": true,
"currentOriginStillEnforcesX402": true,
"gatewayCanMirrorButNotOverrideOrigin": true
}
],
"migrationPlan": [
"Keep the Cloudflare Worker route narrow and use Railway as the origin fallback.",
"Use these candidate rules as the review checklist before any future official managed-gateway change.",
"Require unpaid HTTP 402 and buyer-controlled HTTP 200 proof for each route after any edge or gateway change.",
"Keep ApexScout aggregate metrics as the public conversion truth source.",
"Roll back to Railway-origin x402 if route, amount, network, or payment proof differs."
],
"operatorChecklist": {
"dnsChangeApproved": true,
"cloudflareApiTokenApproved": true,
"gatewayRuleCreationApproved": true,
"postDeployPaidProofRequiredBeforeClaimingGatewayLive": true,
"originFallbackRequired": true,
"compareGatewayRulesToCandidateRules": true
},
"noSpendBoundary": {
"readinessPacketIsFree": true,
"paymentAttemptedByReadinessPacket": false,
"paidRouteCalledByReadinessPacket": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerRouteCreated": true,
"cloudflareApiCalled": false,
"dnsChanged": false,
"dnsAlreadyProxiedThroughCloudflare": true,
"workerAlreadyDeployed": true,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"revenueOutcomeClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
},
"telemetryInterpretation": {
"readinessUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"watchCounters": "If unpaid proof counters move without paid completions, treat it as proof-route interest, not gateway success."
}
},
"cloudflareBillingRulesPackAvailable": true,
"cloudflareBillingRulesPack": {
"available": true,
"mode": "cloudflare-billing-rules-pack",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare billing rules pack",
"purpose": "Document ApexScout's live Cloudflare edge Worker route and existing x402 paid-route policy without changing price, seller wallet, or buyer-controlled payment rules.",
"apiPath": "/api/cloudflare-billing-rules",
"wellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"workerConfigPath": "/api/cloudflare-x402-worker-config",
"workerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceSignals": [
{
"name": "Cloudflare Monetization Gateway",
"url": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving toward edge-managed payment rules, including route-level x402 enforcement."
},
{
"name": "Cloudflare x402 proxy",
"url": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"interpretedAs": "A Cloudflare Worker can sit in front of an existing HTTP origin, return 402, verify x402 payment, and forward the approved request."
},
{
"name": "Cloudflare Pay Per Crawl",
"url": "https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/",
"interpretedAs": "Cloudflare's crawler billing direction reinforces clear allow, charge, and block rules for automated clients."
}
],
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"cloudflareWorkerConfigPrepared": true,
"cloudflareRulesCreated": true,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRulesCreated": false,
"officialCloudflareEndorsementClaimed": false,
"monetizationGatewayApiPubliclyAvailable": false,
"monetizationGatewayApiStatus": "planned-or-early-access",
"currentDeployableOption": "cloudflare-x402-edge-settlement-worker",
"originFallbackRequired": true,
"originStillEnforcesX402": true,
"originEdgeSettlementBridgePrepared": true,
"edgeSettlementEligiblePaidRuleCount": 1,
"originAuthoritativePaidRuleCount": 1,
"billingRuleCount": 5,
"paidBillingRuleCount": 2,
"freeAllowRuleCount": 2,
"blockRuleCount": 1,
"paidRules": [
{
"id": "apexscout-one-cent-proof",
"type": "charge_x402",
"method": "GET",
"pattern": "/api/opportunity-check",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": true,
"originEdgeSettlementBypassRequired": true,
"originStillEnforcesX402": false,
"liveRuleMode": "edge-settled-with-signed-origin-bridge"
},
{
"id": "apexscout-agent-revenue-audit",
"type": "charge_x402",
"method": "POST",
"pattern": "/api/agent-revenue-audit",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"priceUsd": "5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": false,
"originEdgeSettlementBypassRequired": false,
"originStillEnforcesX402": true,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"reasonEdgeSettlementDeferred": "This POST route should not be edge-settled until the buyer payload can be validated before charge."
}
],
"allowRules": [
{
"id": "apexscout-free-agent-metadata",
"type": "allow_free",
"patterns": [
"/",
"/docs.json",
"/llms.txt",
"/skill.md",
"/.well-known/agent.json",
"/agent-capabilities.json",
"/api/public-agent",
"/mcp-tool-pack",
"/api/mcp-tool-pack",
"/.well-known/mcp.json",
"/api/agentcore-openapi.json",
"/.well-known/apexscout-monetization-policy.json",
"/api/agent-monetization-policy",
"/.well-known/apexscout-paid-tools.json",
"/api/paid-mcp-tools",
"/agent-wallet-skill-pack",
"/api/agent-wallet-skill-pack",
"/.well-known/apexscout-agent-wallet-skill.json",
"/apexscout-agent-wallet-skill.md",
"/.well-known/apexscout-agent-wallet-skill.md",
"/apify-x402-upstream-readiness",
"/api/apify-x402-upstream-readiness",
"/.well-known/apexscout-apify-x402-upstream.json",
"/cloudflare-monetization-gateway-rules",
"/api/cloudflare-monetization-gateway-rules",
"/.well-known/apexscout-cloudflare-monetization-gateway-rules.json",
"/agent-receipt-contract",
"/api/agent-receipt-contract",
"/.well-known/apexscout-agent-receipt-contract.json",
"/api/cloudflare-billing-rules",
"/.well-known/apexscout-cloudflare-billing-rules.json",
"/api/cloudflare-x402-worker-config",
"/.well-known/apexscout-cloudflare-x402-worker.json"
],
"reason": "Payment-aware agents should inspect policy, prices, and route caps before spend.",
"paidRetryRequired": false
},
{
"id": "apexscout-free-proof-and-preflight",
"type": "allow_free",
"patterns": [
"/x402-proof",
"/api/x402-proof",
"/chat-tiny-payment-flow",
"/api/chat-tiny-payment-flow",
"/api/agent-revenue-audit-builder/action-pack",
"/api/buyer-payment-scope-check",
"/api/buyer-agent-payment-safety",
"/api/x402-security-readiness"
],
"reason": "No-spend proof, preflight, Builder, Scope, and payment-safety surfaces should stay readable.",
"paidRetryRequired": false
}
],
"blockRules": [
{
"id": "apexscout-private-operator-surfaces",
"type": "block_public_access",
"patterns": [
"/admin/*",
"/api/admin/*"
],
"reason": "Private operator surfaces are not public buyer-agent resources.",
"paidRetryAvailable": false
}
],
"workerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"operatorApplyPlan": [
"Confirm the ApexScout zone remains active on Cloudflare and the route remains proxied.",
"Set APEXSCOUT_X402_PAY_TO to the existing ApexScout x402 seller payTo address in Cloudflare secrets or vars.",
"Set APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET as the same shared secret in Cloudflare and Railway.",
"Review cloudflare/x402-proxy/wrangler.jsonc against this API response.",
"Keep Worker changes inside explicit Cloudflare deployment windows.",
"Run unpaid 402 checks first, then one buyer-approved paid 200 proof for the one-cent proof rule when a paid proof is explicitly authorized.",
"Keep Railway-origin x402 as rollback until both edge rules match route, method, price, network, and paid proof."
],
"blockedUntil": [
"One buyer-approved paid HTTP 200 proof is still required before calling the proof route commercially converted.",
"Official Cloudflare managed Monetization Gateway rules are not claimed or required for the current Worker bridge."
],
"safeDryRunCommands": [
"npm run cloudflare:billing-rules:print",
"npm run cloudflare:x402-proxy:smoke",
"npm run cloudflare:x402-proxy:typecheck"
],
"liveApplyCommandTemplate": "npm --prefix cloudflare/x402-proxy run deploy",
"postIntegrationVerificationPlan": [
"GET /status and confirm the current ApexScout release.",
"GET /api/cloudflare-billing-rules and confirm the same paid rule count.",
"GET /api/cloudflare-x402-worker-config and confirm protected pattern prices.",
"Unpaid-check the protected route and confirm HTTP 402 only after an explicit deploy window.",
"Run one buyer-approved paid x402 proof only after the unpaid challenge matches."
],
"noSpendBoundary": {
"packIsFree": true,
"paymentAttemptedByPack": false,
"paidRouteCalledByPack": false,
"cloudflareApiCalledByApexScout": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerDeployedByApexScout": true,
"dnsChangedByApexScout": true,
"packReadChangesCloudflare": false,
"packReadChangesDns": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareX402WorkerConfigAvailable": true,
"cloudflareX402WorkerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"retryDecision": {
"recommendedOnlyForX402CapableClients": true,
"payOnlyIf": "The buyer wants the cheapest live x402 proof and approves the route, $0.01 maximum amount, Base mainnet network, and one retry.",
"stopIf": "The buyer has not approved spend, the client cannot attach x402 payment, the network is not eip155:8453, or the output will not change the next action.",
"ifUnsure": "Stay on the no-spend proof and action-pack surfaces. Do not retry payment just to clear the counter."
},
"approvalChecklist": [
"Buyer approves GET /api/opportunity-check as the route.",
"Buyer approves the $0.01 maximum spend.",
"Buyer approves Base mainnet x402 on eip155:8453.",
"Buyer controls the wallet and chooses whether to retry.",
"Buyer expects HTTP 200 JSON only after the paid retry succeeds."
],
"copyPasteAgentNote": "Unpaid 402 is expected. If the buyer approves a one-cent proof, retry GET /api/opportunity-check with an x402-capable client, max amount 10000 atomic USDC on eip155:8453, and treat only HTTP 200 as completion.",
"paidRetryCommandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof\" \\\n --max-amount 10000 \\\n --json",
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"ifUnpaidRisesWithoutCompletion": "Treat this as proof-route interest without payment. Inspect retry clarity only after repeated windows; do not add another paid route.",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"confidencePacketIsFree": true,
"opensPaidRouteByItself": false,
"paymentAttemptedByConfidencePacket": false,
"walletConnectionRequiredForConfidencePacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"http402ReadinessReceiptAvailable": true,
"http402ReadinessReceipt": {
"available": true,
"mode": "no-spend-http-402-readiness-receipt",
"title": "HTTP 402 Readiness Receipt",
"purpose": "Give x402-capable buyers a compact, unsigned receipt showing what the unpaid proof challenge proves before any buyer-controlled paid retry.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"url": "https://apexscout.ai/api/opportunity-check",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"agentExecutionProofPacketAvailable": true,
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"receiptScope": "GET /api/opportunity-check, $0.01 maximum amount, eip155:8453 Base mainnet x402, one buyer-controlled retry.",
"receiptSummary": "Unpaid HTTP 402 proves the x402 proof route is reachable and returning payment requirements. It does not prove payment, revenue, endorsement, or buyer approval.",
"agentDecision": {
"payOnlyIf": "The buyer explicitly approves the route, max amount, network, and one retry from a wallet-controlled x402 client.",
"stopIf": "The buyer has not approved spend, the client cannot attach x402 payment, the route or network differs, or HTTP 402 is being treated as a paid completion.",
"nextNoSpendStep": "Stay on ApexScout proof, action-pack, Scope Check, or Builder surfaces until buyer-controlled payment is intentionally approved."
},
"readinessChecks": [
"Route scoped to GET /api/opportunity-check.",
"Amount scoped to $0.01 / 10000 atomic USDC.",
"Network scoped to Base mainnet eip155:8453.",
"HTTP 402 is expected before payment.",
"HTTP 200 is required before paid completion is counted.",
"No request body, cookies, session, or wallet connection is required to read this receipt.",
"No buyer-level data is exposed by this receipt.",
"No automatic payment or paid retry is performed by ApexScout."
],
"publicSafetyCopy": "This is an unsigned no-spend readiness receipt, not AP2 proof, not a signed mandate, not a legal or payment receipt, not an endorsement claim, and not trading, investment, tax, legal, lending, or compliance advice.",
"notClaims": {
"signedReceiptCreated": false,
"ap2ProofCreated": false,
"legalMandateCreated": false,
"paymentReceiptCreated": false,
"walletApprovalCreated": false,
"officialEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false
},
"noSpendBoundary": {
"receiptIsFree": true,
"opensPaidRouteByItself": false,
"paymentAttemptedByReceipt": false,
"paidRouteCalledByReceipt": false,
"paidUpstreamCalls": false,
"walletConnectionRequiredForReceipt": false,
"automaticSpending": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
},
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"receiptUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"copyPasteReceiptSummary": "HTTP 402 readiness receipt: GET /api/opportunity-check is reachable, costs max $0.01 on eip155:8453 only after buyer-controlled x402 retry, and counts as paid only when HTTP 200 returns."
},
"proofRetryDecisionStripAvailable": true,
"proofRetryDecisionStrip": {
"available": true,
"mode": "buyer-controlled-proof-retry-decision-strip",
"title": "Buyer-controlled proof retry gate",
"purpose": "Compress the next click after an unpaid 402 into a clear continue/stop decision for x402-capable buyers.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"url": "https://apexscout.ai/api/opportunity-check",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"agentExecutionProofPacketAvailable": true,
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"decisionSummary": "Continue only if buyer approval, x402 wallet capability, exact route, exact amount, and Base mainnet network all match.",
"continueIf": [
"Buyer explicitly approves this exact $0.01 proof.",
"Client can attach x402 payment on Base mainnet eip155:8453.",
"Route is exactly GET /api/opportunity-check.",
"Max amount is exactly 10000 atomic USDC.",
"Buyer understands only HTTP 200 counts as a paid proof completion."
],
"stopIf": [
"Buyer has not approved spend.",
"Client is a normal browser without x402 payment support.",
"Route, amount, or network differs from the receipt.",
"The buyer is treating unpaid HTTP 402 as revenue or completion.",
"The output will not change the buyer's next action."
],
"primaryAction": {
"label": "Request unpaid proof challenge",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"normalBrowserResult": "HTTP 402 JSON with x402 payment requirements",
"x402CapableResult": "HTTP 200 JSON only after buyer-controlled paid retry",
"noPaymentOnClick": true,
"paidRetryRequiresBuyerWallet": true
},
"fallbackNoSpendActions": [
"/x402-proof",
"/api/agent-revenue-audit-builder/action-pack",
"/buyer-payment-scope-check",
"/chat-tiny-payment-flow"
],
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"decisionStripUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"decisionStripIsFree": true,
"paymentAttemptedByDecisionStrip": false,
"paidRouteCalledByDecisionStrip": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"agentExecutionProofPacketAvailable": true,
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"agentExecutionProofCtaAvailable": true,
"agentExecutionProofCta": {
"available": true,
"mode": "promoted-buyer-executable-proof-cta",
"title": "Buyer-run proof packet",
"label": "Run with buyer-approved x402 wallet",
"copy": "Wallet-capable buyers can use the exact one-cent proof packet now. ApexScout only exposes the packet; the buyer wallet decides whether to pay.",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"method": "GET",
"route": "/api/opportunity-check",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"conversionBet": "Promote the already-safe buyer-execution packet above passive proof copy so x402-capable clients have one obvious next action.",
"successMetric": "opportunityCheckGetProofCompletions",
"unpaidSourceBucket": "agentExecutionProofPacket",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"buyerDecision": {
"continueOnlyIf": "The buyer approves the route, amount, network, and one retry from an x402-capable wallet runtime.",
"stopIf": "Approval is missing, the client cannot attach x402 payment, or the route/amount/network differs."
},
"noSpendBoundary": {
"ctaIsFreeToRead": true,
"normalBrowserGetsUnpaid402": true,
"paymentAttemptedByCta": false,
"paidRouteCalledByApexScout": false,
"automaticSpending": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"walletReadinessStripAvailable": true,
"walletReadinessStrip": {
"available": true,
"mode": "buyer-wallet-readiness-strip",
"title": "Before you run the command",
"checklist": [
"Your x402 wallet/client is authenticated.",
"Your wallet has at least $0.01 USDC available on Base.",
"You approve the route: GET /api/opportunity-check.",
"You approve the max amount: 10000 atomic USDC.",
"You understand unpaid HTTP 402 is not revenue.",
"You understand paid proof means HTTP 200 after your own wallet retry."
],
"copy": "ApexScout does not run this command for you. Your buyer-controlled wallet decides whether to spend.",
"route": "/api/opportunity-check",
"method": "GET",
"amountAtomicUsdc": "10000",
"priceUsd": "0.01",
"network": "eip155:8453",
"noFundingAdvice": true,
"noTradingAdvice": true,
"noPrivateKeyAdvice": true,
"noOnrampAdvice": true,
"noSpendBoundary": {
"stripIsFree": true,
"paymentAttemptedByStrip": false,
"paidRouteCalledByStrip": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"buyerAgentCommandCopyAvailable": true,
"buyerAgentCommandCopy": {
"available": true,
"mode": "buyer-agent-command-copy",
"title": "Wallet-ready? Copy this command",
"command": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"requestBodyRequired": false,
"walletMustBeAuthenticated": true,
"walletNeedsSufficientUsdc": true,
"apexScoutRunsCommand": false,
"copyingIsPayment": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"sourceBucketCompatibility": {
"oldPacketSourceStillSupported": "agent-execution-proof-packet",
"newCommandCopySource": "agent-execution-command-copy",
"unpaidSourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"topSourceTagsCounter": "opportunityCheckGetProofUnpaidTopSourceTags"
},
"microcopy": "Copying is not payment. Running this command from your own authenticated wallet may spend up to 10000 atomic USDC if you approve it.",
"prerequisites": [
"Authenticated x402 wallet/client.",
"At least $0.01 USDC on Base."
],
"approvalCopy": "This command can spend up to 10000 atomic USDC only if your buyer wallet approves.",
"copyingIsNotPaymentCopy": "Copying this command is not payment.",
"apexScoutRunsCommandCopy": "ApexScout does not run this command.",
"unpaidChallengeCopy": "Unpaid HTTP 402 is expected before payment.",
"paidCompletionCopy": "Paid proof completes only when your buyer-controlled x402 retry returns HTTP 200.",
"placement": {
"x402Proof": "above-proof-detail-sections",
"chatTinyPaymentFlow": "above-chat-flow-detail-sections",
"primaryForWalletCapableAgents": true,
"normalNoSpendPathRemainsPrimary": true
},
"buttons": [
{
"label": "Copy command",
"copies": "command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy route only",
"copies": "route",
"value": "/api/opportunity-check?src=agent-execution-command-copy",
"executesPayment": false,
"opensPaidRoute": false
}
],
"telemetry": {
"commandCopyTelemetryAdded": false,
"skippedReason": "The release keeps the buttons copy-only and avoids adding a client-side analytics call; the new source tag is still available when a buyer-run agent command reaches the unpaid 402 route.",
"copyIsRevenue": false,
"copyIsPayment": false,
"unpaidChallengeSourceBucket": "agentExecutionCommandCopy"
},
"noSpendBoundary": {
"copyPanelIsFree": true,
"copyingExecutesPayment": false,
"copyingOpensPaidRoute": false,
"paidRouteCalledByCopyPanel": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"privateKeysRequested": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false
}
},
"agentReceiptCloseStripAvailable": true,
"agentReceiptCloseStrip": {
"available": true,
"mode": "agent-receipt-close-strip",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Receipt rule accepted? Copy the proof command",
"purpose": "Put the Agent Receipt Contract directly beside the buyer-agent payment command so x402-capable clients know the exact proof standard before retrying.",
"sourceTag": "agent-receipt-contract",
"sourceBucket": "agentReceiptContract",
"method": "GET",
"route": "/api/opportunity-check",
"href": "/api/opportunity-check?src=agent-receipt-contract",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract",
"command": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"routeWithSource": "/api/opportunity-check?src=agent-receipt-contract",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"firstScreenPlacement": {
"x402Proof": "before-wallet-command-copy",
"chatTinyPaymentFlow": "before-wallet-command-copy",
"makeReceiptRuleVisibleBeforePaymentCommand": true,
"normalNoSpendPathRemainsPrimary": true
},
"receiptRule": {
"payOnlyIf": "Your buyer agent accepts that only HTTP 200 after a buyer-controlled x402 retry counts as paid proof.",
"rejectIf": "The client treats HTTP 402, copied text, monitor reads, route mismatch, amount mismatch, network mismatch, or repeated retry loops as proof.",
"unpaid402IsNotRevenue": true,
"paidProofRequiresHttp200": true,
"buyerControlsWalletAndRetry": true,
"stopAfterOneSuccessfulPaidResponse": true
},
"visibleBuyerCopy": [
"Accept the receipt rule before copying the command.",
"HTTP 402 is only the unpaid challenge.",
"HTTP 200 after your buyer-controlled retry is the paid proof.",
"ApexScout does not run this command and does not control the wallet."
],
"buttons": [
{
"label": "Copy receipt-bound command",
"copies": "command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy receipt route",
"copies": "route",
"value": "/api/opportunity-check?src=agent-receipt-contract",
"executesPayment": false,
"opensPaidRoute": false
}
],
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentReceiptContract",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"successSignal": "agentReceiptContract source bucket moves only when a buyer/client requests the paid proof route with the receipt-contract source tag."
},
"noSpendBoundary": {
"closeStripIsFree": true,
"copyingExecutesPayment": false,
"copyingOpensPaidRoute": false,
"paymentAttemptedByCloseStrip": false,
"paidRouteCalledByCloseStrip": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"privateKeysRequested": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false
}
},
"buyerWalletCloseAvailable": true,
"buyerWalletClose": {
"available": true,
"mode": "buyer-wallet-close",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Can your wallet pay now?",
"purpose": "Separate wallet-ready buyers from buyers who still need setup before the one-cent proof retry.",
"route": "/api/buyer-wallet-close-intent",
"method": "GET",
"routeIsFree": true,
"sourceTags": {
"walletReady": "agent-receipt-contract",
"cannotPayYet": "agent-wallet-skill-pack",
"copyPaidProofCommand": "agent-execution-command-copy",
"copyReceiptBoundCommand": "agent-receipt-contract",
"copyWalletSetupCommand": "agent-wallet-skill-pack"
},
"actions": {
"walletReady": {
"action": "wallet_ready",
"path": "/api/buyer-wallet-close-intent?action=wallet_ready&src=agent-receipt-contract",
"url": "https://apexscout.ai/api/buyer-wallet-close-intent?action=wallet_ready&src=agent-receipt-contract",
"method": "GET",
"sourceTag": "agent-receipt-contract",
"executesPayment": false,
"opensPaidRoute": false
},
"cannotPayYet": {
"action": "cannot_pay_yet",
"path": "/api/buyer-wallet-close-intent?action=cannot_pay_yet&src=agent-wallet-skill-pack",
"url": "https://apexscout.ai/api/buyer-wallet-close-intent?action=cannot_pay_yet&src=agent-wallet-skill-pack",
"method": "GET",
"sourceTag": "agent-wallet-skill-pack",
"executesPayment": false,
"opensPaidRoute": false
},
"copyPaidProofCommand": {
"action": "copy_paid_proof_command",
"path": "/api/buyer-wallet-close-intent?action=copy_paid_proof_command&src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/buyer-wallet-close-intent?action=copy_paid_proof_command&src=agent-execution-command-copy",
"method": "GET",
"sourceTag": "agent-execution-command-copy",
"executesPayment": false,
"opensPaidRoute": false
},
"copyReceiptBoundCommand": {
"action": "copy_receipt_bound_command",
"path": "/api/buyer-wallet-close-intent?action=copy_receipt_bound_command&src=agent-receipt-contract",
"url": "https://apexscout.ai/api/buyer-wallet-close-intent?action=copy_receipt_bound_command&src=agent-receipt-contract",
"method": "GET",
"sourceTag": "agent-receipt-contract",
"executesPayment": false,
"opensPaidRoute": false
},
"copyWalletSetupCommand": {
"action": "copy_wallet_setup_command",
"path": "/api/buyer-wallet-close-intent?action=copy_wallet_setup_command&src=agent-wallet-skill-pack",
"url": "https://apexscout.ai/api/buyer-wallet-close-intent?action=copy_wallet_setup_command&src=agent-wallet-skill-pack",
"method": "GET",
"sourceTag": "agent-wallet-skill-pack",
"executesPayment": false,
"opensPaidRoute": false
}
},
"visibleBuyerCopy": [
"Choose the wallet state before copying a command.",
"This signal is a free GET request and does not open the paid route.",
"If the wallet is ready, copy the command and run it only from the buyer-controlled wallet.",
"If the wallet is not ready, stop before payment and fix wallet authentication, balance, route, amount, or network."
],
"paidProofCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"receiptBoundCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"walletSetupNote": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof.",
"buttons": [
{
"label": "I can pay now",
"action": "wallet_ready",
"copies": null,
"value": null,
"intentPath": "/api/buyer-wallet-close-intent?action=wallet_ready&src=agent-receipt-contract",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "I can't pay yet",
"action": "cannot_pay_yet",
"copies": null,
"value": null,
"intentPath": "/api/buyer-wallet-close-intent?action=cannot_pay_yet&src=agent-wallet-skill-pack",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy paid proof command",
"action": "copy_paid_proof_command",
"copies": "command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"intentPath": "/api/buyer-wallet-close-intent?action=copy_paid_proof_command&src=agent-execution-command-copy",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy receipt-bound command",
"action": "copy_receipt_bound_command",
"copies": "command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"intentPath": "/api/buyer-wallet-close-intent?action=copy_receipt_bound_command&src=agent-receipt-contract",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy wallet setup note",
"action": "copy_wallet_setup_command",
"copies": "wallet_setup_note",
"value": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof.",
"intentPath": "/api/buyer-wallet-close-intent?action=copy_wallet_setup_command&src=agent-wallet-skill-pack",
"executesPayment": false,
"opensPaidRoute": false
}
],
"telemetryInterpretation": {
"mode": "aggregate-only-buyer-wallet-close-intent",
"counter": "buyerWalletCloseSignals.walletCloseIntentEvents",
"walletReadyCounter": "buyerWalletCloseSignals.walletReadyIntent",
"cannotPayYetCounter": "buyerWalletCloseSignals.cannotPayYet",
"copyPaidProofCommandCounter": "buyerWalletCloseSignals.copyPaidProofCommand",
"copyReceiptBoundCommandCounter": "buyerWalletCloseSignals.copyReceiptBoundCommand",
"copyWalletSetupCommandCounter": "buyerWalletCloseSignals.copyWalletSetupCommand",
"intentIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"firstScreenPlacement": {
"x402Proof": "before-receipt-and-command-copy",
"chatTinyPaymentFlow": "before-receipt-and-command-copy",
"walletStateVisibleBeforePaymentCommand": true,
"normalNoSpendPathRemainsPrimary": true
},
"noSpendBoundary": {
"panelIsFree": true,
"intentRouteIsFree": true,
"intentRouteMethod": "GET",
"copyingExecutesPayment": false,
"clickingStateExecutesPayment": false,
"clickingStateOpensPaidRoute": false,
"paidRouteCalledByPanel": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"privateKeysRequested": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false
}
},
"http402ClosePacketAvailable": true,
"http402ClosePacket": {
"available": true,
"mode": "buyer-agent-402-close-packet",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "402 close packet",
"purpose": "Put the buyer-agent close instructions inside the unpaid HTTP 402 response so x402-capable clients can finish the proof without hunting through a page.",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"command": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"closeMessage": "You reached the ApexScout paid proof gate. To complete the proof, retry this exact GET route from an authenticated x402 wallet/client with max amount 10000 atomic USDC on Base mainnet.",
"buyerAgentInstruction": "If the buyer approved this one-cent proof, run the command exactly once and treat only HTTP 200 as the paid completion. If any route, amount, network, or approval detail differs, stop.",
"whatHttp200Proves": [
"The buyer-controlled x402 retry reached ApexScout's one-cent proof route.",
"The paid route returned structured JSON after payment verification.",
"The aggregate paid proof completion counter is allowed to move only after HTTP 200."
],
"notProofOf": [
"Coinbase, AWS, Stripe, Bazaar, AgentCore, Base, marketplace, or protocol endorsement.",
"Guaranteed revenue, trading results, investment outcome, legal advice, tax advice, lending advice, or compliance approval.",
"Buyer identity, wallet-level activity, secret signing material, or broader permission to spend."
],
"continueIf": [
"The buyer explicitly approved this one-cent proof.",
"The client can attach an x402 payment authorization.",
"The retry route is exactly GET /api/opportunity-check?src=agent-execution-command-copy.",
"The max amount is exactly 10000 atomic USDC.",
"The network is exactly eip155:8453."
],
"stopIf": [
"The wallet is not authenticated.",
"The wallet has insufficient USDC on Base.",
"The client cannot attach x402 payment.",
"The max amount is lower than 10000 atomic USDC.",
"The network is not eip155:8453.",
"The buyer did not approve this exact spend.",
"The agent plans to retry more than once just to clear a metric."
],
"failureBranches": {
"walletNotAuthenticated": {
"bucket": "wallet_not_authenticated",
"buyerAction": "Authenticate the buyer-controlled x402 wallet/client before retrying.",
"apexScoutAction": "Do nothing automatically."
},
"insufficientBaseUsdc": {
"bucket": "insufficient_base_usdc",
"buyerAction": "Stop until the buyer-controlled wallet has enough Base USDC for the one-cent proof.",
"apexScoutAction": "Do not fund, trade, onramp, or advise funding."
},
"maxAmountTooLow": {
"bucket": "max_amount_too_low",
"buyerAction": "Use max amount 10000 atomic USDC or stop.",
"apexScoutAction": "Do not lower route price or change payment requirements."
},
"wrongNetwork": {
"bucket": "wrong_network",
"buyerAction": "Use eip155:8453 Base mainnet or stop.",
"apexScoutAction": "Do not switch rails."
},
"paymentDeclined": {
"bucket": "payment_declined",
"buyerAction": "Stop unless the buyer explicitly approves another attempt.",
"apexScoutAction": "Do not retry payment for the buyer."
}
},
"telemetryInterpretation": {
"sourceTag": "agent-execution-command-copy",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionCommandCopy",
"closePacketUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"closePacketIsFree": true,
"closePacketExecutesPayment": false,
"paymentAttemptedByClosePacket": false,
"paidRouteCalledByClosePacket": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false,
"secretSigningMaterialRequested": false
}
},
"buyerProofExecutionCloseoutAvailable": true,
"buyerProofExecutionCloseout": {
"available": true,
"mode": "buyer-proof-execution-closeout",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Copied? Finish with one buyer-run proof retry",
"purpose": "Close the gap after a buyer agent marks its wallet ready or copies the command: run exactly one buyer-approved proof retry, classify the response, then stop.",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-receipt-contract",
"method": "GET",
"href": "/api/opportunity-check?src=agent-receipt-contract",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"primarySourceTag": "agent-receipt-contract",
"primarySourceBucket": "agentReceiptContract",
"commandCopySourceTag": "agent-execution-command-copy",
"commandCopySourceBucket": "agentExecutionCommandCopy",
"buyerWalletCloseSignalCounter": "buyerWalletCloseSignals.walletCloseIntentEvents",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"firstScreenPlacement": {
"x402Proof": "after-wallet-close-before-receipt-command",
"chatTinyPaymentFlow": "after-wallet-close-before-receipt-command",
"closeoutVisibleBeforeCommandCopy": true,
"normalNoSpendPathRemainsPrimary": true
},
"closeoutRule": {
"ifWalletReadyAndCommandCopied": "Run the receipt-bound command exactly once from the buyer-controlled x402 wallet if the buyer approved the route, amount, and network.",
"ifCannotPayYet": "Do not retry payment. Use the wallet setup note and stop until wallet authentication, Base USDC balance, route, amount, and network match.",
"ifResponseIs402": "Treat the result as unpaid. It is a challenge, not a paid proof, and it should not move revenue.",
"ifResponseIs200": "Treat the result as paid proof only after the buyer-controlled x402 retry returns structured HTTP 200 JSON.",
"ifRetryIsRejected": "Read the sanitized edge failure status once, classify the rejection, and stop before another paid attempt.",
"stopAfter": "one buyer-approved paid retry unless a human operator explicitly approves another capped diagnostic"
},
"buyerAgentChecklist": [
"Wallet is authenticated by the buyer, not ApexScout.",
"Buyer approves GET /api/opportunity-check with source agent-receipt-contract.",
"Maximum spend is exactly 10000 atomic USDC.",
"Network is exactly eip155:8453 Base mainnet.",
"Run one retry, then classify HTTP 402, HTTP 200, or a sanitized edge failure."
],
"copyReadyCommands": {
"receiptBoundProofCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"commandCopyProofCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"edgeFailureReadCommand": "curl -s \"https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure\"",
"walletSetupNote": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof."
},
"safeReadouts": {
"edgeHealthPath": "/__apexscout/cloudflare-x402/health",
"edgeLastFailurePath": "/__apexscout/cloudflare-x402/health/last-failure",
"edgeLastFailureUrl": "https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure",
"originLastFailurePath": "/api/cloudflare-x402-edge-failure/last",
"originLastFailureUrl": "https://apexscout.ai/api/cloudflare-x402-edge-failure/last",
"noPaymentAttemptedByRead": true,
"buyerLevelDataExposed": false,
"rawPaymentPayloadExposed": false,
"privateKeysRequested": false
},
"buttons": [
{
"label": "Copy receipt-bound proof command",
"copies": "receipt_bound_command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy edge failure readout",
"copies": "edge_failure_read_command",
"value": "curl -s \"https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure\"",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy wallet setup note",
"copies": "wallet_setup_note",
"value": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof.",
"executesPayment": false,
"opensPaidRoute": false
}
],
"telemetryInterpretation": {
"walletReadyCounter": "buyerWalletCloseSignals.walletReadyIntent",
"copyPaidProofCommandCounter": "buyerWalletCloseSignals.copyPaidProofCommand",
"copyReceiptBoundCommandCounter": "buyerWalletCloseSignals.copyReceiptBoundCommand",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"failureReadoutIsRevenue": false,
"copyIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"newCounterAdded": false,
"reason": "The closeout reuses existing aggregate wallet-close, source-bucket, and paid-completion counters so it improves decision clarity without creating fake movement."
},
"noSpendBoundary": {
"closeoutIsFree": true,
"closeoutExecutesPayment": false,
"copyingExecutesPayment": false,
"copyingOpensPaidRoute": false,
"failureReadoutExecutesPayment": false,
"failureReadoutCallsPaidRoute": false,
"paymentAttemptedByCloseout": false,
"paidRouteCalledByCloseout": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"productionPostCreated": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false,
"cloudflareMutationCreated": false,
"apifyActorRunCreated": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"privateKeysRequested": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false,
"rawPaymentPayloadExposed": false
},
"safetyClaims": {
"guaranteedRevenueClaimed": false,
"officialEndorsementClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareMonetizationGatewayReadinessAvailable": true,
"cloudflareMonetizationGatewayReadiness": {
"available": true,
"mode": "cloudflare-monetization-gateway-readiness",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare live edge status",
"releaseReportingMode": "worker-and-origin-split",
"appRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"originRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"originReleasePath": "/status",
"workerRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"workerSourceVersion": "2.2.179",
"workerHealthReleaseContract": {
"healthPath": "/__apexscout/cloudflare-x402/health",
"releaseFieldMeans": "workerRelease",
"workerReleaseField": "workerRelease",
"originReleaseField": "originRelease",
"originReleasePath": "/status",
"originReleaseReadIsNoSpend": true,
"mismatchIsActionableOnlyWhenWorkerHealthFails": true
},
"sourceSignal": {
"name": "Cloudflare Monetization Gateway",
"sourceUrl": "https://blog.cloudflare.com/monetization-gateway/",
"articleUrl": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving x402 payment enforcement toward edge-managed route rules. ApexScout now serves the one-cent proof path through a narrow Cloudflare Worker while keeping Railway as the origin fallback."
},
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"officialCloudflareMonetizationGatewayClaimed": false,
"officialCloudflareEndorsementClaimed": false,
"cloudflareBillingRulesPackAvailable": true,
"cloudflareBillingRulesPath": "/api/cloudflare-billing-rules",
"cloudflareBillingRulesWellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"cloudflareX402WorkerConfigAvailable": true,
"cloudflareX402WorkerConfigPath": "/api/cloudflare-x402-worker-config",
"cloudflareX402WorkerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"cloudflareBillingRulesPack": {
"available": true,
"mode": "cloudflare-billing-rules-pack",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare billing rules pack",
"purpose": "Document ApexScout's live Cloudflare edge Worker route and existing x402 paid-route policy without changing price, seller wallet, or buyer-controlled payment rules.",
"apiPath": "/api/cloudflare-billing-rules",
"wellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"workerConfigPath": "/api/cloudflare-x402-worker-config",
"workerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceSignals": [
{
"name": "Cloudflare Monetization Gateway",
"url": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving toward edge-managed payment rules, including route-level x402 enforcement."
},
{
"name": "Cloudflare x402 proxy",
"url": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"interpretedAs": "A Cloudflare Worker can sit in front of an existing HTTP origin, return 402, verify x402 payment, and forward the approved request."
},
{
"name": "Cloudflare Pay Per Crawl",
"url": "https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/",
"interpretedAs": "Cloudflare's crawler billing direction reinforces clear allow, charge, and block rules for automated clients."
}
],
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"cloudflareWorkerConfigPrepared": true,
"cloudflareRulesCreated": true,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRulesCreated": false,
"officialCloudflareEndorsementClaimed": false,
"monetizationGatewayApiPubliclyAvailable": false,
"monetizationGatewayApiStatus": "planned-or-early-access",
"currentDeployableOption": "cloudflare-x402-edge-settlement-worker",
"originFallbackRequired": true,
"originStillEnforcesX402": true,
"originEdgeSettlementBridgePrepared": true,
"edgeSettlementEligiblePaidRuleCount": 1,
"originAuthoritativePaidRuleCount": 1,
"billingRuleCount": 5,
"paidBillingRuleCount": 2,
"freeAllowRuleCount": 2,
"blockRuleCount": 1,
"paidRules": [
{
"id": "apexscout-one-cent-proof",
"type": "charge_x402",
"method": "GET",
"pattern": "/api/opportunity-check",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": true,
"originEdgeSettlementBypassRequired": true,
"originStillEnforcesX402": false,
"liveRuleMode": "edge-settled-with-signed-origin-bridge"
},
{
"id": "apexscout-agent-revenue-audit",
"type": "charge_x402",
"method": "POST",
"pattern": "/api/agent-revenue-audit",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"priceUsd": "5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": false,
"originEdgeSettlementBypassRequired": false,
"originStillEnforcesX402": true,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"reasonEdgeSettlementDeferred": "This POST route should not be edge-settled until the buyer payload can be validated before charge."
}
],
"allowRules": [
{
"id": "apexscout-free-agent-metadata",
"type": "allow_free",
"patterns": [
"/",
"/docs.json",
"/llms.txt",
"/skill.md",
"/.well-known/agent.json",
"/agent-capabilities.json",
"/api/public-agent",
"/mcp-tool-pack",
"/api/mcp-tool-pack",
"/.well-known/mcp.json",
"/api/agentcore-openapi.json",
"/.well-known/apexscout-monetization-policy.json",
"/api/agent-monetization-policy",
"/.well-known/apexscout-paid-tools.json",
"/api/paid-mcp-tools",
"/agent-wallet-skill-pack",
"/api/agent-wallet-skill-pack",
"/.well-known/apexscout-agent-wallet-skill.json",
"/apexscout-agent-wallet-skill.md",
"/.well-known/apexscout-agent-wallet-skill.md",
"/apify-x402-upstream-readiness",
"/api/apify-x402-upstream-readiness",
"/.well-known/apexscout-apify-x402-upstream.json",
"/cloudflare-monetization-gateway-rules",
"/api/cloudflare-monetization-gateway-rules",
"/.well-known/apexscout-cloudflare-monetization-gateway-rules.json",
"/agent-receipt-contract",
"/api/agent-receipt-contract",
"/.well-known/apexscout-agent-receipt-contract.json",
"/api/cloudflare-billing-rules",
"/.well-known/apexscout-cloudflare-billing-rules.json",
"/api/cloudflare-x402-worker-config",
"/.well-known/apexscout-cloudflare-x402-worker.json"
],
"reason": "Payment-aware agents should inspect policy, prices, and route caps before spend.",
"paidRetryRequired": false
},
{
"id": "apexscout-free-proof-and-preflight",
"type": "allow_free",
"patterns": [
"/x402-proof",
"/api/x402-proof",
"/chat-tiny-payment-flow",
"/api/chat-tiny-payment-flow",
"/api/agent-revenue-audit-builder/action-pack",
"/api/buyer-payment-scope-check",
"/api/buyer-agent-payment-safety",
"/api/x402-security-readiness"
],
"reason": "No-spend proof, preflight, Builder, Scope, and payment-safety surfaces should stay readable.",
"paidRetryRequired": false
}
],
"blockRules": [
{
"id": "apexscout-private-operator-surfaces",
"type": "block_public_access",
"patterns": [
"/admin/*",
"/api/admin/*"
],
"reason": "Private operator surfaces are not public buyer-agent resources.",
"paidRetryAvailable": false
}
],
"workerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"operatorApplyPlan": [
"Confirm the ApexScout zone remains active on Cloudflare and the route remains proxied.",
"Set APEXSCOUT_X402_PAY_TO to the existing ApexScout x402 seller payTo address in Cloudflare secrets or vars.",
"Set APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET as the same shared secret in Cloudflare and Railway.",
"Review cloudflare/x402-proxy/wrangler.jsonc against this API response.",
"Keep Worker changes inside explicit Cloudflare deployment windows.",
"Run unpaid 402 checks first, then one buyer-approved paid 200 proof for the one-cent proof rule when a paid proof is explicitly authorized.",
"Keep Railway-origin x402 as rollback until both edge rules match route, method, price, network, and paid proof."
],
"blockedUntil": [
"One buyer-approved paid HTTP 200 proof is still required before calling the proof route commercially converted.",
"Official Cloudflare managed Monetization Gateway rules are not claimed or required for the current Worker bridge."
],
"safeDryRunCommands": [
"npm run cloudflare:billing-rules:print",
"npm run cloudflare:x402-proxy:smoke",
"npm run cloudflare:x402-proxy:typecheck"
],
"liveApplyCommandTemplate": "npm --prefix cloudflare/x402-proxy run deploy",
"postIntegrationVerificationPlan": [
"GET /status and confirm the current ApexScout release.",
"GET /api/cloudflare-billing-rules and confirm the same paid rule count.",
"GET /api/cloudflare-x402-worker-config and confirm protected pattern prices.",
"Unpaid-check the protected route and confirm HTTP 402 only after an explicit deploy window.",
"Run one buyer-approved paid x402 proof only after the unpaid challenge matches."
],
"noSpendBoundary": {
"packIsFree": true,
"paymentAttemptedByPack": false,
"paidRouteCalledByPack": false,
"cloudflareApiCalledByApexScout": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerDeployedByApexScout": true,
"dnsChangedByApexScout": true,
"packReadChangesCloudflare": false,
"packReadChangesDns": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareX402WorkerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"waitlistOrEarlyAccessRequired": false,
"noDnsChangeMade": false,
"dnsChangedByLiveCutover": true,
"noCloudflareApiCallMade": false,
"noCloudflareApiCallMadeByRead": true,
"noPaymentRuleCreated": false,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"noPaidRouteChanged": true,
"noPriceChanged": true,
"noSellerWalletChanged": true,
"noPaymentRailChanged": true,
"apexScoutRemainsSourceOfTruth": true,
"candidateRules": [
{
"id": "apexscout-one-cent-proof",
"purpose": "Edge-readable one-cent x402 proof route for wallet-capable buyer agents.",
"method": "GET",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"amountAtomicUsdc": "10000",
"priceUsd": "0.01",
"displayPrice": "$0.01",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerApprovalRequired": true,
"currentOriginStillEnforcesX402": true,
"gatewayCanMirrorButNotOverrideOrigin": true
},
{
"id": "apexscout-agent-revenue-audit",
"purpose": "Higher-value builder monetization audit route.",
"method": "POST",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"amountAtomicUsdc": "5000000",
"priceUsd": "5.00",
"displayPrice": "$5.00",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerApprovalRequired": true,
"currentOriginStillEnforcesX402": true,
"gatewayCanMirrorButNotOverrideOrigin": true
}
],
"migrationPlan": [
"Keep the Cloudflare Worker route narrow and use Railway as the origin fallback.",
"Use these candidate rules as the review checklist before any future official managed-gateway change.",
"Require unpaid HTTP 402 and buyer-controlled HTTP 200 proof for each route after any edge or gateway change.",
"Keep ApexScout aggregate metrics as the public conversion truth source.",
"Roll back to Railway-origin x402 if route, amount, network, or payment proof differs."
],
"operatorChecklist": {
"dnsChangeApproved": true,
"cloudflareApiTokenApproved": true,
"gatewayRuleCreationApproved": true,
"postDeployPaidProofRequiredBeforeClaimingGatewayLive": true,
"originFallbackRequired": true,
"compareGatewayRulesToCandidateRules": true
},
"noSpendBoundary": {
"readinessPacketIsFree": true,
"paymentAttemptedByReadinessPacket": false,
"paidRouteCalledByReadinessPacket": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerRouteCreated": true,
"cloudflareApiCalled": false,
"dnsChanged": false,
"dnsAlreadyProxiedThroughCloudflare": true,
"workerAlreadyDeployed": true,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"revenueOutcomeClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
},
"telemetryInterpretation": {
"readinessUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"watchCounters": "If unpaid proof counters move without paid completions, treat it as proof-route interest, not gateway success."
}
},
"cloudflareBillingRulesPackAvailable": true,
"cloudflareBillingRulesPack": {
"available": true,
"mode": "cloudflare-billing-rules-pack",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare billing rules pack",
"purpose": "Document ApexScout's live Cloudflare edge Worker route and existing x402 paid-route policy without changing price, seller wallet, or buyer-controlled payment rules.",
"apiPath": "/api/cloudflare-billing-rules",
"wellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"workerConfigPath": "/api/cloudflare-x402-worker-config",
"workerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceSignals": [
{
"name": "Cloudflare Monetization Gateway",
"url": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving toward edge-managed payment rules, including route-level x402 enforcement."
},
{
"name": "Cloudflare x402 proxy",
"url": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"interpretedAs": "A Cloudflare Worker can sit in front of an existing HTTP origin, return 402, verify x402 payment, and forward the approved request."
},
{
"name": "Cloudflare Pay Per Crawl",
"url": "https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/",
"interpretedAs": "Cloudflare's crawler billing direction reinforces clear allow, charge, and block rules for automated clients."
}
],
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"cloudflareWorkerConfigPrepared": true,
"cloudflareRulesCreated": true,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRulesCreated": false,
"officialCloudflareEndorsementClaimed": false,
"monetizationGatewayApiPubliclyAvailable": false,
"monetizationGatewayApiStatus": "planned-or-early-access",
"currentDeployableOption": "cloudflare-x402-edge-settlement-worker",
"originFallbackRequired": true,
"originStillEnforcesX402": true,
"originEdgeSettlementBridgePrepared": true,
"edgeSettlementEligiblePaidRuleCount": 1,
"originAuthoritativePaidRuleCount": 1,
"billingRuleCount": 5,
"paidBillingRuleCount": 2,
"freeAllowRuleCount": 2,
"blockRuleCount": 1,
"paidRules": [
{
"id": "apexscout-one-cent-proof",
"type": "charge_x402",
"method": "GET",
"pattern": "/api/opportunity-check",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": true,
"originEdgeSettlementBypassRequired": true,
"originStillEnforcesX402": false,
"liveRuleMode": "edge-settled-with-signed-origin-bridge"
},
{
"id": "apexscout-agent-revenue-audit",
"type": "charge_x402",
"method": "POST",
"pattern": "/api/agent-revenue-audit",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"priceUsd": "5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": false,
"originEdgeSettlementBypassRequired": false,
"originStillEnforcesX402": true,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"reasonEdgeSettlementDeferred": "This POST route should not be edge-settled until the buyer payload can be validated before charge."
}
],
"allowRules": [
{
"id": "apexscout-free-agent-metadata",
"type": "allow_free",
"patterns": [
"/",
"/docs.json",
"/llms.txt",
"/skill.md",
"/.well-known/agent.json",
"/agent-capabilities.json",
"/api/public-agent",
"/mcp-tool-pack",
"/api/mcp-tool-pack",
"/.well-known/mcp.json",
"/api/agentcore-openapi.json",
"/.well-known/apexscout-monetization-policy.json",
"/api/agent-monetization-policy",
"/.well-known/apexscout-paid-tools.json",
"/api/paid-mcp-tools",
"/agent-wallet-skill-pack",
"/api/agent-wallet-skill-pack",
"/.well-known/apexscout-agent-wallet-skill.json",
"/apexscout-agent-wallet-skill.md",
"/.well-known/apexscout-agent-wallet-skill.md",
"/apify-x402-upstream-readiness",
"/api/apify-x402-upstream-readiness",
"/.well-known/apexscout-apify-x402-upstream.json",
"/cloudflare-monetization-gateway-rules",
"/api/cloudflare-monetization-gateway-rules",
"/.well-known/apexscout-cloudflare-monetization-gateway-rules.json",
"/agent-receipt-contract",
"/api/agent-receipt-contract",
"/.well-known/apexscout-agent-receipt-contract.json",
"/api/cloudflare-billing-rules",
"/.well-known/apexscout-cloudflare-billing-rules.json",
"/api/cloudflare-x402-worker-config",
"/.well-known/apexscout-cloudflare-x402-worker.json"
],
"reason": "Payment-aware agents should inspect policy, prices, and route caps before spend.",
"paidRetryRequired": false
},
{
"id": "apexscout-free-proof-and-preflight",
"type": "allow_free",
"patterns": [
"/x402-proof",
"/api/x402-proof",
"/chat-tiny-payment-flow",
"/api/chat-tiny-payment-flow",
"/api/agent-revenue-audit-builder/action-pack",
"/api/buyer-payment-scope-check",
"/api/buyer-agent-payment-safety",
"/api/x402-security-readiness"
],
"reason": "No-spend proof, preflight, Builder, Scope, and payment-safety surfaces should stay readable.",
"paidRetryRequired": false
}
],
"blockRules": [
{
"id": "apexscout-private-operator-surfaces",
"type": "block_public_access",
"patterns": [
"/admin/*",
"/api/admin/*"
],
"reason": "Private operator surfaces are not public buyer-agent resources.",
"paidRetryAvailable": false
}
],
"workerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"operatorApplyPlan": [
"Confirm the ApexScout zone remains active on Cloudflare and the route remains proxied.",
"Set APEXSCOUT_X402_PAY_TO to the existing ApexScout x402 seller payTo address in Cloudflare secrets or vars.",
"Set APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET as the same shared secret in Cloudflare and Railway.",
"Review cloudflare/x402-proxy/wrangler.jsonc against this API response.",
"Keep Worker changes inside explicit Cloudflare deployment windows.",
"Run unpaid 402 checks first, then one buyer-approved paid 200 proof for the one-cent proof rule when a paid proof is explicitly authorized.",
"Keep Railway-origin x402 as rollback until both edge rules match route, method, price, network, and paid proof."
],
"blockedUntil": [
"One buyer-approved paid HTTP 200 proof is still required before calling the proof route commercially converted.",
"Official Cloudflare managed Monetization Gateway rules are not claimed or required for the current Worker bridge."
],
"safeDryRunCommands": [
"npm run cloudflare:billing-rules:print",
"npm run cloudflare:x402-proxy:smoke",
"npm run cloudflare:x402-proxy:typecheck"
],
"liveApplyCommandTemplate": "npm --prefix cloudflare/x402-proxy run deploy",
"postIntegrationVerificationPlan": [
"GET /status and confirm the current ApexScout release.",
"GET /api/cloudflare-billing-rules and confirm the same paid rule count.",
"GET /api/cloudflare-x402-worker-config and confirm protected pattern prices.",
"Unpaid-check the protected route and confirm HTTP 402 only after an explicit deploy window.",
"Run one buyer-approved paid x402 proof only after the unpaid challenge matches."
],
"noSpendBoundary": {
"packIsFree": true,
"paymentAttemptedByPack": false,
"paidRouteCalledByPack": false,
"cloudflareApiCalledByApexScout": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerDeployedByApexScout": true,
"dnsChangedByApexScout": true,
"packReadChangesCloudflare": false,
"packReadChangesDns": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareX402WorkerConfigAvailable": true,
"cloudflareX402WorkerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"label": "x402-capable agent?",
"linkText": "Request GET /api/opportunity-check",
"copy": "Request the one-cent paid proof directly. It returns HTTP 402 until your own approved x402 wallet retries payment.",
"microcopy": "Opening this without a wallet returns an unpaid 402 challenge. Unpaid 402 is not revenue."
},
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionTrackingAdded": false,
"sourcePropagationSupported": true,
"sourcePropagationEnabled": true,
"ownerLaunchLandingAttributionAvailable": true,
"actionIntentSourcePropagationAvailable": true,
"safeSourceTags": [
"x-profile",
"x-pinned-post",
"x-daily-post",
"owner-public-launch"
],
"aggregateOnlySourceAttribution": true,
"noCookiesForAttribution": true,
"noSessionTrackingForAttribution": true,
"rawSourceStored": false,
"sourceAttributionRawUserAgentsStored": false,
"sourceAttributionIpAddressesStored": false,
"sourceAttributionBuyerLevelDataExposed": false
},
{
"intent": "audit",
"href": "/action-pack/go/audit",
"url": "https://apexscout.ai/action-pack/go/audit",
"label": "Check my $5 audit request for free",
"copy": "Use this when you want ApexScout to check whether your Agent Revenue Audit request is ready before payment.",
"noSpend": true,
"paymentExecuted": false,
"prepareExecuted": false,
"recordsAggregateIntentOnClick": true,
"redirectsToNoSpendTarget": true,
"noSpendTarget": "/agent-revenue-audit-builder?template=search-checkout&src=action-pack-audit-intent-link",
"noSpendTargetUrl": "https://apexscout.ai/agent-revenue-audit-builder?template=search-checkout&src=action-pack-audit-intent-link",
"destinationHandoffExpected": true,
"destinationHandoffRoute": "/agent-revenue-audit-builder?template=search-checkout&src=action-pack-audit-intent-link",
"destinationHandoffRouteUrl": "https://apexscout.ai/agent-revenue-audit-builder?template=search-checkout&src=action-pack-audit-intent-link",
"nextActionLabel": "Check my audit request for free",
"noAutoPrepare": true,
"noPaymentExecution": true,
"noPrepareExecutionFromRail": true,
"buyerLevelDataExposed": false,
"optionalX402ProofCta": null,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionTrackingAdded": false,
"sourcePropagationSupported": true,
"sourcePropagationEnabled": true,
"ownerLaunchLandingAttributionAvailable": true,
"actionIntentSourcePropagationAvailable": true,
"safeSourceTags": [
"x-profile",
"x-pinned-post",
"x-daily-post",
"owner-public-launch"
],
"aggregateOnlySourceAttribution": true,
"noCookiesForAttribution": true,
"noSessionTrackingForAttribution": true,
"rawSourceStored": false,
"sourceAttributionRawUserAgentsStored": false,
"sourceAttributionIpAddressesStored": false,
"sourceAttributionBuyerLevelDataExposed": false
},
{
"intent": "agentic-trading",
"href": "/action-pack/go/agentic-trading",
"url": "https://apexscout.ai/action-pack/go/agentic-trading",
"label": "Check payment readiness for an agentic trading or DeFi tool",
"copy": "Use this for wallet-enabled agent tools, DeFi workflows, market-data products, or trading automation payment boundaries. ApexScout does not give trading or investment advice.",
"noSpend": true,
"paymentExecuted": false,
"prepareExecuted": false,
"recordsAggregateIntentOnClick": true,
"redirectsToNoSpendTarget": true,
"noSpendTarget": "/agent-revenue-audit-builder?template=agentic-trading-payment-safety&src=action-pack-agentic-trading-intent-link",
"noSpendTargetUrl": "https://apexscout.ai/agent-revenue-audit-builder?template=agentic-trading-payment-safety&src=action-pack-agentic-trading-intent-link",
"destinationHandoffExpected": true,
"destinationHandoffRoute": "/agent-revenue-audit-builder?template=agentic-trading-payment-safety&src=action-pack-agentic-trading-intent-link",
"destinationHandoffRouteUrl": "https://apexscout.ai/agent-revenue-audit-builder?template=agentic-trading-payment-safety&src=action-pack-agentic-trading-intent-link",
"nextActionLabel": "Check payment readiness for free",
"noAutoPrepare": true,
"noPaymentExecution": true,
"noPrepareExecutionFromRail": true,
"buyerLevelDataExposed": false,
"optionalX402ProofCta": null,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionTrackingAdded": false,
"sourcePropagationSupported": true,
"sourcePropagationEnabled": true,
"ownerLaunchLandingAttributionAvailable": true,
"actionIntentSourcePropagationAvailable": true,
"safeSourceTags": [
"x-profile",
"x-pinned-post",
"x-daily-post",
"owner-public-launch"
],
"aggregateOnlySourceAttribution": true,
"noCookiesForAttribution": true,
"noSessionTrackingForAttribution": true,
"rawSourceStored": false,
"sourceAttributionRawUserAgentsStored": false,
"sourceAttributionIpAddressesStored": false,
"sourceAttributionBuyerLevelDataExposed": false,
"agenticTradingPaymentReadinessDisclaimer": "This is payment-readiness only. ApexScout does not give trading, investment, tax, legal, lending, or compliance advice.",
"advice": "Payment-readiness only. Not trading or investment advice.",
"noTradingAdvice": true
},
{
"intent": "scope",
"href": "/action-pack/go/scope",
"url": "https://apexscout.ai/action-pack/go/scope",
"label": "Check buyer payment scope",
"copy": "Use this after ready_to_pay before a buyer-controlled x402 wallet retries payment.",
"noSpend": true,
"paymentExecuted": false,
"prepareExecuted": false,
"recordsAggregateIntentOnClick": true,
"redirectsToNoSpendTarget": true,
"noSpendTarget": "/buyer-payment-scope-check?route=agent-revenue-audit&src=action-pack-scope-intent-link",
"noSpendTargetUrl": "https://apexscout.ai/buyer-payment-scope-check?route=agent-revenue-audit&src=action-pack-scope-intent-link",
"destinationHandoffExpected": true,
"destinationHandoffRoute": "/buyer-payment-scope-check?route=agent-revenue-audit&src=action-pack-scope-intent-link",
"destinationHandoffRouteUrl": "https://apexscout.ai/buyer-payment-scope-check?route=agent-revenue-audit&src=action-pack-scope-intent-link",
"nextActionLabel": "Run free scope check",
"noAutoPrepare": true,
"noPaymentExecution": true,
"noPrepareExecutionFromRail": true,
"buyerLevelDataExposed": false,
"optionalX402ProofCta": null,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionTrackingAdded": false,
"sourcePropagationSupported": true,
"sourcePropagationEnabled": true,
"ownerLaunchLandingAttributionAvailable": true,
"actionIntentSourcePropagationAvailable": true,
"safeSourceTags": [
"x-profile",
"x-pinned-post",
"x-daily-post",
"owner-public-launch"
],
"aggregateOnlySourceAttribution": true,
"noCookiesForAttribution": true,
"noSessionTrackingForAttribution": true,
"rawSourceStored": false,
"sourceAttributionRawUserAgentsStored": false,
"sourceAttributionIpAddressesStored": false,
"sourceAttributionBuyerLevelDataExposed": false
}
],
"noPaymentExecution": true,
"noPrepareExecutionFromRail": true,
"buyerLevelDataExposed": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionTrackingAdded": false,
"sourcePropagationSupported": true,
"sourcePropagationEnabled": true,
"ownerLaunchLandingAttributionAvailable": true,
"actionIntentSourcePropagationAvailable": true,
"safeSourceTags": [
"x-profile",
"x-pinned-post",
"x-daily-post",
"owner-public-launch"
],
"aggregateOnlySourceAttribution": true,
"noCookiesForAttribution": true,
"noSessionTrackingForAttribution": true,
"rawSourceStored": false,
"sourceAttributionRawUserAgentsStored": false,
"sourceAttributionIpAddressesStored": false,
"sourceAttributionBuyerLevelDataExposed": false
},
"primaryNoSpendActions": [
{
"intent": "proof",
"href": "/action-pack/go/proof",
"url": "https://apexscout.ai/action-pack/go/proof",
"label": "Test the cheapest x402 proof path",
"copy": "Use this when you only need the trust/proof flow.",
"noSpend": true,
"paymentExecuted": false,
"prepareExecuted": false,
"recordsAggregateIntentOnClick": true,
"redirectsToNoSpendTarget": true,
"noSpendTarget": "/chat-tiny-payment-flow?src=action-pack-proof-intent-link",
"noSpendTargetUrl": "https://apexscout.ai/chat-tiny-payment-flow?src=action-pack-proof-intent-link",
"destinationHandoffExpected": true,
"destinationHandoffRoute": "/chat-tiny-payment-flow?src=action-pack-proof-intent-link",
"destinationHandoffRouteUrl": "https://apexscout.ai/chat-tiny-payment-flow?src=action-pack-proof-intent-link",
"nextActionLabel": "Inspect unpaid proof instructions",
"noAutoPrepare": true,
"noPaymentExecution": true,
"noPrepareExecutionFromRail": true,
"buyerLevelDataExposed": false,
"optionalX402ProofCta": {
"method": "GET",
"route": "/api/opportunity-check",
"href": "/api/opportunity-check?src=front-door-x402-proof-cta",
"url": "https://apexscout.ai/api/opportunity-check?src=front-door-x402-proof-cta",
"sourceTag": "front-door-x402-proof-cta",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"requiresBuyerControlledX402Retry": true,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"secondaryToNoSpend": true,
"noAutoOpen": true,
"noPaymentExecution": true,
"buyerLevelDataExposed": false,
"proofRetryConfidence": {
"available": true,
"mode": "no-spend-proof-retry-confidence",
"purpose": "Help x402-capable buyers understand that an unpaid 402 is the expected proof challenge and that payment only happens from a buyer-controlled retry.",
"route": "/api/opportunity-check",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"expectedUnpaidMeaning": "HTTP 402 means the proof paywall is reachable and returning x402 payment requirements. It is not a service outage and it is not revenue.",
"expectedPaidMeaning": "HTTP 200 only counts after a buyer-controlled x402 client retries this route with an approved payment.",
"http402ReadinessReceiptAvailable": true,
"http402ReadinessReceipt": {
"available": true,
"mode": "no-spend-http-402-readiness-receipt",
"title": "HTTP 402 Readiness Receipt",
"purpose": "Give x402-capable buyers a compact, unsigned receipt showing what the unpaid proof challenge proves before any buyer-controlled paid retry.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"url": "https://apexscout.ai/api/opportunity-check",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"agentExecutionProofPacketAvailable": true,
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"receiptScope": "GET /api/opportunity-check, $0.01 maximum amount, eip155:8453 Base mainnet x402, one buyer-controlled retry.",
"receiptSummary": "Unpaid HTTP 402 proves the x402 proof route is reachable and returning payment requirements. It does not prove payment, revenue, endorsement, or buyer approval.",
"agentDecision": {
"payOnlyIf": "The buyer explicitly approves the route, max amount, network, and one retry from a wallet-controlled x402 client.",
"stopIf": "The buyer has not approved spend, the client cannot attach x402 payment, the route or network differs, or HTTP 402 is being treated as a paid completion.",
"nextNoSpendStep": "Stay on ApexScout proof, action-pack, Scope Check, or Builder surfaces until buyer-controlled payment is intentionally approved."
},
"readinessChecks": [
"Route scoped to GET /api/opportunity-check.",
"Amount scoped to $0.01 / 10000 atomic USDC.",
"Network scoped to Base mainnet eip155:8453.",
"HTTP 402 is expected before payment.",
"HTTP 200 is required before paid completion is counted.",
"No request body, cookies, session, or wallet connection is required to read this receipt.",
"No buyer-level data is exposed by this receipt.",
"No automatic payment or paid retry is performed by ApexScout."
],
"publicSafetyCopy": "This is an unsigned no-spend readiness receipt, not AP2 proof, not a signed mandate, not a legal or payment receipt, not an endorsement claim, and not trading, investment, tax, legal, lending, or compliance advice.",
"notClaims": {
"signedReceiptCreated": false,
"ap2ProofCreated": false,
"legalMandateCreated": false,
"paymentReceiptCreated": false,
"walletApprovalCreated": false,
"officialEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false
},
"noSpendBoundary": {
"receiptIsFree": true,
"opensPaidRouteByItself": false,
"paymentAttemptedByReceipt": false,
"paidRouteCalledByReceipt": false,
"paidUpstreamCalls": false,
"walletConnectionRequiredForReceipt": false,
"automaticSpending": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
},
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"receiptUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"copyPasteReceiptSummary": "HTTP 402 readiness receipt: GET /api/opportunity-check is reachable, costs max $0.01 on eip155:8453 only after buyer-controlled x402 retry, and counts as paid only when HTTP 200 returns."
},
"proofRetryDecisionStripAvailable": true,
"proofRetryDecisionStrip": {
"available": true,
"mode": "buyer-controlled-proof-retry-decision-strip",
"title": "Buyer-controlled proof retry gate",
"purpose": "Compress the next click after an unpaid 402 into a clear continue/stop decision for x402-capable buyers.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"url": "https://apexscout.ai/api/opportunity-check",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"agentExecutionProofPacketAvailable": true,
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"decisionSummary": "Continue only if buyer approval, x402 wallet capability, exact route, exact amount, and Base mainnet network all match.",
"continueIf": [
"Buyer explicitly approves this exact $0.01 proof.",
"Client can attach x402 payment on Base mainnet eip155:8453.",
"Route is exactly GET /api/opportunity-check.",
"Max amount is exactly 10000 atomic USDC.",
"Buyer understands only HTTP 200 counts as a paid proof completion."
],
"stopIf": [
"Buyer has not approved spend.",
"Client is a normal browser without x402 payment support.",
"Route, amount, or network differs from the receipt.",
"The buyer is treating unpaid HTTP 402 as revenue or completion.",
"The output will not change the buyer's next action."
],
"primaryAction": {
"label": "Request unpaid proof challenge",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"normalBrowserResult": "HTTP 402 JSON with x402 payment requirements",
"x402CapableResult": "HTTP 200 JSON only after buyer-controlled paid retry",
"noPaymentOnClick": true,
"paidRetryRequiresBuyerWallet": true
},
"fallbackNoSpendActions": [
"/x402-proof",
"/api/agent-revenue-audit-builder/action-pack",
"/buyer-payment-scope-check",
"/chat-tiny-payment-flow"
],
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"decisionStripUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"decisionStripIsFree": true,
"paymentAttemptedByDecisionStrip": false,
"paidRouteCalledByDecisionStrip": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"agentExecutionProofPacketAvailable": true,
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"http402ClosePacketAvailable": true,
"http402ClosePacket": {
"available": true,
"mode": "buyer-agent-402-close-packet",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "402 close packet",
"purpose": "Put the buyer-agent close instructions inside the unpaid HTTP 402 response so x402-capable clients can finish the proof without hunting through a page.",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"command": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"closeMessage": "You reached the ApexScout paid proof gate. To complete the proof, retry this exact GET route from an authenticated x402 wallet/client with max amount 10000 atomic USDC on Base mainnet.",
"buyerAgentInstruction": "If the buyer approved this one-cent proof, run the command exactly once and treat only HTTP 200 as the paid completion. If any route, amount, network, or approval detail differs, stop.",
"whatHttp200Proves": [
"The buyer-controlled x402 retry reached ApexScout's one-cent proof route.",
"The paid route returned structured JSON after payment verification.",
"The aggregate paid proof completion counter is allowed to move only after HTTP 200."
],
"notProofOf": [
"Coinbase, AWS, Stripe, Bazaar, AgentCore, Base, marketplace, or protocol endorsement.",
"Guaranteed revenue, trading results, investment outcome, legal advice, tax advice, lending advice, or compliance approval.",
"Buyer identity, wallet-level activity, secret signing material, or broader permission to spend."
],
"continueIf": [
"The buyer explicitly approved this one-cent proof.",
"The client can attach an x402 payment authorization.",
"The retry route is exactly GET /api/opportunity-check?src=agent-execution-command-copy.",
"The max amount is exactly 10000 atomic USDC.",
"The network is exactly eip155:8453."
],
"stopIf": [
"The wallet is not authenticated.",
"The wallet has insufficient USDC on Base.",
"The client cannot attach x402 payment.",
"The max amount is lower than 10000 atomic USDC.",
"The network is not eip155:8453.",
"The buyer did not approve this exact spend.",
"The agent plans to retry more than once just to clear a metric."
],
"failureBranches": {
"walletNotAuthenticated": {
"bucket": "wallet_not_authenticated",
"buyerAction": "Authenticate the buyer-controlled x402 wallet/client before retrying.",
"apexScoutAction": "Do nothing automatically."
},
"insufficientBaseUsdc": {
"bucket": "insufficient_base_usdc",
"buyerAction": "Stop until the buyer-controlled wallet has enough Base USDC for the one-cent proof.",
"apexScoutAction": "Do not fund, trade, onramp, or advise funding."
},
"maxAmountTooLow": {
"bucket": "max_amount_too_low",
"buyerAction": "Use max amount 10000 atomic USDC or stop.",
"apexScoutAction": "Do not lower route price or change payment requirements."
},
"wrongNetwork": {
"bucket": "wrong_network",
"buyerAction": "Use eip155:8453 Base mainnet or stop.",
"apexScoutAction": "Do not switch rails."
},
"paymentDeclined": {
"bucket": "payment_declined",
"buyerAction": "Stop unless the buyer explicitly approves another attempt.",
"apexScoutAction": "Do not retry payment for the buyer."
}
},
"telemetryInterpretation": {
"sourceTag": "agent-execution-command-copy",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionCommandCopy",
"closePacketUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"closePacketIsFree": true,
"closePacketExecutesPayment": false,
"paymentAttemptedByClosePacket": false,
"paidRouteCalledByClosePacket": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false,
"secretSigningMaterialRequested": false
}
},
"buyerProofExecutionCloseoutAvailable": true,
"buyerProofExecutionCloseout": {
"available": true,
"mode": "buyer-proof-execution-closeout",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Copied? Finish with one buyer-run proof retry",
"purpose": "Close the gap after a buyer agent marks its wallet ready or copies the command: run exactly one buyer-approved proof retry, classify the response, then stop.",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-receipt-contract",
"method": "GET",
"href": "/api/opportunity-check?src=agent-receipt-contract",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"primarySourceTag": "agent-receipt-contract",
"primarySourceBucket": "agentReceiptContract",
"commandCopySourceTag": "agent-execution-command-copy",
"commandCopySourceBucket": "agentExecutionCommandCopy",
"buyerWalletCloseSignalCounter": "buyerWalletCloseSignals.walletCloseIntentEvents",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"firstScreenPlacement": {
"x402Proof": "after-wallet-close-before-receipt-command",
"chatTinyPaymentFlow": "after-wallet-close-before-receipt-command",
"closeoutVisibleBeforeCommandCopy": true,
"normalNoSpendPathRemainsPrimary": true
},
"closeoutRule": {
"ifWalletReadyAndCommandCopied": "Run the receipt-bound command exactly once from the buyer-controlled x402 wallet if the buyer approved the route, amount, and network.",
"ifCannotPayYet": "Do not retry payment. Use the wallet setup note and stop until wallet authentication, Base USDC balance, route, amount, and network match.",
"ifResponseIs402": "Treat the result as unpaid. It is a challenge, not a paid proof, and it should not move revenue.",
"ifResponseIs200": "Treat the result as paid proof only after the buyer-controlled x402 retry returns structured HTTP 200 JSON.",
"ifRetryIsRejected": "Read the sanitized edge failure status once, classify the rejection, and stop before another paid attempt.",
"stopAfter": "one buyer-approved paid retry unless a human operator explicitly approves another capped diagnostic"
},
"buyerAgentChecklist": [
"Wallet is authenticated by the buyer, not ApexScout.",
"Buyer approves GET /api/opportunity-check with source agent-receipt-contract.",
"Maximum spend is exactly 10000 atomic USDC.",
"Network is exactly eip155:8453 Base mainnet.",
"Run one retry, then classify HTTP 402, HTTP 200, or a sanitized edge failure."
],
"copyReadyCommands": {
"receiptBoundProofCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"commandCopyProofCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"edgeFailureReadCommand": "curl -s \"https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure\"",
"walletSetupNote": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof."
},
"safeReadouts": {
"edgeHealthPath": "/__apexscout/cloudflare-x402/health",
"edgeLastFailurePath": "/__apexscout/cloudflare-x402/health/last-failure",
"edgeLastFailureUrl": "https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure",
"originLastFailurePath": "/api/cloudflare-x402-edge-failure/last",
"originLastFailureUrl": "https://apexscout.ai/api/cloudflare-x402-edge-failure/last",
"noPaymentAttemptedByRead": true,
"buyerLevelDataExposed": false,
"rawPaymentPayloadExposed": false,
"privateKeysRequested": false
},
"buttons": [
{
"label": "Copy receipt-bound proof command",
"copies": "receipt_bound_command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy edge failure readout",
"copies": "edge_failure_read_command",
"value": "curl -s \"https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure\"",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy wallet setup note",
"copies": "wallet_setup_note",
"value": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof.",
"executesPayment": false,
"opensPaidRoute": false
}
],
"telemetryInterpretation": {
"walletReadyCounter": "buyerWalletCloseSignals.walletReadyIntent",
"copyPaidProofCommandCounter": "buyerWalletCloseSignals.copyPaidProofCommand",
"copyReceiptBoundCommandCounter": "buyerWalletCloseSignals.copyReceiptBoundCommand",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"failureReadoutIsRevenue": false,
"copyIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"newCounterAdded": false,
"reason": "The closeout reuses existing aggregate wallet-close, source-bucket, and paid-completion counters so it improves decision clarity without creating fake movement."
},
"noSpendBoundary": {
"closeoutIsFree": true,
"closeoutExecutesPayment": false,
"copyingExecutesPayment": false,
"copyingOpensPaidRoute": false,
"failureReadoutExecutesPayment": false,
"failureReadoutCallsPaidRoute": false,
"paymentAttemptedByCloseout": false,
"paidRouteCalledByCloseout": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"productionPostCreated": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false,
"cloudflareMutationCreated": false,
"apifyActorRunCreated": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"privateKeysRequested": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false,
"rawPaymentPayloadExposed": false
},
"safetyClaims": {
"guaranteedRevenueClaimed": false,
"officialEndorsementClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareMonetizationGatewayReadinessAvailable": true,
"cloudflareMonetizationGatewayReadiness": {
"available": true,
"mode": "cloudflare-monetization-gateway-readiness",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare live edge status",
"releaseReportingMode": "worker-and-origin-split",
"appRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"originRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"originReleasePath": "/status",
"workerRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"workerSourceVersion": "2.2.179",
"workerHealthReleaseContract": {
"healthPath": "/__apexscout/cloudflare-x402/health",
"releaseFieldMeans": "workerRelease",
"workerReleaseField": "workerRelease",
"originReleaseField": "originRelease",
"originReleasePath": "/status",
"originReleaseReadIsNoSpend": true,
"mismatchIsActionableOnlyWhenWorkerHealthFails": true
},
"sourceSignal": {
"name": "Cloudflare Monetization Gateway",
"sourceUrl": "https://blog.cloudflare.com/monetization-gateway/",
"articleUrl": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving x402 payment enforcement toward edge-managed route rules. ApexScout now serves the one-cent proof path through a narrow Cloudflare Worker while keeping Railway as the origin fallback."
},
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"officialCloudflareMonetizationGatewayClaimed": false,
"officialCloudflareEndorsementClaimed": false,
"cloudflareBillingRulesPackAvailable": true,
"cloudflareBillingRulesPath": "/api/cloudflare-billing-rules",
"cloudflareBillingRulesWellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"cloudflareX402WorkerConfigAvailable": true,
"cloudflareX402WorkerConfigPath": "/api/cloudflare-x402-worker-config",
"cloudflareX402WorkerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"cloudflareBillingRulesPack": {
"available": true,
"mode": "cloudflare-billing-rules-pack",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare billing rules pack",
"purpose": "Document ApexScout's live Cloudflare edge Worker route and existing x402 paid-route policy without changing price, seller wallet, or buyer-controlled payment rules.",
"apiPath": "/api/cloudflare-billing-rules",
"wellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"workerConfigPath": "/api/cloudflare-x402-worker-config",
"workerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceSignals": [
{
"name": "Cloudflare Monetization Gateway",
"url": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving toward edge-managed payment rules, including route-level x402 enforcement."
},
{
"name": "Cloudflare x402 proxy",
"url": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"interpretedAs": "A Cloudflare Worker can sit in front of an existing HTTP origin, return 402, verify x402 payment, and forward the approved request."
},
{
"name": "Cloudflare Pay Per Crawl",
"url": "https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/",
"interpretedAs": "Cloudflare's crawler billing direction reinforces clear allow, charge, and block rules for automated clients."
}
],
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"cloudflareWorkerConfigPrepared": true,
"cloudflareRulesCreated": true,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRulesCreated": false,
"officialCloudflareEndorsementClaimed": false,
"monetizationGatewayApiPubliclyAvailable": false,
"monetizationGatewayApiStatus": "planned-or-early-access",
"currentDeployableOption": "cloudflare-x402-edge-settlement-worker",
"originFallbackRequired": true,
"originStillEnforcesX402": true,
"originEdgeSettlementBridgePrepared": true,
"edgeSettlementEligiblePaidRuleCount": 1,
"originAuthoritativePaidRuleCount": 1,
"billingRuleCount": 5,
"paidBillingRuleCount": 2,
"freeAllowRuleCount": 2,
"blockRuleCount": 1,
"paidRules": [
{
"id": "apexscout-one-cent-proof",
"type": "charge_x402",
"method": "GET",
"pattern": "/api/opportunity-check",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": true,
"originEdgeSettlementBypassRequired": true,
"originStillEnforcesX402": false,
"liveRuleMode": "edge-settled-with-signed-origin-bridge"
},
{
"id": "apexscout-agent-revenue-audit",
"type": "charge_x402",
"method": "POST",
"pattern": "/api/agent-revenue-audit",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"priceUsd": "5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": false,
"originEdgeSettlementBypassRequired": false,
"originStillEnforcesX402": true,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"reasonEdgeSettlementDeferred": "This POST route should not be edge-settled until the buyer payload can be validated before charge."
}
],
"allowRules": [
{
"id": "apexscout-free-agent-metadata",
"type": "allow_free",
"patterns": [
"/",
"/docs.json",
"/llms.txt",
"/skill.md",
"/.well-known/agent.json",
"/agent-capabilities.json",
"/api/public-agent",
"/mcp-tool-pack",
"/api/mcp-tool-pack",
"/.well-known/mcp.json",
"/api/agentcore-openapi.json",
"/.well-known/apexscout-monetization-policy.json",
"/api/agent-monetization-policy",
"/.well-known/apexscout-paid-tools.json",
"/api/paid-mcp-tools",
"/agent-wallet-skill-pack",
"/api/agent-wallet-skill-pack",
"/.well-known/apexscout-agent-wallet-skill.json",
"/apexscout-agent-wallet-skill.md",
"/.well-known/apexscout-agent-wallet-skill.md",
"/apify-x402-upstream-readiness",
"/api/apify-x402-upstream-readiness",
"/.well-known/apexscout-apify-x402-upstream.json",
"/cloudflare-monetization-gateway-rules",
"/api/cloudflare-monetization-gateway-rules",
"/.well-known/apexscout-cloudflare-monetization-gateway-rules.json",
"/agent-receipt-contract",
"/api/agent-receipt-contract",
"/.well-known/apexscout-agent-receipt-contract.json",
"/api/cloudflare-billing-rules",
"/.well-known/apexscout-cloudflare-billing-rules.json",
"/api/cloudflare-x402-worker-config",
"/.well-known/apexscout-cloudflare-x402-worker.json"
],
"reason": "Payment-aware agents should inspect policy, prices, and route caps before spend.",
"paidRetryRequired": false
},
{
"id": "apexscout-free-proof-and-preflight",
"type": "allow_free",
"patterns": [
"/x402-proof",
"/api/x402-proof",
"/chat-tiny-payment-flow",
"/api/chat-tiny-payment-flow",
"/api/agent-revenue-audit-builder/action-pack",
"/api/buyer-payment-scope-check",
"/api/buyer-agent-payment-safety",
"/api/x402-security-readiness"
],
"reason": "No-spend proof, preflight, Builder, Scope, and payment-safety surfaces should stay readable.",
"paidRetryRequired": false
}
],
"blockRules": [
{
"id": "apexscout-private-operator-surfaces",
"type": "block_public_access",
"patterns": [
"/admin/*",
"/api/admin/*"
],
"reason": "Private operator surfaces are not public buyer-agent resources.",
"paidRetryAvailable": false
}
],
"workerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"operatorApplyPlan": [
"Confirm the ApexScout zone remains active on Cloudflare and the route remains proxied.",
"Set APEXSCOUT_X402_PAY_TO to the existing ApexScout x402 seller payTo address in Cloudflare secrets or vars.",
"Set APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET as the same shared secret in Cloudflare and Railway.",
"Review cloudflare/x402-proxy/wrangler.jsonc against this API response.",
"Keep Worker changes inside explicit Cloudflare deployment windows.",
"Run unpaid 402 checks first, then one buyer-approved paid 200 proof for the one-cent proof rule when a paid proof is explicitly authorized.",
"Keep Railway-origin x402 as rollback until both edge rules match route, method, price, network, and paid proof."
],
"blockedUntil": [
"One buyer-approved paid HTTP 200 proof is still required before calling the proof route commercially converted.",
"Official Cloudflare managed Monetization Gateway rules are not claimed or required for the current Worker bridge."
],
"safeDryRunCommands": [
"npm run cloudflare:billing-rules:print",
"npm run cloudflare:x402-proxy:smoke",
"npm run cloudflare:x402-proxy:typecheck"
],
"liveApplyCommandTemplate": "npm --prefix cloudflare/x402-proxy run deploy",
"postIntegrationVerificationPlan": [
"GET /status and confirm the current ApexScout release.",
"GET /api/cloudflare-billing-rules and confirm the same paid rule count.",
"GET /api/cloudflare-x402-worker-config and confirm protected pattern prices.",
"Unpaid-check the protected route and confirm HTTP 402 only after an explicit deploy window.",
"Run one buyer-approved paid x402 proof only after the unpaid challenge matches."
],
"noSpendBoundary": {
"packIsFree": true,
"paymentAttemptedByPack": false,
"paidRouteCalledByPack": false,
"cloudflareApiCalledByApexScout": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerDeployedByApexScout": true,
"dnsChangedByApexScout": true,
"packReadChangesCloudflare": false,
"packReadChangesDns": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareX402WorkerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"waitlistOrEarlyAccessRequired": false,
"noDnsChangeMade": false,
"dnsChangedByLiveCutover": true,
"noCloudflareApiCallMade": false,
"noCloudflareApiCallMadeByRead": true,
"noPaymentRuleCreated": false,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"noPaidRouteChanged": true,
"noPriceChanged": true,
"noSellerWalletChanged": true,
"noPaymentRailChanged": true,
"apexScoutRemainsSourceOfTruth": true,
"candidateRules": [
{
"id": "apexscout-one-cent-proof",
"purpose": "Edge-readable one-cent x402 proof route for wallet-capable buyer agents.",
"method": "GET",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"amountAtomicUsdc": "10000",
"priceUsd": "0.01",
"displayPrice": "$0.01",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerApprovalRequired": true,
"currentOriginStillEnforcesX402": true,
"gatewayCanMirrorButNotOverrideOrigin": true
},
{
"id": "apexscout-agent-revenue-audit",
"purpose": "Higher-value builder monetization audit route.",
"method": "POST",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"amountAtomicUsdc": "5000000",
"priceUsd": "5.00",
"displayPrice": "$5.00",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerApprovalRequired": true,
"currentOriginStillEnforcesX402": true,
"gatewayCanMirrorButNotOverrideOrigin": true
}
],
"migrationPlan": [
"Keep the Cloudflare Worker route narrow and use Railway as the origin fallback.",
"Use these candidate rules as the review checklist before any future official managed-gateway change.",
"Require unpaid HTTP 402 and buyer-controlled HTTP 200 proof for each route after any edge or gateway change.",
"Keep ApexScout aggregate metrics as the public conversion truth source.",
"Roll back to Railway-origin x402 if route, amount, network, or payment proof differs."
],
"operatorChecklist": {
"dnsChangeApproved": true,
"cloudflareApiTokenApproved": true,
"gatewayRuleCreationApproved": true,
"postDeployPaidProofRequiredBeforeClaimingGatewayLive": true,
"originFallbackRequired": true,
"compareGatewayRulesToCandidateRules": true
},
"noSpendBoundary": {
"readinessPacketIsFree": true,
"paymentAttemptedByReadinessPacket": false,
"paidRouteCalledByReadinessPacket": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerRouteCreated": true,
"cloudflareApiCalled": false,
"dnsChanged": false,
"dnsAlreadyProxiedThroughCloudflare": true,
"workerAlreadyDeployed": true,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"revenueOutcomeClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
},
"telemetryInterpretation": {
"readinessUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"watchCounters": "If unpaid proof counters move without paid completions, treat it as proof-route interest, not gateway success."
}
},
"cloudflareBillingRulesPackAvailable": true,
"cloudflareBillingRulesPack": {
"available": true,
"mode": "cloudflare-billing-rules-pack",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare billing rules pack",
"purpose": "Document ApexScout's live Cloudflare edge Worker route and existing x402 paid-route policy without changing price, seller wallet, or buyer-controlled payment rules.",
"apiPath": "/api/cloudflare-billing-rules",
"wellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"workerConfigPath": "/api/cloudflare-x402-worker-config",
"workerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceSignals": [
{
"name": "Cloudflare Monetization Gateway",
"url": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving toward edge-managed payment rules, including route-level x402 enforcement."
},
{
"name": "Cloudflare x402 proxy",
"url": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"interpretedAs": "A Cloudflare Worker can sit in front of an existing HTTP origin, return 402, verify x402 payment, and forward the approved request."
},
{
"name": "Cloudflare Pay Per Crawl",
"url": "https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/",
"interpretedAs": "Cloudflare's crawler billing direction reinforces clear allow, charge, and block rules for automated clients."
}
],
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"cloudflareWorkerConfigPrepared": true,
"cloudflareRulesCreated": true,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRulesCreated": false,
"officialCloudflareEndorsementClaimed": false,
"monetizationGatewayApiPubliclyAvailable": false,
"monetizationGatewayApiStatus": "planned-or-early-access",
"currentDeployableOption": "cloudflare-x402-edge-settlement-worker",
"originFallbackRequired": true,
"originStillEnforcesX402": true,
"originEdgeSettlementBridgePrepared": true,
"edgeSettlementEligiblePaidRuleCount": 1,
"originAuthoritativePaidRuleCount": 1,
"billingRuleCount": 5,
"paidBillingRuleCount": 2,
"freeAllowRuleCount": 2,
"blockRuleCount": 1,
"paidRules": [
{
"id": "apexscout-one-cent-proof",
"type": "charge_x402",
"method": "GET",
"pattern": "/api/opportunity-check",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": true,
"originEdgeSettlementBypassRequired": true,
"originStillEnforcesX402": false,
"liveRuleMode": "edge-settled-with-signed-origin-bridge"
},
{
"id": "apexscout-agent-revenue-audit",
"type": "charge_x402",
"method": "POST",
"pattern": "/api/agent-revenue-audit",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"priceUsd": "5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": false,
"originEdgeSettlementBypassRequired": false,
"originStillEnforcesX402": true,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"reasonEdgeSettlementDeferred": "This POST route should not be edge-settled until the buyer payload can be validated before charge."
}
],
"allowRules": [
{
"id": "apexscout-free-agent-metadata",
"type": "allow_free",
"patterns": [
"/",
"/docs.json",
"/llms.txt",
"/skill.md",
"/.well-known/agent.json",
"/agent-capabilities.json",
"/api/public-agent",
"/mcp-tool-pack",
"/api/mcp-tool-pack",
"/.well-known/mcp.json",
"/api/agentcore-openapi.json",
"/.well-known/apexscout-monetization-policy.json",
"/api/agent-monetization-policy",
"/.well-known/apexscout-paid-tools.json",
"/api/paid-mcp-tools",
"/agent-wallet-skill-pack",
"/api/agent-wallet-skill-pack",
"/.well-known/apexscout-agent-wallet-skill.json",
"/apexscout-agent-wallet-skill.md",
"/.well-known/apexscout-agent-wallet-skill.md",
"/apify-x402-upstream-readiness",
"/api/apify-x402-upstream-readiness",
"/.well-known/apexscout-apify-x402-upstream.json",
"/cloudflare-monetization-gateway-rules",
"/api/cloudflare-monetization-gateway-rules",
"/.well-known/apexscout-cloudflare-monetization-gateway-rules.json",
"/agent-receipt-contract",
"/api/agent-receipt-contract",
"/.well-known/apexscout-agent-receipt-contract.json",
"/api/cloudflare-billing-rules",
"/.well-known/apexscout-cloudflare-billing-rules.json",
"/api/cloudflare-x402-worker-config",
"/.well-known/apexscout-cloudflare-x402-worker.json"
],
"reason": "Payment-aware agents should inspect policy, prices, and route caps before spend.",
"paidRetryRequired": false
},
{
"id": "apexscout-free-proof-and-preflight",
"type": "allow_free",
"patterns": [
"/x402-proof",
"/api/x402-proof",
"/chat-tiny-payment-flow",
"/api/chat-tiny-payment-flow",
"/api/agent-revenue-audit-builder/action-pack",
"/api/buyer-payment-scope-check",
"/api/buyer-agent-payment-safety",
"/api/x402-security-readiness"
],
"reason": "No-spend proof, preflight, Builder, Scope, and payment-safety surfaces should stay readable.",
"paidRetryRequired": false
}
],
"blockRules": [
{
"id": "apexscout-private-operator-surfaces",
"type": "block_public_access",
"patterns": [
"/admin/*",
"/api/admin/*"
],
"reason": "Private operator surfaces are not public buyer-agent resources.",
"paidRetryAvailable": false
}
],
"workerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"operatorApplyPlan": [
"Confirm the ApexScout zone remains active on Cloudflare and the route remains proxied.",
"Set APEXSCOUT_X402_PAY_TO to the existing ApexScout x402 seller payTo address in Cloudflare secrets or vars.",
"Set APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET as the same shared secret in Cloudflare and Railway.",
"Review cloudflare/x402-proxy/wrangler.jsonc against this API response.",
"Keep Worker changes inside explicit Cloudflare deployment windows.",
"Run unpaid 402 checks first, then one buyer-approved paid 200 proof for the one-cent proof rule when a paid proof is explicitly authorized.",
"Keep Railway-origin x402 as rollback until both edge rules match route, method, price, network, and paid proof."
],
"blockedUntil": [
"One buyer-approved paid HTTP 200 proof is still required before calling the proof route commercially converted.",
"Official Cloudflare managed Monetization Gateway rules are not claimed or required for the current Worker bridge."
],
"safeDryRunCommands": [
"npm run cloudflare:billing-rules:print",
"npm run cloudflare:x402-proxy:smoke",
"npm run cloudflare:x402-proxy:typecheck"
],
"liveApplyCommandTemplate": "npm --prefix cloudflare/x402-proxy run deploy",
"postIntegrationVerificationPlan": [
"GET /status and confirm the current ApexScout release.",
"GET /api/cloudflare-billing-rules and confirm the same paid rule count.",
"GET /api/cloudflare-x402-worker-config and confirm protected pattern prices.",
"Unpaid-check the protected route and confirm HTTP 402 only after an explicit deploy window.",
"Run one buyer-approved paid x402 proof only after the unpaid challenge matches."
],
"noSpendBoundary": {
"packIsFree": true,
"paymentAttemptedByPack": false,
"paidRouteCalledByPack": false,
"cloudflareApiCalledByApexScout": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerDeployedByApexScout": true,
"dnsChangedByApexScout": true,
"packReadChangesCloudflare": false,
"packReadChangesDns": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareX402WorkerConfigAvailable": true,
"cloudflareX402WorkerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"retryDecision": {
"recommendedOnlyForX402CapableClients": true,
"payOnlyIf": "The buyer wants the cheapest live x402 proof and approves the route, $0.01 maximum amount, Base mainnet network, and one retry.",
"stopIf": "The buyer has not approved spend, the client cannot attach x402 payment, the network is not eip155:8453, or the output will not change the next action.",
"ifUnsure": "Stay on the no-spend proof and action-pack surfaces. Do not retry payment just to clear the counter."
},
"approvalChecklist": [
"Buyer approves GET /api/opportunity-check as the route.",
"Buyer approves the $0.01 maximum spend.",
"Buyer approves Base mainnet x402 on eip155:8453.",
"Buyer controls the wallet and chooses whether to retry.",
"Buyer expects HTTP 200 JSON only after the paid retry succeeds."
],
"copyPasteAgentNote": "Unpaid 402 is expected. If the buyer approves a one-cent proof, retry GET /api/opportunity-check with an x402-capable client, max amount 10000 atomic USDC on eip155:8453, and treat only HTTP 200 as completion.",
"paidRetryCommandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof\" \\\n --max-amount 10000 \\\n --json",
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"ifUnpaidRisesWithoutCompletion": "Treat this as proof-route interest without payment. Inspect retry clarity only after repeated windows; do not add another paid route.",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"confidencePacketIsFree": true,
"opensPaidRouteByItself": false,
"paymentAttemptedByConfidencePacket": false,
"walletConnectionRequiredForConfidencePacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"http402ReadinessReceiptAvailable": true,
"http402ReadinessReceipt": {
"available": true,
"mode": "no-spend-http-402-readiness-receipt",
"title": "HTTP 402 Readiness Receipt",
"purpose": "Give x402-capable buyers a compact, unsigned receipt showing what the unpaid proof challenge proves before any buyer-controlled paid retry.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"url": "https://apexscout.ai/api/opportunity-check",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"agentExecutionProofPacketAvailable": true,
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"receiptScope": "GET /api/opportunity-check, $0.01 maximum amount, eip155:8453 Base mainnet x402, one buyer-controlled retry.",
"receiptSummary": "Unpaid HTTP 402 proves the x402 proof route is reachable and returning payment requirements. It does not prove payment, revenue, endorsement, or buyer approval.",
"agentDecision": {
"payOnlyIf": "The buyer explicitly approves the route, max amount, network, and one retry from a wallet-controlled x402 client.",
"stopIf": "The buyer has not approved spend, the client cannot attach x402 payment, the route or network differs, or HTTP 402 is being treated as a paid completion.",
"nextNoSpendStep": "Stay on ApexScout proof, action-pack, Scope Check, or Builder surfaces until buyer-controlled payment is intentionally approved."
},
"readinessChecks": [
"Route scoped to GET /api/opportunity-check.",
"Amount scoped to $0.01 / 10000 atomic USDC.",
"Network scoped to Base mainnet eip155:8453.",
"HTTP 402 is expected before payment.",
"HTTP 200 is required before paid completion is counted.",
"No request body, cookies, session, or wallet connection is required to read this receipt.",
"No buyer-level data is exposed by this receipt.",
"No automatic payment or paid retry is performed by ApexScout."
],
"publicSafetyCopy": "This is an unsigned no-spend readiness receipt, not AP2 proof, not a signed mandate, not a legal or payment receipt, not an endorsement claim, and not trading, investment, tax, legal, lending, or compliance advice.",
"notClaims": {
"signedReceiptCreated": false,
"ap2ProofCreated": false,
"legalMandateCreated": false,
"paymentReceiptCreated": false,
"walletApprovalCreated": false,
"officialEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false
},
"noSpendBoundary": {
"receiptIsFree": true,
"opensPaidRouteByItself": false,
"paymentAttemptedByReceipt": false,
"paidRouteCalledByReceipt": false,
"paidUpstreamCalls": false,
"walletConnectionRequiredForReceipt": false,
"automaticSpending": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
},
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"receiptUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"copyPasteReceiptSummary": "HTTP 402 readiness receipt: GET /api/opportunity-check is reachable, costs max $0.01 on eip155:8453 only after buyer-controlled x402 retry, and counts as paid only when HTTP 200 returns."
},
"proofRetryDecisionStripAvailable": true,
"proofRetryDecisionStrip": {
"available": true,
"mode": "buyer-controlled-proof-retry-decision-strip",
"title": "Buyer-controlled proof retry gate",
"purpose": "Compress the next click after an unpaid 402 into a clear continue/stop decision for x402-capable buyers.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"url": "https://apexscout.ai/api/opportunity-check",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"agentExecutionProofPacketAvailable": true,
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"decisionSummary": "Continue only if buyer approval, x402 wallet capability, exact route, exact amount, and Base mainnet network all match.",
"continueIf": [
"Buyer explicitly approves this exact $0.01 proof.",
"Client can attach x402 payment on Base mainnet eip155:8453.",
"Route is exactly GET /api/opportunity-check.",
"Max amount is exactly 10000 atomic USDC.",
"Buyer understands only HTTP 200 counts as a paid proof completion."
],
"stopIf": [
"Buyer has not approved spend.",
"Client is a normal browser without x402 payment support.",
"Route, amount, or network differs from the receipt.",
"The buyer is treating unpaid HTTP 402 as revenue or completion.",
"The output will not change the buyer's next action."
],
"primaryAction": {
"label": "Request unpaid proof challenge",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"normalBrowserResult": "HTTP 402 JSON with x402 payment requirements",
"x402CapableResult": "HTTP 200 JSON only after buyer-controlled paid retry",
"noPaymentOnClick": true,
"paidRetryRequiresBuyerWallet": true
},
"fallbackNoSpendActions": [
"/x402-proof",
"/api/agent-revenue-audit-builder/action-pack",
"/buyer-payment-scope-check",
"/chat-tiny-payment-flow"
],
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"decisionStripUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"decisionStripIsFree": true,
"paymentAttemptedByDecisionStrip": false,
"paidRouteCalledByDecisionStrip": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"agentExecutionProofPacketAvailable": true,
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"agentExecutionProofCtaAvailable": true,
"agentExecutionProofCta": {
"available": true,
"mode": "promoted-buyer-executable-proof-cta",
"title": "Buyer-run proof packet",
"label": "Run with buyer-approved x402 wallet",
"copy": "Wallet-capable buyers can use the exact one-cent proof packet now. ApexScout only exposes the packet; the buyer wallet decides whether to pay.",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"method": "GET",
"route": "/api/opportunity-check",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"conversionBet": "Promote the already-safe buyer-execution packet above passive proof copy so x402-capable clients have one obvious next action.",
"successMetric": "opportunityCheckGetProofCompletions",
"unpaidSourceBucket": "agentExecutionProofPacket",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"buyerDecision": {
"continueOnlyIf": "The buyer approves the route, amount, network, and one retry from an x402-capable wallet runtime.",
"stopIf": "Approval is missing, the client cannot attach x402 payment, or the route/amount/network differs."
},
"noSpendBoundary": {
"ctaIsFreeToRead": true,
"normalBrowserGetsUnpaid402": true,
"paymentAttemptedByCta": false,
"paidRouteCalledByApexScout": false,
"automaticSpending": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"walletReadinessStripAvailable": true,
"walletReadinessStrip": {
"available": true,
"mode": "buyer-wallet-readiness-strip",
"title": "Before you run the command",
"checklist": [
"Your x402 wallet/client is authenticated.",
"Your wallet has at least $0.01 USDC available on Base.",
"You approve the route: GET /api/opportunity-check.",
"You approve the max amount: 10000 atomic USDC.",
"You understand unpaid HTTP 402 is not revenue.",
"You understand paid proof means HTTP 200 after your own wallet retry."
],
"copy": "ApexScout does not run this command for you. Your buyer-controlled wallet decides whether to spend.",
"route": "/api/opportunity-check",
"method": "GET",
"amountAtomicUsdc": "10000",
"priceUsd": "0.01",
"network": "eip155:8453",
"noFundingAdvice": true,
"noTradingAdvice": true,
"noPrivateKeyAdvice": true,
"noOnrampAdvice": true,
"noSpendBoundary": {
"stripIsFree": true,
"paymentAttemptedByStrip": false,
"paidRouteCalledByStrip": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"buyerAgentCommandCopyAvailable": true,
"buyerAgentCommandCopy": {
"available": true,
"mode": "buyer-agent-command-copy",
"title": "Wallet-ready? Copy this command",
"command": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"requestBodyRequired": false,
"walletMustBeAuthenticated": true,
"walletNeedsSufficientUsdc": true,
"apexScoutRunsCommand": false,
"copyingIsPayment": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"sourceBucketCompatibility": {
"oldPacketSourceStillSupported": "agent-execution-proof-packet",
"newCommandCopySource": "agent-execution-command-copy",
"unpaidSourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"topSourceTagsCounter": "opportunityCheckGetProofUnpaidTopSourceTags"
},
"microcopy": "Copying is not payment. Running this command from your own authenticated wallet may spend up to 10000 atomic USDC if you approve it.",
"prerequisites": [
"Authenticated x402 wallet/client.",
"At least $0.01 USDC on Base."
],
"approvalCopy": "This command can spend up to 10000 atomic USDC only if your buyer wallet approves.",
"copyingIsNotPaymentCopy": "Copying this command is not payment.",
"apexScoutRunsCommandCopy": "ApexScout does not run this command.",
"unpaidChallengeCopy": "Unpaid HTTP 402 is expected before payment.",
"paidCompletionCopy": "Paid proof completes only when your buyer-controlled x402 retry returns HTTP 200.",
"placement": {
"x402Proof": "above-proof-detail-sections",
"chatTinyPaymentFlow": "above-chat-flow-detail-sections",
"primaryForWalletCapableAgents": true,
"normalNoSpendPathRemainsPrimary": true
},
"buttons": [
{
"label": "Copy command",
"copies": "command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy route only",
"copies": "route",
"value": "/api/opportunity-check?src=agent-execution-command-copy",
"executesPayment": false,
"opensPaidRoute": false
}
],
"telemetry": {
"commandCopyTelemetryAdded": false,
"skippedReason": "The release keeps the buttons copy-only and avoids adding a client-side analytics call; the new source tag is still available when a buyer-run agent command reaches the unpaid 402 route.",
"copyIsRevenue": false,
"copyIsPayment": false,
"unpaidChallengeSourceBucket": "agentExecutionCommandCopy"
},
"noSpendBoundary": {
"copyPanelIsFree": true,
"copyingExecutesPayment": false,
"copyingOpensPaidRoute": false,
"paidRouteCalledByCopyPanel": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"privateKeysRequested": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false
}
},
"agentReceiptCloseStripAvailable": true,
"agentReceiptCloseStrip": {
"available": true,
"mode": "agent-receipt-close-strip",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Receipt rule accepted? Copy the proof command",
"purpose": "Put the Agent Receipt Contract directly beside the buyer-agent payment command so x402-capable clients know the exact proof standard before retrying.",
"sourceTag": "agent-receipt-contract",
"sourceBucket": "agentReceiptContract",
"method": "GET",
"route": "/api/opportunity-check",
"href": "/api/opportunity-check?src=agent-receipt-contract",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract",
"command": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"routeWithSource": "/api/opportunity-check?src=agent-receipt-contract",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"firstScreenPlacement": {
"x402Proof": "before-wallet-command-copy",
"chatTinyPaymentFlow": "before-wallet-command-copy",
"makeReceiptRuleVisibleBeforePaymentCommand": true,
"normalNoSpendPathRemainsPrimary": true
},
"receiptRule": {
"payOnlyIf": "Your buyer agent accepts that only HTTP 200 after a buyer-controlled x402 retry counts as paid proof.",
"rejectIf": "The client treats HTTP 402, copied text, monitor reads, route mismatch, amount mismatch, network mismatch, or repeated retry loops as proof.",
"unpaid402IsNotRevenue": true,
"paidProofRequiresHttp200": true,
"buyerControlsWalletAndRetry": true,
"stopAfterOneSuccessfulPaidResponse": true
},
"visibleBuyerCopy": [
"Accept the receipt rule before copying the command.",
"HTTP 402 is only the unpaid challenge.",
"HTTP 200 after your buyer-controlled retry is the paid proof.",
"ApexScout does not run this command and does not control the wallet."
],
"buttons": [
{
"label": "Copy receipt-bound command",
"copies": "command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy receipt route",
"copies": "route",
"value": "/api/opportunity-check?src=agent-receipt-contract",
"executesPayment": false,
"opensPaidRoute": false
}
],
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentReceiptContract",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"successSignal": "agentReceiptContract source bucket moves only when a buyer/client requests the paid proof route with the receipt-contract source tag."
},
"noSpendBoundary": {
"closeStripIsFree": true,
"copyingExecutesPayment": false,
"copyingOpensPaidRoute": false,
"paymentAttemptedByCloseStrip": false,
"paidRouteCalledByCloseStrip": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"privateKeysRequested": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false
}
},
"buyerWalletCloseAvailable": true,
"buyerWalletClose": {
"available": true,
"mode": "buyer-wallet-close",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Can your wallet pay now?",
"purpose": "Separate wallet-ready buyers from buyers who still need setup before the one-cent proof retry.",
"route": "/api/buyer-wallet-close-intent",
"method": "GET",
"routeIsFree": true,
"sourceTags": {
"walletReady": "agent-receipt-contract",
"cannotPayYet": "agent-wallet-skill-pack",
"copyPaidProofCommand": "agent-execution-command-copy",
"copyReceiptBoundCommand": "agent-receipt-contract",
"copyWalletSetupCommand": "agent-wallet-skill-pack"
},
"actions": {
"walletReady": {
"action": "wallet_ready",
"path": "/api/buyer-wallet-close-intent?action=wallet_ready&src=agent-receipt-contract",
"url": "https://apexscout.ai/api/buyer-wallet-close-intent?action=wallet_ready&src=agent-receipt-contract",
"method": "GET",
"sourceTag": "agent-receipt-contract",
"executesPayment": false,
"opensPaidRoute": false
},
"cannotPayYet": {
"action": "cannot_pay_yet",
"path": "/api/buyer-wallet-close-intent?action=cannot_pay_yet&src=agent-wallet-skill-pack",
"url": "https://apexscout.ai/api/buyer-wallet-close-intent?action=cannot_pay_yet&src=agent-wallet-skill-pack",
"method": "GET",
"sourceTag": "agent-wallet-skill-pack",
"executesPayment": false,
"opensPaidRoute": false
},
"copyPaidProofCommand": {
"action": "copy_paid_proof_command",
"path": "/api/buyer-wallet-close-intent?action=copy_paid_proof_command&src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/buyer-wallet-close-intent?action=copy_paid_proof_command&src=agent-execution-command-copy",
"method": "GET",
"sourceTag": "agent-execution-command-copy",
"executesPayment": false,
"opensPaidRoute": false
},
"copyReceiptBoundCommand": {
"action": "copy_receipt_bound_command",
"path": "/api/buyer-wallet-close-intent?action=copy_receipt_bound_command&src=agent-receipt-contract",
"url": "https://apexscout.ai/api/buyer-wallet-close-intent?action=copy_receipt_bound_command&src=agent-receipt-contract",
"method": "GET",
"sourceTag": "agent-receipt-contract",
"executesPayment": false,
"opensPaidRoute": false
},
"copyWalletSetupCommand": {
"action": "copy_wallet_setup_command",
"path": "/api/buyer-wallet-close-intent?action=copy_wallet_setup_command&src=agent-wallet-skill-pack",
"url": "https://apexscout.ai/api/buyer-wallet-close-intent?action=copy_wallet_setup_command&src=agent-wallet-skill-pack",
"method": "GET",
"sourceTag": "agent-wallet-skill-pack",
"executesPayment": false,
"opensPaidRoute": false
}
},
"visibleBuyerCopy": [
"Choose the wallet state before copying a command.",
"This signal is a free GET request and does not open the paid route.",
"If the wallet is ready, copy the command and run it only from the buyer-controlled wallet.",
"If the wallet is not ready, stop before payment and fix wallet authentication, balance, route, amount, or network."
],
"paidProofCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"receiptBoundCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"walletSetupNote": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof.",
"buttons": [
{
"label": "I can pay now",
"action": "wallet_ready",
"copies": null,
"value": null,
"intentPath": "/api/buyer-wallet-close-intent?action=wallet_ready&src=agent-receipt-contract",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "I can't pay yet",
"action": "cannot_pay_yet",
"copies": null,
"value": null,
"intentPath": "/api/buyer-wallet-close-intent?action=cannot_pay_yet&src=agent-wallet-skill-pack",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy paid proof command",
"action": "copy_paid_proof_command",
"copies": "command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"intentPath": "/api/buyer-wallet-close-intent?action=copy_paid_proof_command&src=agent-execution-command-copy",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy receipt-bound command",
"action": "copy_receipt_bound_command",
"copies": "command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"intentPath": "/api/buyer-wallet-close-intent?action=copy_receipt_bound_command&src=agent-receipt-contract",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy wallet setup note",
"action": "copy_wallet_setup_command",
"copies": "wallet_setup_note",
"value": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof.",
"intentPath": "/api/buyer-wallet-close-intent?action=copy_wallet_setup_command&src=agent-wallet-skill-pack",
"executesPayment": false,
"opensPaidRoute": false
}
],
"telemetryInterpretation": {
"mode": "aggregate-only-buyer-wallet-close-intent",
"counter": "buyerWalletCloseSignals.walletCloseIntentEvents",
"walletReadyCounter": "buyerWalletCloseSignals.walletReadyIntent",
"cannotPayYetCounter": "buyerWalletCloseSignals.cannotPayYet",
"copyPaidProofCommandCounter": "buyerWalletCloseSignals.copyPaidProofCommand",
"copyReceiptBoundCommandCounter": "buyerWalletCloseSignals.copyReceiptBoundCommand",
"copyWalletSetupCommandCounter": "buyerWalletCloseSignals.copyWalletSetupCommand",
"intentIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"firstScreenPlacement": {
"x402Proof": "before-receipt-and-command-copy",
"chatTinyPaymentFlow": "before-receipt-and-command-copy",
"walletStateVisibleBeforePaymentCommand": true,
"normalNoSpendPathRemainsPrimary": true
},
"noSpendBoundary": {
"panelIsFree": true,
"intentRouteIsFree": true,
"intentRouteMethod": "GET",
"copyingExecutesPayment": false,
"clickingStateExecutesPayment": false,
"clickingStateOpensPaidRoute": false,
"paidRouteCalledByPanel": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"privateKeysRequested": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false
}
},
"http402ClosePacketAvailable": true,
"http402ClosePacket": {
"available": true,
"mode": "buyer-agent-402-close-packet",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "402 close packet",
"purpose": "Put the buyer-agent close instructions inside the unpaid HTTP 402 response so x402-capable clients can finish the proof without hunting through a page.",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"command": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"closeMessage": "You reached the ApexScout paid proof gate. To complete the proof, retry this exact GET route from an authenticated x402 wallet/client with max amount 10000 atomic USDC on Base mainnet.",
"buyerAgentInstruction": "If the buyer approved this one-cent proof, run the command exactly once and treat only HTTP 200 as the paid completion. If any route, amount, network, or approval detail differs, stop.",
"whatHttp200Proves": [
"The buyer-controlled x402 retry reached ApexScout's one-cent proof route.",
"The paid route returned structured JSON after payment verification.",
"The aggregate paid proof completion counter is allowed to move only after HTTP 200."
],
"notProofOf": [
"Coinbase, AWS, Stripe, Bazaar, AgentCore, Base, marketplace, or protocol endorsement.",
"Guaranteed revenue, trading results, investment outcome, legal advice, tax advice, lending advice, or compliance approval.",
"Buyer identity, wallet-level activity, secret signing material, or broader permission to spend."
],
"continueIf": [
"The buyer explicitly approved this one-cent proof.",
"The client can attach an x402 payment authorization.",
"The retry route is exactly GET /api/opportunity-check?src=agent-execution-command-copy.",
"The max amount is exactly 10000 atomic USDC.",
"The network is exactly eip155:8453."
],
"stopIf": [
"The wallet is not authenticated.",
"The wallet has insufficient USDC on Base.",
"The client cannot attach x402 payment.",
"The max amount is lower than 10000 atomic USDC.",
"The network is not eip155:8453.",
"The buyer did not approve this exact spend.",
"The agent plans to retry more than once just to clear a metric."
],
"failureBranches": {
"walletNotAuthenticated": {
"bucket": "wallet_not_authenticated",
"buyerAction": "Authenticate the buyer-controlled x402 wallet/client before retrying.",
"apexScoutAction": "Do nothing automatically."
},
"insufficientBaseUsdc": {
"bucket": "insufficient_base_usdc",
"buyerAction": "Stop until the buyer-controlled wallet has enough Base USDC for the one-cent proof.",
"apexScoutAction": "Do not fund, trade, onramp, or advise funding."
},
"maxAmountTooLow": {
"bucket": "max_amount_too_low",
"buyerAction": "Use max amount 10000 atomic USDC or stop.",
"apexScoutAction": "Do not lower route price or change payment requirements."
},
"wrongNetwork": {
"bucket": "wrong_network",
"buyerAction": "Use eip155:8453 Base mainnet or stop.",
"apexScoutAction": "Do not switch rails."
},
"paymentDeclined": {
"bucket": "payment_declined",
"buyerAction": "Stop unless the buyer explicitly approves another attempt.",
"apexScoutAction": "Do not retry payment for the buyer."
}
},
"telemetryInterpretation": {
"sourceTag": "agent-execution-command-copy",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionCommandCopy",
"closePacketUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"closePacketIsFree": true,
"closePacketExecutesPayment": false,
"paymentAttemptedByClosePacket": false,
"paidRouteCalledByClosePacket": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false,
"secretSigningMaterialRequested": false
}
},
"buyerProofExecutionCloseoutAvailable": true,
"buyerProofExecutionCloseout": {
"available": true,
"mode": "buyer-proof-execution-closeout",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Copied? Finish with one buyer-run proof retry",
"purpose": "Close the gap after a buyer agent marks its wallet ready or copies the command: run exactly one buyer-approved proof retry, classify the response, then stop.",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-receipt-contract",
"method": "GET",
"href": "/api/opportunity-check?src=agent-receipt-contract",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"primarySourceTag": "agent-receipt-contract",
"primarySourceBucket": "agentReceiptContract",
"commandCopySourceTag": "agent-execution-command-copy",
"commandCopySourceBucket": "agentExecutionCommandCopy",
"buyerWalletCloseSignalCounter": "buyerWalletCloseSignals.walletCloseIntentEvents",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"firstScreenPlacement": {
"x402Proof": "after-wallet-close-before-receipt-command",
"chatTinyPaymentFlow": "after-wallet-close-before-receipt-command",
"closeoutVisibleBeforeCommandCopy": true,
"normalNoSpendPathRemainsPrimary": true
},
"closeoutRule": {
"ifWalletReadyAndCommandCopied": "Run the receipt-bound command exactly once from the buyer-controlled x402 wallet if the buyer approved the route, amount, and network.",
"ifCannotPayYet": "Do not retry payment. Use the wallet setup note and stop until wallet authentication, Base USDC balance, route, amount, and network match.",
"ifResponseIs402": "Treat the result as unpaid. It is a challenge, not a paid proof, and it should not move revenue.",
"ifResponseIs200": "Treat the result as paid proof only after the buyer-controlled x402 retry returns structured HTTP 200 JSON.",
"ifRetryIsRejected": "Read the sanitized edge failure status once, classify the rejection, and stop before another paid attempt.",
"stopAfter": "one buyer-approved paid retry unless a human operator explicitly approves another capped diagnostic"
},
"buyerAgentChecklist": [
"Wallet is authenticated by the buyer, not ApexScout.",
"Buyer approves GET /api/opportunity-check with source agent-receipt-contract.",
"Maximum spend is exactly 10000 atomic USDC.",
"Network is exactly eip155:8453 Base mainnet.",
"Run one retry, then classify HTTP 402, HTTP 200, or a sanitized edge failure."
],
"copyReadyCommands": {
"receiptBoundProofCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"commandCopyProofCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"edgeFailureReadCommand": "curl -s \"https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure\"",
"walletSetupNote": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof."
},
"safeReadouts": {
"edgeHealthPath": "/__apexscout/cloudflare-x402/health",
"edgeLastFailurePath": "/__apexscout/cloudflare-x402/health/last-failure",
"edgeLastFailureUrl": "https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure",
"originLastFailurePath": "/api/cloudflare-x402-edge-failure/last",
"originLastFailureUrl": "https://apexscout.ai/api/cloudflare-x402-edge-failure/last",
"noPaymentAttemptedByRead": true,
"buyerLevelDataExposed": false,
"rawPaymentPayloadExposed": false,
"privateKeysRequested": false
},
"buttons": [
{
"label": "Copy receipt-bound proof command",
"copies": "receipt_bound_command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy edge failure readout",
"copies": "edge_failure_read_command",
"value": "curl -s \"https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure\"",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy wallet setup note",
"copies": "wallet_setup_note",
"value": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof.",
"executesPayment": false,
"opensPaidRoute": false
}
],
"telemetryInterpretation": {
"walletReadyCounter": "buyerWalletCloseSignals.walletReadyIntent",
"copyPaidProofCommandCounter": "buyerWalletCloseSignals.copyPaidProofCommand",
"copyReceiptBoundCommandCounter": "buyerWalletCloseSignals.copyReceiptBoundCommand",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"failureReadoutIsRevenue": false,
"copyIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"newCounterAdded": false,
"reason": "The closeout reuses existing aggregate wallet-close, source-bucket, and paid-completion counters so it improves decision clarity without creating fake movement."
},
"noSpendBoundary": {
"closeoutIsFree": true,
"closeoutExecutesPayment": false,
"copyingExecutesPayment": false,
"copyingOpensPaidRoute": false,
"failureReadoutExecutesPayment": false,
"failureReadoutCallsPaidRoute": false,
"paymentAttemptedByCloseout": false,
"paidRouteCalledByCloseout": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"productionPostCreated": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false,
"cloudflareMutationCreated": false,
"apifyActorRunCreated": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"privateKeysRequested": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false,
"rawPaymentPayloadExposed": false
},
"safetyClaims": {
"guaranteedRevenueClaimed": false,
"officialEndorsementClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareMonetizationGatewayReadinessAvailable": true,
"cloudflareMonetizationGatewayReadiness": {
"available": true,
"mode": "cloudflare-monetization-gateway-readiness",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare live edge status",
"releaseReportingMode": "worker-and-origin-split",
"appRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"originRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"originReleasePath": "/status",
"workerRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"workerSourceVersion": "2.2.179",
"workerHealthReleaseContract": {
"healthPath": "/__apexscout/cloudflare-x402/health",
"releaseFieldMeans": "workerRelease",
"workerReleaseField": "workerRelease",
"originReleaseField": "originRelease",
"originReleasePath": "/status",
"originReleaseReadIsNoSpend": true,
"mismatchIsActionableOnlyWhenWorkerHealthFails": true
},
"sourceSignal": {
"name": "Cloudflare Monetization Gateway",
"sourceUrl": "https://blog.cloudflare.com/monetization-gateway/",
"articleUrl": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving x402 payment enforcement toward edge-managed route rules. ApexScout now serves the one-cent proof path through a narrow Cloudflare Worker while keeping Railway as the origin fallback."
},
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"officialCloudflareMonetizationGatewayClaimed": false,
"officialCloudflareEndorsementClaimed": false,
"cloudflareBillingRulesPackAvailable": true,
"cloudflareBillingRulesPath": "/api/cloudflare-billing-rules",
"cloudflareBillingRulesWellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"cloudflareX402WorkerConfigAvailable": true,
"cloudflareX402WorkerConfigPath": "/api/cloudflare-x402-worker-config",
"cloudflareX402WorkerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"cloudflareBillingRulesPack": {
"available": true,
"mode": "cloudflare-billing-rules-pack",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare billing rules pack",
"purpose": "Document ApexScout's live Cloudflare edge Worker route and existing x402 paid-route policy without changing price, seller wallet, or buyer-controlled payment rules.",
"apiPath": "/api/cloudflare-billing-rules",
"wellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"workerConfigPath": "/api/cloudflare-x402-worker-config",
"workerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceSignals": [
{
"name": "Cloudflare Monetization Gateway",
"url": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving toward edge-managed payment rules, including route-level x402 enforcement."
},
{
"name": "Cloudflare x402 proxy",
"url": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"interpretedAs": "A Cloudflare Worker can sit in front of an existing HTTP origin, return 402, verify x402 payment, and forward the approved request."
},
{
"name": "Cloudflare Pay Per Crawl",
"url": "https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/",
"interpretedAs": "Cloudflare's crawler billing direction reinforces clear allow, charge, and block rules for automated clients."
}
],
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"cloudflareWorkerConfigPrepared": true,
"cloudflareRulesCreated": true,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRulesCreated": false,
"officialCloudflareEndorsementClaimed": false,
"monetizationGatewayApiPubliclyAvailable": false,
"monetizationGatewayApiStatus": "planned-or-early-access",
"currentDeployableOption": "cloudflare-x402-edge-settlement-worker",
"originFallbackRequired": true,
"originStillEnforcesX402": true,
"originEdgeSettlementBridgePrepared": true,
"edgeSettlementEligiblePaidRuleCount": 1,
"originAuthoritativePaidRuleCount": 1,
"billingRuleCount": 5,
"paidBillingRuleCount": 2,
"freeAllowRuleCount": 2,
"blockRuleCount": 1,
"paidRules": [
{
"id": "apexscout-one-cent-proof",
"type": "charge_x402",
"method": "GET",
"pattern": "/api/opportunity-check",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": true,
"originEdgeSettlementBypassRequired": true,
"originStillEnforcesX402": false,
"liveRuleMode": "edge-settled-with-signed-origin-bridge"
},
{
"id": "apexscout-agent-revenue-audit",
"type": "charge_x402",
"method": "POST",
"pattern": "/api/agent-revenue-audit",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"priceUsd": "5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": false,
"originEdgeSettlementBypassRequired": false,
"originStillEnforcesX402": true,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"reasonEdgeSettlementDeferred": "This POST route should not be edge-settled until the buyer payload can be validated before charge."
}
],
"allowRules": [
{
"id": "apexscout-free-agent-metadata",
"type": "allow_free",
"patterns": [
"/",
"/docs.json",
"/llms.txt",
"/skill.md",
"/.well-known/agent.json",
"/agent-capabilities.json",
"/api/public-agent",
"/mcp-tool-pack",
"/api/mcp-tool-pack",
"/.well-known/mcp.json",
"/api/agentcore-openapi.json",
"/.well-known/apexscout-monetization-policy.json",
"/api/agent-monetization-policy",
"/.well-known/apexscout-paid-tools.json",
"/api/paid-mcp-tools",
"/agent-wallet-skill-pack",
"/api/agent-wallet-skill-pack",
"/.well-known/apexscout-agent-wallet-skill.json",
"/apexscout-agent-wallet-skill.md",
"/.well-known/apexscout-agent-wallet-skill.md",
"/apify-x402-upstream-readiness",
"/api/apify-x402-upstream-readiness",
"/.well-known/apexscout-apify-x402-upstream.json",
"/cloudflare-monetization-gateway-rules",
"/api/cloudflare-monetization-gateway-rules",
"/.well-known/apexscout-cloudflare-monetization-gateway-rules.json",
"/agent-receipt-contract",
"/api/agent-receipt-contract",
"/.well-known/apexscout-agent-receipt-contract.json",
"/api/cloudflare-billing-rules",
"/.well-known/apexscout-cloudflare-billing-rules.json",
"/api/cloudflare-x402-worker-config",
"/.well-known/apexscout-cloudflare-x402-worker.json"
],
"reason": "Payment-aware agents should inspect policy, prices, and route caps before spend.",
"paidRetryRequired": false
},
{
"id": "apexscout-free-proof-and-preflight",
"type": "allow_free",
"patterns": [
"/x402-proof",
"/api/x402-proof",
"/chat-tiny-payment-flow",
"/api/chat-tiny-payment-flow",
"/api/agent-revenue-audit-builder/action-pack",
"/api/buyer-payment-scope-check",
"/api/buyer-agent-payment-safety",
"/api/x402-security-readiness"
],
"reason": "No-spend proof, preflight, Builder, Scope, and payment-safety surfaces should stay readable.",
"paidRetryRequired": false
}
],
"blockRules": [
{
"id": "apexscout-private-operator-surfaces",
"type": "block_public_access",
"patterns": [
"/admin/*",
"/api/admin/*"
],
"reason": "Private operator surfaces are not public buyer-agent resources.",
"paidRetryAvailable": false
}
],
"workerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"operatorApplyPlan": [
"Confirm the ApexScout zone remains active on Cloudflare and the route remains proxied.",
"Set APEXSCOUT_X402_PAY_TO to the existing ApexScout x402 seller payTo address in Cloudflare secrets or vars.",
"Set APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET as the same shared secret in Cloudflare and Railway.",
"Review cloudflare/x402-proxy/wrangler.jsonc against this API response.",
"Keep Worker changes inside explicit Cloudflare deployment windows.",
"Run unpaid 402 checks first, then one buyer-approved paid 200 proof for the one-cent proof rule when a paid proof is explicitly authorized.",
"Keep Railway-origin x402 as rollback until both edge rules match route, method, price, network, and paid proof."
],
"blockedUntil": [
"One buyer-approved paid HTTP 200 proof is still required before calling the proof route commercially converted.",
"Official Cloudflare managed Monetization Gateway rules are not claimed or required for the current Worker bridge."
],
"safeDryRunCommands": [
"npm run cloudflare:billing-rules:print",
"npm run cloudflare:x402-proxy:smoke",
"npm run cloudflare:x402-proxy:typecheck"
],
"liveApplyCommandTemplate": "npm --prefix cloudflare/x402-proxy run deploy",
"postIntegrationVerificationPlan": [
"GET /status and confirm the current ApexScout release.",
"GET /api/cloudflare-billing-rules and confirm the same paid rule count.",
"GET /api/cloudflare-x402-worker-config and confirm protected pattern prices.",
"Unpaid-check the protected route and confirm HTTP 402 only after an explicit deploy window.",
"Run one buyer-approved paid x402 proof only after the unpaid challenge matches."
],
"noSpendBoundary": {
"packIsFree": true,
"paymentAttemptedByPack": false,
"paidRouteCalledByPack": false,
"cloudflareApiCalledByApexScout": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerDeployedByApexScout": true,
"dnsChangedByApexScout": true,
"packReadChangesCloudflare": false,
"packReadChangesDns": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareX402WorkerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"waitlistOrEarlyAccessRequired": false,
"noDnsChangeMade": false,
"dnsChangedByLiveCutover": true,
"noCloudflareApiCallMade": false,
"noCloudflareApiCallMadeByRead": true,
"noPaymentRuleCreated": false,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"noPaidRouteChanged": true,
"noPriceChanged": true,
"noSellerWalletChanged": true,
"noPaymentRailChanged": true,
"apexScoutRemainsSourceOfTruth": true,
"candidateRules": [
{
"id": "apexscout-one-cent-proof",
"purpose": "Edge-readable one-cent x402 proof route for wallet-capable buyer agents.",
"method": "GET",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"amountAtomicUsdc": "10000",
"priceUsd": "0.01",
"displayPrice": "$0.01",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerApprovalRequired": true,
"currentOriginStillEnforcesX402": true,
"gatewayCanMirrorButNotOverrideOrigin": true
},
{
"id": "apexscout-agent-revenue-audit",
"purpose": "Higher-value builder monetization audit route.",
"method": "POST",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"amountAtomicUsdc": "5000000",
"priceUsd": "5.00",
"displayPrice": "$5.00",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerApprovalRequired": true,
"currentOriginStillEnforcesX402": true,
"gatewayCanMirrorButNotOverrideOrigin": true
}
],
"migrationPlan": [
"Keep the Cloudflare Worker route narrow and use Railway as the origin fallback.",
"Use these candidate rules as the review checklist before any future official managed-gateway change.",
"Require unpaid HTTP 402 and buyer-controlled HTTP 200 proof for each route after any edge or gateway change.",
"Keep ApexScout aggregate metrics as the public conversion truth source.",
"Roll back to Railway-origin x402 if route, amount, network, or payment proof differs."
],
"operatorChecklist": {
"dnsChangeApproved": true,
"cloudflareApiTokenApproved": true,
"gatewayRuleCreationApproved": true,
"postDeployPaidProofRequiredBeforeClaimingGatewayLive": true,
"originFallbackRequired": true,
"compareGatewayRulesToCandidateRules": true
},
"noSpendBoundary": {
"readinessPacketIsFree": true,
"paymentAttemptedByReadinessPacket": false,
"paidRouteCalledByReadinessPacket": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerRouteCreated": true,
"cloudflareApiCalled": false,
"dnsChanged": false,
"dnsAlreadyProxiedThroughCloudflare": true,
"workerAlreadyDeployed": true,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"revenueOutcomeClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
},
"telemetryInterpretation": {
"readinessUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"watchCounters": "If unpaid proof counters move without paid completions, treat it as proof-route interest, not gateway success."
}
},
"cloudflareBillingRulesPackAvailable": true,
"cloudflareBillingRulesPack": {
"available": true,
"mode": "cloudflare-billing-rules-pack",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare billing rules pack",
"purpose": "Document ApexScout's live Cloudflare edge Worker route and existing x402 paid-route policy without changing price, seller wallet, or buyer-controlled payment rules.",
"apiPath": "/api/cloudflare-billing-rules",
"wellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"workerConfigPath": "/api/cloudflare-x402-worker-config",
"workerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceSignals": [
{
"name": "Cloudflare Monetization Gateway",
"url": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving toward edge-managed payment rules, including route-level x402 enforcement."
},
{
"name": "Cloudflare x402 proxy",
"url": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"interpretedAs": "A Cloudflare Worker can sit in front of an existing HTTP origin, return 402, verify x402 payment, and forward the approved request."
},
{
"name": "Cloudflare Pay Per Crawl",
"url": "https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/",
"interpretedAs": "Cloudflare's crawler billing direction reinforces clear allow, charge, and block rules for automated clients."
}
],
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"cloudflareWorkerConfigPrepared": true,
"cloudflareRulesCreated": true,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRulesCreated": false,
"officialCloudflareEndorsementClaimed": false,
"monetizationGatewayApiPubliclyAvailable": false,
"monetizationGatewayApiStatus": "planned-or-early-access",
"currentDeployableOption": "cloudflare-x402-edge-settlement-worker",
"originFallbackRequired": true,
"originStillEnforcesX402": true,
"originEdgeSettlementBridgePrepared": true,
"edgeSettlementEligiblePaidRuleCount": 1,
"originAuthoritativePaidRuleCount": 1,
"billingRuleCount": 5,
"paidBillingRuleCount": 2,
"freeAllowRuleCount": 2,
"blockRuleCount": 1,
"paidRules": [
{
"id": "apexscout-one-cent-proof",
"type": "charge_x402",
"method": "GET",
"pattern": "/api/opportunity-check",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": true,
"originEdgeSettlementBypassRequired": true,
"originStillEnforcesX402": false,
"liveRuleMode": "edge-settled-with-signed-origin-bridge"
},
{
"id": "apexscout-agent-revenue-audit",
"type": "charge_x402",
"method": "POST",
"pattern": "/api/agent-revenue-audit",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"priceUsd": "5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": false,
"originEdgeSettlementBypassRequired": false,
"originStillEnforcesX402": true,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"reasonEdgeSettlementDeferred": "This POST route should not be edge-settled until the buyer payload can be validated before charge."
}
],
"allowRules": [
{
"id": "apexscout-free-agent-metadata",
"type": "allow_free",
"patterns": [
"/",
"/docs.json",
"/llms.txt",
"/skill.md",
"/.well-known/agent.json",
"/agent-capabilities.json",
"/api/public-agent",
"/mcp-tool-pack",
"/api/mcp-tool-pack",
"/.well-known/mcp.json",
"/api/agentcore-openapi.json",
"/.well-known/apexscout-monetization-policy.json",
"/api/agent-monetization-policy",
"/.well-known/apexscout-paid-tools.json",
"/api/paid-mcp-tools",
"/agent-wallet-skill-pack",
"/api/agent-wallet-skill-pack",
"/.well-known/apexscout-agent-wallet-skill.json",
"/apexscout-agent-wallet-skill.md",
"/.well-known/apexscout-agent-wallet-skill.md",
"/apify-x402-upstream-readiness",
"/api/apify-x402-upstream-readiness",
"/.well-known/apexscout-apify-x402-upstream.json",
"/cloudflare-monetization-gateway-rules",
"/api/cloudflare-monetization-gateway-rules",
"/.well-known/apexscout-cloudflare-monetization-gateway-rules.json",
"/agent-receipt-contract",
"/api/agent-receipt-contract",
"/.well-known/apexscout-agent-receipt-contract.json",
"/api/cloudflare-billing-rules",
"/.well-known/apexscout-cloudflare-billing-rules.json",
"/api/cloudflare-x402-worker-config",
"/.well-known/apexscout-cloudflare-x402-worker.json"
],
"reason": "Payment-aware agents should inspect policy, prices, and route caps before spend.",
"paidRetryRequired": false
},
{
"id": "apexscout-free-proof-and-preflight",
"type": "allow_free",
"patterns": [
"/x402-proof",
"/api/x402-proof",
"/chat-tiny-payment-flow",
"/api/chat-tiny-payment-flow",
"/api/agent-revenue-audit-builder/action-pack",
"/api/buyer-payment-scope-check",
"/api/buyer-agent-payment-safety",
"/api/x402-security-readiness"
],
"reason": "No-spend proof, preflight, Builder, Scope, and payment-safety surfaces should stay readable.",
"paidRetryRequired": false
}
],
"blockRules": [
{
"id": "apexscout-private-operator-surfaces",
"type": "block_public_access",
"patterns": [
"/admin/*",
"/api/admin/*"
],
"reason": "Private operator surfaces are not public buyer-agent resources.",
"paidRetryAvailable": false
}
],
"workerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"operatorApplyPlan": [
"Confirm the ApexScout zone remains active on Cloudflare and the route remains proxied.",
"Set APEXSCOUT_X402_PAY_TO to the existing ApexScout x402 seller payTo address in Cloudflare secrets or vars.",
"Set APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET as the same shared secret in Cloudflare and Railway.",
"Review cloudflare/x402-proxy/wrangler.jsonc against this API response.",
"Keep Worker changes inside explicit Cloudflare deployment windows.",
"Run unpaid 402 checks first, then one buyer-approved paid 200 proof for the one-cent proof rule when a paid proof is explicitly authorized.",
"Keep Railway-origin x402 as rollback until both edge rules match route, method, price, network, and paid proof."
],
"blockedUntil": [
"One buyer-approved paid HTTP 200 proof is still required before calling the proof route commercially converted.",
"Official Cloudflare managed Monetization Gateway rules are not claimed or required for the current Worker bridge."
],
"safeDryRunCommands": [
"npm run cloudflare:billing-rules:print",
"npm run cloudflare:x402-proxy:smoke",
"npm run cloudflare:x402-proxy:typecheck"
],
"liveApplyCommandTemplate": "npm --prefix cloudflare/x402-proxy run deploy",
"postIntegrationVerificationPlan": [
"GET /status and confirm the current ApexScout release.",
"GET /api/cloudflare-billing-rules and confirm the same paid rule count.",
"GET /api/cloudflare-x402-worker-config and confirm protected pattern prices.",
"Unpaid-check the protected route and confirm HTTP 402 only after an explicit deploy window.",
"Run one buyer-approved paid x402 proof only after the unpaid challenge matches."
],
"noSpendBoundary": {
"packIsFree": true,
"paymentAttemptedByPack": false,
"paidRouteCalledByPack": false,
"cloudflareApiCalledByApexScout": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerDeployedByApexScout": true,
"dnsChangedByApexScout": true,
"packReadChangesCloudflare": false,
"packReadChangesDns": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareX402WorkerConfigAvailable": true,
"cloudflareX402WorkerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"label": "x402-capable agent?",
"linkText": "Request GET /api/opportunity-check",
"copy": "Request the one-cent paid proof directly. It returns HTTP 402 until your own approved x402 wallet retries payment.",
"microcopy": "Opening this without a wallet returns an unpaid 402 challenge. Unpaid 402 is not revenue."
},
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionTrackingAdded": false,
"sourcePropagationSupported": true,
"sourcePropagationEnabled": true,
"ownerLaunchLandingAttributionAvailable": true,
"actionIntentSourcePropagationAvailable": true,
"safeSourceTags": [
"x-profile",
"x-pinned-post",
"x-daily-post",
"owner-public-launch"
],
"aggregateOnlySourceAttribution": true,
"noCookiesForAttribution": true,
"noSessionTrackingForAttribution": true,
"rawSourceStored": false,
"sourceAttributionRawUserAgentsStored": false,
"sourceAttributionIpAddressesStored": false,
"sourceAttributionBuyerLevelDataExposed": false
},
{
"intent": "audit",
"href": "/action-pack/go/audit",
"url": "https://apexscout.ai/action-pack/go/audit",
"label": "Check my $5 audit request for free",
"copy": "Use this when you want ApexScout to check whether your Agent Revenue Audit request is ready before payment.",
"noSpend": true,
"paymentExecuted": false,
"prepareExecuted": false,
"recordsAggregateIntentOnClick": true,
"redirectsToNoSpendTarget": true,
"noSpendTarget": "/agent-revenue-audit-builder?template=search-checkout&src=action-pack-audit-intent-link",
"noSpendTargetUrl": "https://apexscout.ai/agent-revenue-audit-builder?template=search-checkout&src=action-pack-audit-intent-link",
"destinationHandoffExpected": true,
"destinationHandoffRoute": "/agent-revenue-audit-builder?template=search-checkout&src=action-pack-audit-intent-link",
"destinationHandoffRouteUrl": "https://apexscout.ai/agent-revenue-audit-builder?template=search-checkout&src=action-pack-audit-intent-link",
"nextActionLabel": "Check my audit request for free",
"noAutoPrepare": true,
"noPaymentExecution": true,
"noPrepareExecutionFromRail": true,
"buyerLevelDataExposed": false,
"optionalX402ProofCta": null,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionTrackingAdded": false,
"sourcePropagationSupported": true,
"sourcePropagationEnabled": true,
"ownerLaunchLandingAttributionAvailable": true,
"actionIntentSourcePropagationAvailable": true,
"safeSourceTags": [
"x-profile",
"x-pinned-post",
"x-daily-post",
"owner-public-launch"
],
"aggregateOnlySourceAttribution": true,
"noCookiesForAttribution": true,
"noSessionTrackingForAttribution": true,
"rawSourceStored": false,
"sourceAttributionRawUserAgentsStored": false,
"sourceAttributionIpAddressesStored": false,
"sourceAttributionBuyerLevelDataExposed": false
},
{
"intent": "agentic-trading",
"href": "/action-pack/go/agentic-trading",
"url": "https://apexscout.ai/action-pack/go/agentic-trading",
"label": "Check payment readiness for an agentic trading or DeFi tool",
"copy": "Use this for wallet-enabled agent tools, DeFi workflows, market-data products, or trading automation payment boundaries. ApexScout does not give trading or investment advice.",
"noSpend": true,
"paymentExecuted": false,
"prepareExecuted": false,
"recordsAggregateIntentOnClick": true,
"redirectsToNoSpendTarget": true,
"noSpendTarget": "/agent-revenue-audit-builder?template=agentic-trading-payment-safety&src=action-pack-agentic-trading-intent-link",
"noSpendTargetUrl": "https://apexscout.ai/agent-revenue-audit-builder?template=agentic-trading-payment-safety&src=action-pack-agentic-trading-intent-link",
"destinationHandoffExpected": true,
"destinationHandoffRoute": "/agent-revenue-audit-builder?template=agentic-trading-payment-safety&src=action-pack-agentic-trading-intent-link",
"destinationHandoffRouteUrl": "https://apexscout.ai/agent-revenue-audit-builder?template=agentic-trading-payment-safety&src=action-pack-agentic-trading-intent-link",
"nextActionLabel": "Check payment readiness for free",
"noAutoPrepare": true,
"noPaymentExecution": true,
"noPrepareExecutionFromRail": true,
"buyerLevelDataExposed": false,
"optionalX402ProofCta": null,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionTrackingAdded": false,
"sourcePropagationSupported": true,
"sourcePropagationEnabled": true,
"ownerLaunchLandingAttributionAvailable": true,
"actionIntentSourcePropagationAvailable": true,
"safeSourceTags": [
"x-profile",
"x-pinned-post",
"x-daily-post",
"owner-public-launch"
],
"aggregateOnlySourceAttribution": true,
"noCookiesForAttribution": true,
"noSessionTrackingForAttribution": true,
"rawSourceStored": false,
"sourceAttributionRawUserAgentsStored": false,
"sourceAttributionIpAddressesStored": false,
"sourceAttributionBuyerLevelDataExposed": false,
"agenticTradingPaymentReadinessDisclaimer": "This is payment-readiness only. ApexScout does not give trading, investment, tax, legal, lending, or compliance advice.",
"advice": "Payment-readiness only. Not trading or investment advice.",
"noTradingAdvice": true
},
{
"intent": "scope",
"href": "/action-pack/go/scope",
"url": "https://apexscout.ai/action-pack/go/scope",
"label": "Check buyer payment scope",
"copy": "Use this after ready_to_pay before a buyer-controlled x402 wallet retries payment.",
"noSpend": true,
"paymentExecuted": false,
"prepareExecuted": false,
"recordsAggregateIntentOnClick": true,
"redirectsToNoSpendTarget": true,
"noSpendTarget": "/buyer-payment-scope-check?route=agent-revenue-audit&src=action-pack-scope-intent-link",
"noSpendTargetUrl": "https://apexscout.ai/buyer-payment-scope-check?route=agent-revenue-audit&src=action-pack-scope-intent-link",
"destinationHandoffExpected": true,
"destinationHandoffRoute": "/buyer-payment-scope-check?route=agent-revenue-audit&src=action-pack-scope-intent-link",
"destinationHandoffRouteUrl": "https://apexscout.ai/buyer-payment-scope-check?route=agent-revenue-audit&src=action-pack-scope-intent-link",
"nextActionLabel": "Run free scope check",
"noAutoPrepare": true,
"noPaymentExecution": true,
"noPrepareExecutionFromRail": true,
"buyerLevelDataExposed": false,
"optionalX402ProofCta": null,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionTrackingAdded": false,
"sourcePropagationSupported": true,
"sourcePropagationEnabled": true,
"ownerLaunchLandingAttributionAvailable": true,
"actionIntentSourcePropagationAvailable": true,
"safeSourceTags": [
"x-profile",
"x-pinned-post",
"x-daily-post",
"owner-public-launch"
],
"aggregateOnlySourceAttribution": true,
"noCookiesForAttribution": true,
"noSessionTrackingForAttribution": true,
"rawSourceStored": false,
"sourceAttributionRawUserAgentsStored": false,
"sourceAttributionIpAddressesStored": false,
"sourceAttributionBuyerLevelDataExposed": false
}
],
"tinyPaidProofAction": {
"name": "ApexScout link-native tiny paid proof",
"mode": "link-native-tiny-paid-proof",
"method": "GET",
"route": "/api/opportunity-check",
"path": "/api/opportunity-check",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"url": "https://apexscout.ai/api/opportunity-check",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"maxAmountAtomicUnits": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"getProofUnpaidChallengeTelemetryAvailable": true,
"getProofUnpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"getProofCompletionCounter": "opportunityCheckGetProofCompletions",
"proofRetryConfidenceAvailable": true,
"proofRetryConfidence": {
"available": true,
"mode": "no-spend-proof-retry-confidence",
"purpose": "Help x402-capable buyers understand that an unpaid 402 is the expected proof challenge and that payment only happens from a buyer-controlled retry.",
"route": "/api/opportunity-check",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"expectedUnpaidMeaning": "HTTP 402 means the proof paywall is reachable and returning x402 payment requirements. It is not a service outage and it is not revenue.",
"expectedPaidMeaning": "HTTP 200 only counts after a buyer-controlled x402 client retries this route with an approved payment.",
"http402ReadinessReceiptAvailable": true,
"http402ReadinessReceipt": {
"available": true,
"mode": "no-spend-http-402-readiness-receipt",
"title": "HTTP 402 Readiness Receipt",
"purpose": "Give x402-capable buyers a compact, unsigned receipt showing what the unpaid proof challenge proves before any buyer-controlled paid retry.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"url": "https://apexscout.ai/api/opportunity-check",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"agentExecutionProofPacketAvailable": true,
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"receiptScope": "GET /api/opportunity-check, $0.01 maximum amount, eip155:8453 Base mainnet x402, one buyer-controlled retry.",
"receiptSummary": "Unpaid HTTP 402 proves the x402 proof route is reachable and returning payment requirements. It does not prove payment, revenue, endorsement, or buyer approval.",
"agentDecision": {
"payOnlyIf": "The buyer explicitly approves the route, max amount, network, and one retry from a wallet-controlled x402 client.",
"stopIf": "The buyer has not approved spend, the client cannot attach x402 payment, the route or network differs, or HTTP 402 is being treated as a paid completion.",
"nextNoSpendStep": "Stay on ApexScout proof, action-pack, Scope Check, or Builder surfaces until buyer-controlled payment is intentionally approved."
},
"readinessChecks": [
"Route scoped to GET /api/opportunity-check.",
"Amount scoped to $0.01 / 10000 atomic USDC.",
"Network scoped to Base mainnet eip155:8453.",
"HTTP 402 is expected before payment.",
"HTTP 200 is required before paid completion is counted.",
"No request body, cookies, session, or wallet connection is required to read this receipt.",
"No buyer-level data is exposed by this receipt.",
"No automatic payment or paid retry is performed by ApexScout."
],
"publicSafetyCopy": "This is an unsigned no-spend readiness receipt, not AP2 proof, not a signed mandate, not a legal or payment receipt, not an endorsement claim, and not trading, investment, tax, legal, lending, or compliance advice.",
"notClaims": {
"signedReceiptCreated": false,
"ap2ProofCreated": false,
"legalMandateCreated": false,
"paymentReceiptCreated": false,
"walletApprovalCreated": false,
"officialEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false
},
"noSpendBoundary": {
"receiptIsFree": true,
"opensPaidRouteByItself": false,
"paymentAttemptedByReceipt": false,
"paidRouteCalledByReceipt": false,
"paidUpstreamCalls": false,
"walletConnectionRequiredForReceipt": false,
"automaticSpending": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
},
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"receiptUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"copyPasteReceiptSummary": "HTTP 402 readiness receipt: GET /api/opportunity-check is reachable, costs max $0.01 on eip155:8453 only after buyer-controlled x402 retry, and counts as paid only when HTTP 200 returns."
},
"proofRetryDecisionStripAvailable": true,
"proofRetryDecisionStrip": {
"available": true,
"mode": "buyer-controlled-proof-retry-decision-strip",
"title": "Buyer-controlled proof retry gate",
"purpose": "Compress the next click after an unpaid 402 into a clear continue/stop decision for x402-capable buyers.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"url": "https://apexscout.ai/api/opportunity-check",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"agentExecutionProofPacketAvailable": true,
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"decisionSummary": "Continue only if buyer approval, x402 wallet capability, exact route, exact amount, and Base mainnet network all match.",
"continueIf": [
"Buyer explicitly approves this exact $0.01 proof.",
"Client can attach x402 payment on Base mainnet eip155:8453.",
"Route is exactly GET /api/opportunity-check.",
"Max amount is exactly 10000 atomic USDC.",
"Buyer understands only HTTP 200 counts as a paid proof completion."
],
"stopIf": [
"Buyer has not approved spend.",
"Client is a normal browser without x402 payment support.",
"Route, amount, or network differs from the receipt.",
"The buyer is treating unpaid HTTP 402 as revenue or completion.",
"The output will not change the buyer's next action."
],
"primaryAction": {
"label": "Request unpaid proof challenge",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"normalBrowserResult": "HTTP 402 JSON with x402 payment requirements",
"x402CapableResult": "HTTP 200 JSON only after buyer-controlled paid retry",
"noPaymentOnClick": true,
"paidRetryRequiresBuyerWallet": true
},
"fallbackNoSpendActions": [
"/x402-proof",
"/api/agent-revenue-audit-builder/action-pack",
"/buyer-payment-scope-check",
"/chat-tiny-payment-flow"
],
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"decisionStripUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"decisionStripIsFree": true,
"paymentAttemptedByDecisionStrip": false,
"paidRouteCalledByDecisionStrip": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"agentExecutionProofPacketAvailable": true,
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"http402ClosePacketAvailable": true,
"http402ClosePacket": {
"available": true,
"mode": "buyer-agent-402-close-packet",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "402 close packet",
"purpose": "Put the buyer-agent close instructions inside the unpaid HTTP 402 response so x402-capable clients can finish the proof without hunting through a page.",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"command": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"closeMessage": "You reached the ApexScout paid proof gate. To complete the proof, retry this exact GET route from an authenticated x402 wallet/client with max amount 10000 atomic USDC on Base mainnet.",
"buyerAgentInstruction": "If the buyer approved this one-cent proof, run the command exactly once and treat only HTTP 200 as the paid completion. If any route, amount, network, or approval detail differs, stop.",
"whatHttp200Proves": [
"The buyer-controlled x402 retry reached ApexScout's one-cent proof route.",
"The paid route returned structured JSON after payment verification.",
"The aggregate paid proof completion counter is allowed to move only after HTTP 200."
],
"notProofOf": [
"Coinbase, AWS, Stripe, Bazaar, AgentCore, Base, marketplace, or protocol endorsement.",
"Guaranteed revenue, trading results, investment outcome, legal advice, tax advice, lending advice, or compliance approval.",
"Buyer identity, wallet-level activity, secret signing material, or broader permission to spend."
],
"continueIf": [
"The buyer explicitly approved this one-cent proof.",
"The client can attach an x402 payment authorization.",
"The retry route is exactly GET /api/opportunity-check?src=agent-execution-command-copy.",
"The max amount is exactly 10000 atomic USDC.",
"The network is exactly eip155:8453."
],
"stopIf": [
"The wallet is not authenticated.",
"The wallet has insufficient USDC on Base.",
"The client cannot attach x402 payment.",
"The max amount is lower than 10000 atomic USDC.",
"The network is not eip155:8453.",
"The buyer did not approve this exact spend.",
"The agent plans to retry more than once just to clear a metric."
],
"failureBranches": {
"walletNotAuthenticated": {
"bucket": "wallet_not_authenticated",
"buyerAction": "Authenticate the buyer-controlled x402 wallet/client before retrying.",
"apexScoutAction": "Do nothing automatically."
},
"insufficientBaseUsdc": {
"bucket": "insufficient_base_usdc",
"buyerAction": "Stop until the buyer-controlled wallet has enough Base USDC for the one-cent proof.",
"apexScoutAction": "Do not fund, trade, onramp, or advise funding."
},
"maxAmountTooLow": {
"bucket": "max_amount_too_low",
"buyerAction": "Use max amount 10000 atomic USDC or stop.",
"apexScoutAction": "Do not lower route price or change payment requirements."
},
"wrongNetwork": {
"bucket": "wrong_network",
"buyerAction": "Use eip155:8453 Base mainnet or stop.",
"apexScoutAction": "Do not switch rails."
},
"paymentDeclined": {
"bucket": "payment_declined",
"buyerAction": "Stop unless the buyer explicitly approves another attempt.",
"apexScoutAction": "Do not retry payment for the buyer."
}
},
"telemetryInterpretation": {
"sourceTag": "agent-execution-command-copy",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionCommandCopy",
"closePacketUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"closePacketIsFree": true,
"closePacketExecutesPayment": false,
"paymentAttemptedByClosePacket": false,
"paidRouteCalledByClosePacket": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false,
"secretSigningMaterialRequested": false
}
},
"buyerProofExecutionCloseoutAvailable": true,
"buyerProofExecutionCloseout": {
"available": true,
"mode": "buyer-proof-execution-closeout",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Copied? Finish with one buyer-run proof retry",
"purpose": "Close the gap after a buyer agent marks its wallet ready or copies the command: run exactly one buyer-approved proof retry, classify the response, then stop.",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-receipt-contract",
"method": "GET",
"href": "/api/opportunity-check?src=agent-receipt-contract",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"primarySourceTag": "agent-receipt-contract",
"primarySourceBucket": "agentReceiptContract",
"commandCopySourceTag": "agent-execution-command-copy",
"commandCopySourceBucket": "agentExecutionCommandCopy",
"buyerWalletCloseSignalCounter": "buyerWalletCloseSignals.walletCloseIntentEvents",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"firstScreenPlacement": {
"x402Proof": "after-wallet-close-before-receipt-command",
"chatTinyPaymentFlow": "after-wallet-close-before-receipt-command",
"closeoutVisibleBeforeCommandCopy": true,
"normalNoSpendPathRemainsPrimary": true
},
"closeoutRule": {
"ifWalletReadyAndCommandCopied": "Run the receipt-bound command exactly once from the buyer-controlled x402 wallet if the buyer approved the route, amount, and network.",
"ifCannotPayYet": "Do not retry payment. Use the wallet setup note and stop until wallet authentication, Base USDC balance, route, amount, and network match.",
"ifResponseIs402": "Treat the result as unpaid. It is a challenge, not a paid proof, and it should not move revenue.",
"ifResponseIs200": "Treat the result as paid proof only after the buyer-controlled x402 retry returns structured HTTP 200 JSON.",
"ifRetryIsRejected": "Read the sanitized edge failure status once, classify the rejection, and stop before another paid attempt.",
"stopAfter": "one buyer-approved paid retry unless a human operator explicitly approves another capped diagnostic"
},
"buyerAgentChecklist": [
"Wallet is authenticated by the buyer, not ApexScout.",
"Buyer approves GET /api/opportunity-check with source agent-receipt-contract.",
"Maximum spend is exactly 10000 atomic USDC.",
"Network is exactly eip155:8453 Base mainnet.",
"Run one retry, then classify HTTP 402, HTTP 200, or a sanitized edge failure."
],
"copyReadyCommands": {
"receiptBoundProofCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"commandCopyProofCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"edgeFailureReadCommand": "curl -s \"https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure\"",
"walletSetupNote": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof."
},
"safeReadouts": {
"edgeHealthPath": "/__apexscout/cloudflare-x402/health",
"edgeLastFailurePath": "/__apexscout/cloudflare-x402/health/last-failure",
"edgeLastFailureUrl": "https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure",
"originLastFailurePath": "/api/cloudflare-x402-edge-failure/last",
"originLastFailureUrl": "https://apexscout.ai/api/cloudflare-x402-edge-failure/last",
"noPaymentAttemptedByRead": true,
"buyerLevelDataExposed": false,
"rawPaymentPayloadExposed": false,
"privateKeysRequested": false
},
"buttons": [
{
"label": "Copy receipt-bound proof command",
"copies": "receipt_bound_command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy edge failure readout",
"copies": "edge_failure_read_command",
"value": "curl -s \"https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure\"",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy wallet setup note",
"copies": "wallet_setup_note",
"value": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof.",
"executesPayment": false,
"opensPaidRoute": false
}
],
"telemetryInterpretation": {
"walletReadyCounter": "buyerWalletCloseSignals.walletReadyIntent",
"copyPaidProofCommandCounter": "buyerWalletCloseSignals.copyPaidProofCommand",
"copyReceiptBoundCommandCounter": "buyerWalletCloseSignals.copyReceiptBoundCommand",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"failureReadoutIsRevenue": false,
"copyIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"newCounterAdded": false,
"reason": "The closeout reuses existing aggregate wallet-close, source-bucket, and paid-completion counters so it improves decision clarity without creating fake movement."
},
"noSpendBoundary": {
"closeoutIsFree": true,
"closeoutExecutesPayment": false,
"copyingExecutesPayment": false,
"copyingOpensPaidRoute": false,
"failureReadoutExecutesPayment": false,
"failureReadoutCallsPaidRoute": false,
"paymentAttemptedByCloseout": false,
"paidRouteCalledByCloseout": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"productionPostCreated": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false,
"cloudflareMutationCreated": false,
"apifyActorRunCreated": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"privateKeysRequested": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false,
"rawPaymentPayloadExposed": false
},
"safetyClaims": {
"guaranteedRevenueClaimed": false,
"officialEndorsementClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareMonetizationGatewayReadinessAvailable": true,
"cloudflareMonetizationGatewayReadiness": {
"available": true,
"mode": "cloudflare-monetization-gateway-readiness",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare live edge status",
"releaseReportingMode": "worker-and-origin-split",
"appRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"originRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"originReleasePath": "/status",
"workerRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"workerSourceVersion": "2.2.179",
"workerHealthReleaseContract": {
"healthPath": "/__apexscout/cloudflare-x402/health",
"releaseFieldMeans": "workerRelease",
"workerReleaseField": "workerRelease",
"originReleaseField": "originRelease",
"originReleasePath": "/status",
"originReleaseReadIsNoSpend": true,
"mismatchIsActionableOnlyWhenWorkerHealthFails": true
},
"sourceSignal": {
"name": "Cloudflare Monetization Gateway",
"sourceUrl": "https://blog.cloudflare.com/monetization-gateway/",
"articleUrl": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving x402 payment enforcement toward edge-managed route rules. ApexScout now serves the one-cent proof path through a narrow Cloudflare Worker while keeping Railway as the origin fallback."
},
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"officialCloudflareMonetizationGatewayClaimed": false,
"officialCloudflareEndorsementClaimed": false,
"cloudflareBillingRulesPackAvailable": true,
"cloudflareBillingRulesPath": "/api/cloudflare-billing-rules",
"cloudflareBillingRulesWellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"cloudflareX402WorkerConfigAvailable": true,
"cloudflareX402WorkerConfigPath": "/api/cloudflare-x402-worker-config",
"cloudflareX402WorkerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"cloudflareBillingRulesPack": {
"available": true,
"mode": "cloudflare-billing-rules-pack",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare billing rules pack",
"purpose": "Document ApexScout's live Cloudflare edge Worker route and existing x402 paid-route policy without changing price, seller wallet, or buyer-controlled payment rules.",
"apiPath": "/api/cloudflare-billing-rules",
"wellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"workerConfigPath": "/api/cloudflare-x402-worker-config",
"workerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceSignals": [
{
"name": "Cloudflare Monetization Gateway",
"url": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving toward edge-managed payment rules, including route-level x402 enforcement."
},
{
"name": "Cloudflare x402 proxy",
"url": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"interpretedAs": "A Cloudflare Worker can sit in front of an existing HTTP origin, return 402, verify x402 payment, and forward the approved request."
},
{
"name": "Cloudflare Pay Per Crawl",
"url": "https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/",
"interpretedAs": "Cloudflare's crawler billing direction reinforces clear allow, charge, and block rules for automated clients."
}
],
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"cloudflareWorkerConfigPrepared": true,
"cloudflareRulesCreated": true,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRulesCreated": false,
"officialCloudflareEndorsementClaimed": false,
"monetizationGatewayApiPubliclyAvailable": false,
"monetizationGatewayApiStatus": "planned-or-early-access",
"currentDeployableOption": "cloudflare-x402-edge-settlement-worker",
"originFallbackRequired": true,
"originStillEnforcesX402": true,
"originEdgeSettlementBridgePrepared": true,
"edgeSettlementEligiblePaidRuleCount": 1,
"originAuthoritativePaidRuleCount": 1,
"billingRuleCount": 5,
"paidBillingRuleCount": 2,
"freeAllowRuleCount": 2,
"blockRuleCount": 1,
"paidRules": [
{
"id": "apexscout-one-cent-proof",
"type": "charge_x402",
"method": "GET",
"pattern": "/api/opportunity-check",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": true,
"originEdgeSettlementBypassRequired": true,
"originStillEnforcesX402": false,
"liveRuleMode": "edge-settled-with-signed-origin-bridge"
},
{
"id": "apexscout-agent-revenue-audit",
"type": "charge_x402",
"method": "POST",
"pattern": "/api/agent-revenue-audit",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"priceUsd": "5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": false,
"originEdgeSettlementBypassRequired": false,
"originStillEnforcesX402": true,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"reasonEdgeSettlementDeferred": "This POST route should not be edge-settled until the buyer payload can be validated before charge."
}
],
"allowRules": [
{
"id": "apexscout-free-agent-metadata",
"type": "allow_free",
"patterns": [
"/",
"/docs.json",
"/llms.txt",
"/skill.md",
"/.well-known/agent.json",
"/agent-capabilities.json",
"/api/public-agent",
"/mcp-tool-pack",
"/api/mcp-tool-pack",
"/.well-known/mcp.json",
"/api/agentcore-openapi.json",
"/.well-known/apexscout-monetization-policy.json",
"/api/agent-monetization-policy",
"/.well-known/apexscout-paid-tools.json",
"/api/paid-mcp-tools",
"/agent-wallet-skill-pack",
"/api/agent-wallet-skill-pack",
"/.well-known/apexscout-agent-wallet-skill.json",
"/apexscout-agent-wallet-skill.md",
"/.well-known/apexscout-agent-wallet-skill.md",
"/apify-x402-upstream-readiness",
"/api/apify-x402-upstream-readiness",
"/.well-known/apexscout-apify-x402-upstream.json",
"/cloudflare-monetization-gateway-rules",
"/api/cloudflare-monetization-gateway-rules",
"/.well-known/apexscout-cloudflare-monetization-gateway-rules.json",
"/agent-receipt-contract",
"/api/agent-receipt-contract",
"/.well-known/apexscout-agent-receipt-contract.json",
"/api/cloudflare-billing-rules",
"/.well-known/apexscout-cloudflare-billing-rules.json",
"/api/cloudflare-x402-worker-config",
"/.well-known/apexscout-cloudflare-x402-worker.json"
],
"reason": "Payment-aware agents should inspect policy, prices, and route caps before spend.",
"paidRetryRequired": false
},
{
"id": "apexscout-free-proof-and-preflight",
"type": "allow_free",
"patterns": [
"/x402-proof",
"/api/x402-proof",
"/chat-tiny-payment-flow",
"/api/chat-tiny-payment-flow",
"/api/agent-revenue-audit-builder/action-pack",
"/api/buyer-payment-scope-check",
"/api/buyer-agent-payment-safety",
"/api/x402-security-readiness"
],
"reason": "No-spend proof, preflight, Builder, Scope, and payment-safety surfaces should stay readable.",
"paidRetryRequired": false
}
],
"blockRules": [
{
"id": "apexscout-private-operator-surfaces",
"type": "block_public_access",
"patterns": [
"/admin/*",
"/api/admin/*"
],
"reason": "Private operator surfaces are not public buyer-agent resources.",
"paidRetryAvailable": false
}
],
"workerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"operatorApplyPlan": [
"Confirm the ApexScout zone remains active on Cloudflare and the route remains proxied.",
"Set APEXSCOUT_X402_PAY_TO to the existing ApexScout x402 seller payTo address in Cloudflare secrets or vars.",
"Set APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET as the same shared secret in Cloudflare and Railway.",
"Review cloudflare/x402-proxy/wrangler.jsonc against this API response.",
"Keep Worker changes inside explicit Cloudflare deployment windows.",
"Run unpaid 402 checks first, then one buyer-approved paid 200 proof for the one-cent proof rule when a paid proof is explicitly authorized.",
"Keep Railway-origin x402 as rollback until both edge rules match route, method, price, network, and paid proof."
],
"blockedUntil": [
"One buyer-approved paid HTTP 200 proof is still required before calling the proof route commercially converted.",
"Official Cloudflare managed Monetization Gateway rules are not claimed or required for the current Worker bridge."
],
"safeDryRunCommands": [
"npm run cloudflare:billing-rules:print",
"npm run cloudflare:x402-proxy:smoke",
"npm run cloudflare:x402-proxy:typecheck"
],
"liveApplyCommandTemplate": "npm --prefix cloudflare/x402-proxy run deploy",
"postIntegrationVerificationPlan": [
"GET /status and confirm the current ApexScout release.",
"GET /api/cloudflare-billing-rules and confirm the same paid rule count.",
"GET /api/cloudflare-x402-worker-config and confirm protected pattern prices.",
"Unpaid-check the protected route and confirm HTTP 402 only after an explicit deploy window.",
"Run one buyer-approved paid x402 proof only after the unpaid challenge matches."
],
"noSpendBoundary": {
"packIsFree": true,
"paymentAttemptedByPack": false,
"paidRouteCalledByPack": false,
"cloudflareApiCalledByApexScout": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerDeployedByApexScout": true,
"dnsChangedByApexScout": true,
"packReadChangesCloudflare": false,
"packReadChangesDns": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareX402WorkerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"waitlistOrEarlyAccessRequired": false,
"noDnsChangeMade": false,
"dnsChangedByLiveCutover": true,
"noCloudflareApiCallMade": false,
"noCloudflareApiCallMadeByRead": true,
"noPaymentRuleCreated": false,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"noPaidRouteChanged": true,
"noPriceChanged": true,
"noSellerWalletChanged": true,
"noPaymentRailChanged": true,
"apexScoutRemainsSourceOfTruth": true,
"candidateRules": [
{
"id": "apexscout-one-cent-proof",
"purpose": "Edge-readable one-cent x402 proof route for wallet-capable buyer agents.",
"method": "GET",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"amountAtomicUsdc": "10000",
"priceUsd": "0.01",
"displayPrice": "$0.01",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerApprovalRequired": true,
"currentOriginStillEnforcesX402": true,
"gatewayCanMirrorButNotOverrideOrigin": true
},
{
"id": "apexscout-agent-revenue-audit",
"purpose": "Higher-value builder monetization audit route.",
"method": "POST",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"amountAtomicUsdc": "5000000",
"priceUsd": "5.00",
"displayPrice": "$5.00",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerApprovalRequired": true,
"currentOriginStillEnforcesX402": true,
"gatewayCanMirrorButNotOverrideOrigin": true
}
],
"migrationPlan": [
"Keep the Cloudflare Worker route narrow and use Railway as the origin fallback.",
"Use these candidate rules as the review checklist before any future official managed-gateway change.",
"Require unpaid HTTP 402 and buyer-controlled HTTP 200 proof for each route after any edge or gateway change.",
"Keep ApexScout aggregate metrics as the public conversion truth source.",
"Roll back to Railway-origin x402 if route, amount, network, or payment proof differs."
],
"operatorChecklist": {
"dnsChangeApproved": true,
"cloudflareApiTokenApproved": true,
"gatewayRuleCreationApproved": true,
"postDeployPaidProofRequiredBeforeClaimingGatewayLive": true,
"originFallbackRequired": true,
"compareGatewayRulesToCandidateRules": true
},
"noSpendBoundary": {
"readinessPacketIsFree": true,
"paymentAttemptedByReadinessPacket": false,
"paidRouteCalledByReadinessPacket": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerRouteCreated": true,
"cloudflareApiCalled": false,
"dnsChanged": false,
"dnsAlreadyProxiedThroughCloudflare": true,
"workerAlreadyDeployed": true,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"revenueOutcomeClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
},
"telemetryInterpretation": {
"readinessUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"watchCounters": "If unpaid proof counters move without paid completions, treat it as proof-route interest, not gateway success."
}
},
"cloudflareBillingRulesPackAvailable": true,
"cloudflareBillingRulesPack": {
"available": true,
"mode": "cloudflare-billing-rules-pack",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare billing rules pack",
"purpose": "Document ApexScout's live Cloudflare edge Worker route and existing x402 paid-route policy without changing price, seller wallet, or buyer-controlled payment rules.",
"apiPath": "/api/cloudflare-billing-rules",
"wellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"workerConfigPath": "/api/cloudflare-x402-worker-config",
"workerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceSignals": [
{
"name": "Cloudflare Monetization Gateway",
"url": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving toward edge-managed payment rules, including route-level x402 enforcement."
},
{
"name": "Cloudflare x402 proxy",
"url": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"interpretedAs": "A Cloudflare Worker can sit in front of an existing HTTP origin, return 402, verify x402 payment, and forward the approved request."
},
{
"name": "Cloudflare Pay Per Crawl",
"url": "https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/",
"interpretedAs": "Cloudflare's crawler billing direction reinforces clear allow, charge, and block rules for automated clients."
}
],
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"cloudflareWorkerConfigPrepared": true,
"cloudflareRulesCreated": true,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRulesCreated": false,
"officialCloudflareEndorsementClaimed": false,
"monetizationGatewayApiPubliclyAvailable": false,
"monetizationGatewayApiStatus": "planned-or-early-access",
"currentDeployableOption": "cloudflare-x402-edge-settlement-worker",
"originFallbackRequired": true,
"originStillEnforcesX402": true,
"originEdgeSettlementBridgePrepared": true,
"edgeSettlementEligiblePaidRuleCount": 1,
"originAuthoritativePaidRuleCount": 1,
"billingRuleCount": 5,
"paidBillingRuleCount": 2,
"freeAllowRuleCount": 2,
"blockRuleCount": 1,
"paidRules": [
{
"id": "apexscout-one-cent-proof",
"type": "charge_x402",
"method": "GET",
"pattern": "/api/opportunity-check",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": true,
"originEdgeSettlementBypassRequired": true,
"originStillEnforcesX402": false,
"liveRuleMode": "edge-settled-with-signed-origin-bridge"
},
{
"id": "apexscout-agent-revenue-audit",
"type": "charge_x402",
"method": "POST",
"pattern": "/api/agent-revenue-audit",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"priceUsd": "5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": false,
"originEdgeSettlementBypassRequired": false,
"originStillEnforcesX402": true,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"reasonEdgeSettlementDeferred": "This POST route should not be edge-settled until the buyer payload can be validated before charge."
}
],
"allowRules": [
{
"id": "apexscout-free-agent-metadata",
"type": "allow_free",
"patterns": [
"/",
"/docs.json",
"/llms.txt",
"/skill.md",
"/.well-known/agent.json",
"/agent-capabilities.json",
"/api/public-agent",
"/mcp-tool-pack",
"/api/mcp-tool-pack",
"/.well-known/mcp.json",
"/api/agentcore-openapi.json",
"/.well-known/apexscout-monetization-policy.json",
"/api/agent-monetization-policy",
"/.well-known/apexscout-paid-tools.json",
"/api/paid-mcp-tools",
"/agent-wallet-skill-pack",
"/api/agent-wallet-skill-pack",
"/.well-known/apexscout-agent-wallet-skill.json",
"/apexscout-agent-wallet-skill.md",
"/.well-known/apexscout-agent-wallet-skill.md",
"/apify-x402-upstream-readiness",
"/api/apify-x402-upstream-readiness",
"/.well-known/apexscout-apify-x402-upstream.json",
"/cloudflare-monetization-gateway-rules",
"/api/cloudflare-monetization-gateway-rules",
"/.well-known/apexscout-cloudflare-monetization-gateway-rules.json",
"/agent-receipt-contract",
"/api/agent-receipt-contract",
"/.well-known/apexscout-agent-receipt-contract.json",
"/api/cloudflare-billing-rules",
"/.well-known/apexscout-cloudflare-billing-rules.json",
"/api/cloudflare-x402-worker-config",
"/.well-known/apexscout-cloudflare-x402-worker.json"
],
"reason": "Payment-aware agents should inspect policy, prices, and route caps before spend.",
"paidRetryRequired": false
},
{
"id": "apexscout-free-proof-and-preflight",
"type": "allow_free",
"patterns": [
"/x402-proof",
"/api/x402-proof",
"/chat-tiny-payment-flow",
"/api/chat-tiny-payment-flow",
"/api/agent-revenue-audit-builder/action-pack",
"/api/buyer-payment-scope-check",
"/api/buyer-agent-payment-safety",
"/api/x402-security-readiness"
],
"reason": "No-spend proof, preflight, Builder, Scope, and payment-safety surfaces should stay readable.",
"paidRetryRequired": false
}
],
"blockRules": [
{
"id": "apexscout-private-operator-surfaces",
"type": "block_public_access",
"patterns": [
"/admin/*",
"/api/admin/*"
],
"reason": "Private operator surfaces are not public buyer-agent resources.",
"paidRetryAvailable": false
}
],
"workerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"operatorApplyPlan": [
"Confirm the ApexScout zone remains active on Cloudflare and the route remains proxied.",
"Set APEXSCOUT_X402_PAY_TO to the existing ApexScout x402 seller payTo address in Cloudflare secrets or vars.",
"Set APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET as the same shared secret in Cloudflare and Railway.",
"Review cloudflare/x402-proxy/wrangler.jsonc against this API response.",
"Keep Worker changes inside explicit Cloudflare deployment windows.",
"Run unpaid 402 checks first, then one buyer-approved paid 200 proof for the one-cent proof rule when a paid proof is explicitly authorized.",
"Keep Railway-origin x402 as rollback until both edge rules match route, method, price, network, and paid proof."
],
"blockedUntil": [
"One buyer-approved paid HTTP 200 proof is still required before calling the proof route commercially converted.",
"Official Cloudflare managed Monetization Gateway rules are not claimed or required for the current Worker bridge."
],
"safeDryRunCommands": [
"npm run cloudflare:billing-rules:print",
"npm run cloudflare:x402-proxy:smoke",
"npm run cloudflare:x402-proxy:typecheck"
],
"liveApplyCommandTemplate": "npm --prefix cloudflare/x402-proxy run deploy",
"postIntegrationVerificationPlan": [
"GET /status and confirm the current ApexScout release.",
"GET /api/cloudflare-billing-rules and confirm the same paid rule count.",
"GET /api/cloudflare-x402-worker-config and confirm protected pattern prices.",
"Unpaid-check the protected route and confirm HTTP 402 only after an explicit deploy window.",
"Run one buyer-approved paid x402 proof only after the unpaid challenge matches."
],
"noSpendBoundary": {
"packIsFree": true,
"paymentAttemptedByPack": false,
"paidRouteCalledByPack": false,
"cloudflareApiCalledByApexScout": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerDeployedByApexScout": true,
"dnsChangedByApexScout": true,
"packReadChangesCloudflare": false,
"packReadChangesDns": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareX402WorkerConfigAvailable": true,
"cloudflareX402WorkerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"retryDecision": {
"recommendedOnlyForX402CapableClients": true,
"payOnlyIf": "The buyer wants the cheapest live x402 proof and approves the route, $0.01 maximum amount, Base mainnet network, and one retry.",
"stopIf": "The buyer has not approved spend, the client cannot attach x402 payment, the network is not eip155:8453, or the output will not change the next action.",
"ifUnsure": "Stay on the no-spend proof and action-pack surfaces. Do not retry payment just to clear the counter."
},
"approvalChecklist": [
"Buyer approves GET /api/opportunity-check as the route.",
"Buyer approves the $0.01 maximum spend.",
"Buyer approves Base mainnet x402 on eip155:8453.",
"Buyer controls the wallet and chooses whether to retry.",
"Buyer expects HTTP 200 JSON only after the paid retry succeeds."
],
"copyPasteAgentNote": "Unpaid 402 is expected. If the buyer approves a one-cent proof, retry GET /api/opportunity-check with an x402-capable client, max amount 10000 atomic USDC on eip155:8453, and treat only HTTP 200 as completion.",
"paidRetryCommandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof\" \\\n --max-amount 10000 \\\n --json",
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"ifUnpaidRisesWithoutCompletion": "Treat this as proof-route interest without payment. Inspect retry clarity only after repeated windows; do not add another paid route.",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"confidencePacketIsFree": true,
"opensPaidRouteByItself": false,
"paymentAttemptedByConfidencePacket": false,
"walletConnectionRequiredForConfidencePacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"http402ReadinessReceiptAvailable": true,
"http402ReadinessReceipt": {
"available": true,
"mode": "no-spend-http-402-readiness-receipt",
"title": "HTTP 402 Readiness Receipt",
"purpose": "Give x402-capable buyers a compact, unsigned receipt showing what the unpaid proof challenge proves before any buyer-controlled paid retry.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"url": "https://apexscout.ai/api/opportunity-check",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"agentExecutionProofPacketAvailable": true,
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"receiptScope": "GET /api/opportunity-check, $0.01 maximum amount, eip155:8453 Base mainnet x402, one buyer-controlled retry.",
"receiptSummary": "Unpaid HTTP 402 proves the x402 proof route is reachable and returning payment requirements. It does not prove payment, revenue, endorsement, or buyer approval.",
"agentDecision": {
"payOnlyIf": "The buyer explicitly approves the route, max amount, network, and one retry from a wallet-controlled x402 client.",
"stopIf": "The buyer has not approved spend, the client cannot attach x402 payment, the route or network differs, or HTTP 402 is being treated as a paid completion.",
"nextNoSpendStep": "Stay on ApexScout proof, action-pack, Scope Check, or Builder surfaces until buyer-controlled payment is intentionally approved."
},
"readinessChecks": [
"Route scoped to GET /api/opportunity-check.",
"Amount scoped to $0.01 / 10000 atomic USDC.",
"Network scoped to Base mainnet eip155:8453.",
"HTTP 402 is expected before payment.",
"HTTP 200 is required before paid completion is counted.",
"No request body, cookies, session, or wallet connection is required to read this receipt.",
"No buyer-level data is exposed by this receipt.",
"No automatic payment or paid retry is performed by ApexScout."
],
"publicSafetyCopy": "This is an unsigned no-spend readiness receipt, not AP2 proof, not a signed mandate, not a legal or payment receipt, not an endorsement claim, and not trading, investment, tax, legal, lending, or compliance advice.",
"notClaims": {
"signedReceiptCreated": false,
"ap2ProofCreated": false,
"legalMandateCreated": false,
"paymentReceiptCreated": false,
"walletApprovalCreated": false,
"officialEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false
},
"noSpendBoundary": {
"receiptIsFree": true,
"opensPaidRouteByItself": false,
"paymentAttemptedByReceipt": false,
"paidRouteCalledByReceipt": false,
"paidUpstreamCalls": false,
"walletConnectionRequiredForReceipt": false,
"automaticSpending": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
},
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"receiptUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"copyPasteReceiptSummary": "HTTP 402 readiness receipt: GET /api/opportunity-check is reachable, costs max $0.01 on eip155:8453 only after buyer-controlled x402 retry, and counts as paid only when HTTP 200 returns."
},
"proofRetryDecisionStripAvailable": true,
"proofRetryDecisionStrip": {
"available": true,
"mode": "buyer-controlled-proof-retry-decision-strip",
"title": "Buyer-controlled proof retry gate",
"purpose": "Compress the next click after an unpaid 402 into a clear continue/stop decision for x402-capable buyers.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"url": "https://apexscout.ai/api/opportunity-check",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"agentExecutionProofPacketAvailable": true,
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"decisionSummary": "Continue only if buyer approval, x402 wallet capability, exact route, exact amount, and Base mainnet network all match.",
"continueIf": [
"Buyer explicitly approves this exact $0.01 proof.",
"Client can attach x402 payment on Base mainnet eip155:8453.",
"Route is exactly GET /api/opportunity-check.",
"Max amount is exactly 10000 atomic USDC.",
"Buyer understands only HTTP 200 counts as a paid proof completion."
],
"stopIf": [
"Buyer has not approved spend.",
"Client is a normal browser without x402 payment support.",
"Route, amount, or network differs from the receipt.",
"The buyer is treating unpaid HTTP 402 as revenue or completion.",
"The output will not change the buyer's next action."
],
"primaryAction": {
"label": "Request unpaid proof challenge",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"normalBrowserResult": "HTTP 402 JSON with x402 payment requirements",
"x402CapableResult": "HTTP 200 JSON only after buyer-controlled paid retry",
"noPaymentOnClick": true,
"paidRetryRequiresBuyerWallet": true
},
"fallbackNoSpendActions": [
"/x402-proof",
"/api/agent-revenue-audit-builder/action-pack",
"/buyer-payment-scope-check",
"/chat-tiny-payment-flow"
],
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"decisionStripUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"decisionStripIsFree": true,
"paymentAttemptedByDecisionStrip": false,
"paidRouteCalledByDecisionStrip": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"agentExecutionProofPacketAvailable": true,
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"agentExecutionProofCtaAvailable": true,
"agentExecutionProofCta": {
"available": true,
"mode": "promoted-buyer-executable-proof-cta",
"title": "Buyer-run proof packet",
"label": "Run with buyer-approved x402 wallet",
"copy": "Wallet-capable buyers can use the exact one-cent proof packet now. ApexScout only exposes the packet; the buyer wallet decides whether to pay.",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"method": "GET",
"route": "/api/opportunity-check",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"conversionBet": "Promote the already-safe buyer-execution packet above passive proof copy so x402-capable clients have one obvious next action.",
"successMetric": "opportunityCheckGetProofCompletions",
"unpaidSourceBucket": "agentExecutionProofPacket",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"buyerDecision": {
"continueOnlyIf": "The buyer approves the route, amount, network, and one retry from an x402-capable wallet runtime.",
"stopIf": "Approval is missing, the client cannot attach x402 payment, or the route/amount/network differs."
},
"noSpendBoundary": {
"ctaIsFreeToRead": true,
"normalBrowserGetsUnpaid402": true,
"paymentAttemptedByCta": false,
"paidRouteCalledByApexScout": false,
"automaticSpending": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"walletReadinessStripAvailable": true,
"walletReadinessStrip": {
"available": true,
"mode": "buyer-wallet-readiness-strip",
"title": "Before you run the command",
"checklist": [
"Your x402 wallet/client is authenticated.",
"Your wallet has at least $0.01 USDC available on Base.",
"You approve the route: GET /api/opportunity-check.",
"You approve the max amount: 10000 atomic USDC.",
"You understand unpaid HTTP 402 is not revenue.",
"You understand paid proof means HTTP 200 after your own wallet retry."
],
"copy": "ApexScout does not run this command for you. Your buyer-controlled wallet decides whether to spend.",
"route": "/api/opportunity-check",
"method": "GET",
"amountAtomicUsdc": "10000",
"priceUsd": "0.01",
"network": "eip155:8453",
"noFundingAdvice": true,
"noTradingAdvice": true,
"noPrivateKeyAdvice": true,
"noOnrampAdvice": true,
"noSpendBoundary": {
"stripIsFree": true,
"paymentAttemptedByStrip": false,
"paidRouteCalledByStrip": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"buyerAgentCommandCopyAvailable": true,
"buyerAgentCommandCopy": {
"available": true,
"mode": "buyer-agent-command-copy",
"title": "Wallet-ready? Copy this command",
"command": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"requestBodyRequired": false,
"walletMustBeAuthenticated": true,
"walletNeedsSufficientUsdc": true,
"apexScoutRunsCommand": false,
"copyingIsPayment": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"sourceBucketCompatibility": {
"oldPacketSourceStillSupported": "agent-execution-proof-packet",
"newCommandCopySource": "agent-execution-command-copy",
"unpaidSourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"topSourceTagsCounter": "opportunityCheckGetProofUnpaidTopSourceTags"
},
"microcopy": "Copying is not payment. Running this command from your own authenticated wallet may spend up to 10000 atomic USDC if you approve it.",
"prerequisites": [
"Authenticated x402 wallet/client.",
"At least $0.01 USDC on Base."
],
"approvalCopy": "This command can spend up to 10000 atomic USDC only if your buyer wallet approves.",
"copyingIsNotPaymentCopy": "Copying this command is not payment.",
"apexScoutRunsCommandCopy": "ApexScout does not run this command.",
"unpaidChallengeCopy": "Unpaid HTTP 402 is expected before payment.",
"paidCompletionCopy": "Paid proof completes only when your buyer-controlled x402 retry returns HTTP 200.",
"placement": {
"x402Proof": "above-proof-detail-sections",
"chatTinyPaymentFlow": "above-chat-flow-detail-sections",
"primaryForWalletCapableAgents": true,
"normalNoSpendPathRemainsPrimary": true
},
"buttons": [
{
"label": "Copy command",
"copies": "command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy route only",
"copies": "route",
"value": "/api/opportunity-check?src=agent-execution-command-copy",
"executesPayment": false,
"opensPaidRoute": false
}
],
"telemetry": {
"commandCopyTelemetryAdded": false,
"skippedReason": "The release keeps the buttons copy-only and avoids adding a client-side analytics call; the new source tag is still available when a buyer-run agent command reaches the unpaid 402 route.",
"copyIsRevenue": false,
"copyIsPayment": false,
"unpaidChallengeSourceBucket": "agentExecutionCommandCopy"
},
"noSpendBoundary": {
"copyPanelIsFree": true,
"copyingExecutesPayment": false,
"copyingOpensPaidRoute": false,
"paidRouteCalledByCopyPanel": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"privateKeysRequested": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false
}
},
"agentReceiptCloseStripAvailable": true,
"agentReceiptCloseStrip": {
"available": true,
"mode": "agent-receipt-close-strip",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Receipt rule accepted? Copy the proof command",
"purpose": "Put the Agent Receipt Contract directly beside the buyer-agent payment command so x402-capable clients know the exact proof standard before retrying.",
"sourceTag": "agent-receipt-contract",
"sourceBucket": "agentReceiptContract",
"method": "GET",
"route": "/api/opportunity-check",
"href": "/api/opportunity-check?src=agent-receipt-contract",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract",
"command": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"routeWithSource": "/api/opportunity-check?src=agent-receipt-contract",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"firstScreenPlacement": {
"x402Proof": "before-wallet-command-copy",
"chatTinyPaymentFlow": "before-wallet-command-copy",
"makeReceiptRuleVisibleBeforePaymentCommand": true,
"normalNoSpendPathRemainsPrimary": true
},
"receiptRule": {
"payOnlyIf": "Your buyer agent accepts that only HTTP 200 after a buyer-controlled x402 retry counts as paid proof.",
"rejectIf": "The client treats HTTP 402, copied text, monitor reads, route mismatch, amount mismatch, network mismatch, or repeated retry loops as proof.",
"unpaid402IsNotRevenue": true,
"paidProofRequiresHttp200": true,
"buyerControlsWalletAndRetry": true,
"stopAfterOneSuccessfulPaidResponse": true
},
"visibleBuyerCopy": [
"Accept the receipt rule before copying the command.",
"HTTP 402 is only the unpaid challenge.",
"HTTP 200 after your buyer-controlled retry is the paid proof.",
"ApexScout does not run this command and does not control the wallet."
],
"buttons": [
{
"label": "Copy receipt-bound command",
"copies": "command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy receipt route",
"copies": "route",
"value": "/api/opportunity-check?src=agent-receipt-contract",
"executesPayment": false,
"opensPaidRoute": false
}
],
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentReceiptContract",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"successSignal": "agentReceiptContract source bucket moves only when a buyer/client requests the paid proof route with the receipt-contract source tag."
},
"noSpendBoundary": {
"closeStripIsFree": true,
"copyingExecutesPayment": false,
"copyingOpensPaidRoute": false,
"paymentAttemptedByCloseStrip": false,
"paidRouteCalledByCloseStrip": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"privateKeysRequested": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false
}
},
"buyerWalletCloseAvailable": true,
"buyerWalletClose": {
"available": true,
"mode": "buyer-wallet-close",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Can your wallet pay now?",
"purpose": "Separate wallet-ready buyers from buyers who still need setup before the one-cent proof retry.",
"route": "/api/buyer-wallet-close-intent",
"method": "GET",
"routeIsFree": true,
"sourceTags": {
"walletReady": "agent-receipt-contract",
"cannotPayYet": "agent-wallet-skill-pack",
"copyPaidProofCommand": "agent-execution-command-copy",
"copyReceiptBoundCommand": "agent-receipt-contract",
"copyWalletSetupCommand": "agent-wallet-skill-pack"
},
"actions": {
"walletReady": {
"action": "wallet_ready",
"path": "/api/buyer-wallet-close-intent?action=wallet_ready&src=agent-receipt-contract",
"url": "https://apexscout.ai/api/buyer-wallet-close-intent?action=wallet_ready&src=agent-receipt-contract",
"method": "GET",
"sourceTag": "agent-receipt-contract",
"executesPayment": false,
"opensPaidRoute": false
},
"cannotPayYet": {
"action": "cannot_pay_yet",
"path": "/api/buyer-wallet-close-intent?action=cannot_pay_yet&src=agent-wallet-skill-pack",
"url": "https://apexscout.ai/api/buyer-wallet-close-intent?action=cannot_pay_yet&src=agent-wallet-skill-pack",
"method": "GET",
"sourceTag": "agent-wallet-skill-pack",
"executesPayment": false,
"opensPaidRoute": false
},
"copyPaidProofCommand": {
"action": "copy_paid_proof_command",
"path": "/api/buyer-wallet-close-intent?action=copy_paid_proof_command&src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/buyer-wallet-close-intent?action=copy_paid_proof_command&src=agent-execution-command-copy",
"method": "GET",
"sourceTag": "agent-execution-command-copy",
"executesPayment": false,
"opensPaidRoute": false
},
"copyReceiptBoundCommand": {
"action": "copy_receipt_bound_command",
"path": "/api/buyer-wallet-close-intent?action=copy_receipt_bound_command&src=agent-receipt-contract",
"url": "https://apexscout.ai/api/buyer-wallet-close-intent?action=copy_receipt_bound_command&src=agent-receipt-contract",
"method": "GET",
"sourceTag": "agent-receipt-contract",
"executesPayment": false,
"opensPaidRoute": false
},
"copyWalletSetupCommand": {
"action": "copy_wallet_setup_command",
"path": "/api/buyer-wallet-close-intent?action=copy_wallet_setup_command&src=agent-wallet-skill-pack",
"url": "https://apexscout.ai/api/buyer-wallet-close-intent?action=copy_wallet_setup_command&src=agent-wallet-skill-pack",
"method": "GET",
"sourceTag": "agent-wallet-skill-pack",
"executesPayment": false,
"opensPaidRoute": false
}
},
"visibleBuyerCopy": [
"Choose the wallet state before copying a command.",
"This signal is a free GET request and does not open the paid route.",
"If the wallet is ready, copy the command and run it only from the buyer-controlled wallet.",
"If the wallet is not ready, stop before payment and fix wallet authentication, balance, route, amount, or network."
],
"paidProofCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"receiptBoundCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"walletSetupNote": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof.",
"buttons": [
{
"label": "I can pay now",
"action": "wallet_ready",
"copies": null,
"value": null,
"intentPath": "/api/buyer-wallet-close-intent?action=wallet_ready&src=agent-receipt-contract",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "I can't pay yet",
"action": "cannot_pay_yet",
"copies": null,
"value": null,
"intentPath": "/api/buyer-wallet-close-intent?action=cannot_pay_yet&src=agent-wallet-skill-pack",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy paid proof command",
"action": "copy_paid_proof_command",
"copies": "command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"intentPath": "/api/buyer-wallet-close-intent?action=copy_paid_proof_command&src=agent-execution-command-copy",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy receipt-bound command",
"action": "copy_receipt_bound_command",
"copies": "command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"intentPath": "/api/buyer-wallet-close-intent?action=copy_receipt_bound_command&src=agent-receipt-contract",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy wallet setup note",
"action": "copy_wallet_setup_command",
"copies": "wallet_setup_note",
"value": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof.",
"intentPath": "/api/buyer-wallet-close-intent?action=copy_wallet_setup_command&src=agent-wallet-skill-pack",
"executesPayment": false,
"opensPaidRoute": false
}
],
"telemetryInterpretation": {
"mode": "aggregate-only-buyer-wallet-close-intent",
"counter": "buyerWalletCloseSignals.walletCloseIntentEvents",
"walletReadyCounter": "buyerWalletCloseSignals.walletReadyIntent",
"cannotPayYetCounter": "buyerWalletCloseSignals.cannotPayYet",
"copyPaidProofCommandCounter": "buyerWalletCloseSignals.copyPaidProofCommand",
"copyReceiptBoundCommandCounter": "buyerWalletCloseSignals.copyReceiptBoundCommand",
"copyWalletSetupCommandCounter": "buyerWalletCloseSignals.copyWalletSetupCommand",
"intentIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"firstScreenPlacement": {
"x402Proof": "before-receipt-and-command-copy",
"chatTinyPaymentFlow": "before-receipt-and-command-copy",
"walletStateVisibleBeforePaymentCommand": true,
"normalNoSpendPathRemainsPrimary": true
},
"noSpendBoundary": {
"panelIsFree": true,
"intentRouteIsFree": true,
"intentRouteMethod": "GET",
"copyingExecutesPayment": false,
"clickingStateExecutesPayment": false,
"clickingStateOpensPaidRoute": false,
"paidRouteCalledByPanel": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"privateKeysRequested": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false
}
},
"http402ClosePacketAvailable": true,
"http402ClosePacket": {
"available": true,
"mode": "buyer-agent-402-close-packet",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "402 close packet",
"purpose": "Put the buyer-agent close instructions inside the unpaid HTTP 402 response so x402-capable clients can finish the proof without hunting through a page.",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"command": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"closeMessage": "You reached the ApexScout paid proof gate. To complete the proof, retry this exact GET route from an authenticated x402 wallet/client with max amount 10000 atomic USDC on Base mainnet.",
"buyerAgentInstruction": "If the buyer approved this one-cent proof, run the command exactly once and treat only HTTP 200 as the paid completion. If any route, amount, network, or approval detail differs, stop.",
"whatHttp200Proves": [
"The buyer-controlled x402 retry reached ApexScout's one-cent proof route.",
"The paid route returned structured JSON after payment verification.",
"The aggregate paid proof completion counter is allowed to move only after HTTP 200."
],
"notProofOf": [
"Coinbase, AWS, Stripe, Bazaar, AgentCore, Base, marketplace, or protocol endorsement.",
"Guaranteed revenue, trading results, investment outcome, legal advice, tax advice, lending advice, or compliance approval.",
"Buyer identity, wallet-level activity, secret signing material, or broader permission to spend."
],
"continueIf": [
"The buyer explicitly approved this one-cent proof.",
"The client can attach an x402 payment authorization.",
"The retry route is exactly GET /api/opportunity-check?src=agent-execution-command-copy.",
"The max amount is exactly 10000 atomic USDC.",
"The network is exactly eip155:8453."
],
"stopIf": [
"The wallet is not authenticated.",
"The wallet has insufficient USDC on Base.",
"The client cannot attach x402 payment.",
"The max amount is lower than 10000 atomic USDC.",
"The network is not eip155:8453.",
"The buyer did not approve this exact spend.",
"The agent plans to retry more than once just to clear a metric."
],
"failureBranches": {
"walletNotAuthenticated": {
"bucket": "wallet_not_authenticated",
"buyerAction": "Authenticate the buyer-controlled x402 wallet/client before retrying.",
"apexScoutAction": "Do nothing automatically."
},
"insufficientBaseUsdc": {
"bucket": "insufficient_base_usdc",
"buyerAction": "Stop until the buyer-controlled wallet has enough Base USDC for the one-cent proof.",
"apexScoutAction": "Do not fund, trade, onramp, or advise funding."
},
"maxAmountTooLow": {
"bucket": "max_amount_too_low",
"buyerAction": "Use max amount 10000 atomic USDC or stop.",
"apexScoutAction": "Do not lower route price or change payment requirements."
},
"wrongNetwork": {
"bucket": "wrong_network",
"buyerAction": "Use eip155:8453 Base mainnet or stop.",
"apexScoutAction": "Do not switch rails."
},
"paymentDeclined": {
"bucket": "payment_declined",
"buyerAction": "Stop unless the buyer explicitly approves another attempt.",
"apexScoutAction": "Do not retry payment for the buyer."
}
},
"telemetryInterpretation": {
"sourceTag": "agent-execution-command-copy",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionCommandCopy",
"closePacketUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"closePacketIsFree": true,
"closePacketExecutesPayment": false,
"paymentAttemptedByClosePacket": false,
"paidRouteCalledByClosePacket": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false,
"secretSigningMaterialRequested": false
}
},
"buyerProofExecutionCloseoutAvailable": true,
"buyerProofExecutionCloseout": {
"available": true,
"mode": "buyer-proof-execution-closeout",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Copied? Finish with one buyer-run proof retry",
"purpose": "Close the gap after a buyer agent marks its wallet ready or copies the command: run exactly one buyer-approved proof retry, classify the response, then stop.",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-receipt-contract",
"method": "GET",
"href": "/api/opportunity-check?src=agent-receipt-contract",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"primarySourceTag": "agent-receipt-contract",
"primarySourceBucket": "agentReceiptContract",
"commandCopySourceTag": "agent-execution-command-copy",
"commandCopySourceBucket": "agentExecutionCommandCopy",
"buyerWalletCloseSignalCounter": "buyerWalletCloseSignals.walletCloseIntentEvents",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"firstScreenPlacement": {
"x402Proof": "after-wallet-close-before-receipt-command",
"chatTinyPaymentFlow": "after-wallet-close-before-receipt-command",
"closeoutVisibleBeforeCommandCopy": true,
"normalNoSpendPathRemainsPrimary": true
},
"closeoutRule": {
"ifWalletReadyAndCommandCopied": "Run the receipt-bound command exactly once from the buyer-controlled x402 wallet if the buyer approved the route, amount, and network.",
"ifCannotPayYet": "Do not retry payment. Use the wallet setup note and stop until wallet authentication, Base USDC balance, route, amount, and network match.",
"ifResponseIs402": "Treat the result as unpaid. It is a challenge, not a paid proof, and it should not move revenue.",
"ifResponseIs200": "Treat the result as paid proof only after the buyer-controlled x402 retry returns structured HTTP 200 JSON.",
"ifRetryIsRejected": "Read the sanitized edge failure status once, classify the rejection, and stop before another paid attempt.",
"stopAfter": "one buyer-approved paid retry unless a human operator explicitly approves another capped diagnostic"
},
"buyerAgentChecklist": [
"Wallet is authenticated by the buyer, not ApexScout.",
"Buyer approves GET /api/opportunity-check with source agent-receipt-contract.",
"Maximum spend is exactly 10000 atomic USDC.",
"Network is exactly eip155:8453 Base mainnet.",
"Run one retry, then classify HTTP 402, HTTP 200, or a sanitized edge failure."
],
"copyReadyCommands": {
"receiptBoundProofCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"commandCopyProofCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"edgeFailureReadCommand": "curl -s \"https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure\"",
"walletSetupNote": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof."
},
"safeReadouts": {
"edgeHealthPath": "/__apexscout/cloudflare-x402/health",
"edgeLastFailurePath": "/__apexscout/cloudflare-x402/health/last-failure",
"edgeLastFailureUrl": "https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure",
"originLastFailurePath": "/api/cloudflare-x402-edge-failure/last",
"originLastFailureUrl": "https://apexscout.ai/api/cloudflare-x402-edge-failure/last",
"noPaymentAttemptedByRead": true,
"buyerLevelDataExposed": false,
"rawPaymentPayloadExposed": false,
"privateKeysRequested": false
},
"buttons": [
{
"label": "Copy receipt-bound proof command",
"copies": "receipt_bound_command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy edge failure readout",
"copies": "edge_failure_read_command",
"value": "curl -s \"https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure\"",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy wallet setup note",
"copies": "wallet_setup_note",
"value": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof.",
"executesPayment": false,
"opensPaidRoute": false
}
],
"telemetryInterpretation": {
"walletReadyCounter": "buyerWalletCloseSignals.walletReadyIntent",
"copyPaidProofCommandCounter": "buyerWalletCloseSignals.copyPaidProofCommand",
"copyReceiptBoundCommandCounter": "buyerWalletCloseSignals.copyReceiptBoundCommand",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"failureReadoutIsRevenue": false,
"copyIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"newCounterAdded": false,
"reason": "The closeout reuses existing aggregate wallet-close, source-bucket, and paid-completion counters so it improves decision clarity without creating fake movement."
},
"noSpendBoundary": {
"closeoutIsFree": true,
"closeoutExecutesPayment": false,
"copyingExecutesPayment": false,
"copyingOpensPaidRoute": false,
"failureReadoutExecutesPayment": false,
"failureReadoutCallsPaidRoute": false,
"paymentAttemptedByCloseout": false,
"paidRouteCalledByCloseout": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"productionPostCreated": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false,
"cloudflareMutationCreated": false,
"apifyActorRunCreated": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"privateKeysRequested": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false,
"rawPaymentPayloadExposed": false
},
"safetyClaims": {
"guaranteedRevenueClaimed": false,
"officialEndorsementClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareMonetizationGatewayReadinessAvailable": true,
"cloudflareMonetizationGatewayReadiness": {
"available": true,
"mode": "cloudflare-monetization-gateway-readiness",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare live edge status",
"releaseReportingMode": "worker-and-origin-split",
"appRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"originRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"originReleasePath": "/status",
"workerRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"workerSourceVersion": "2.2.179",
"workerHealthReleaseContract": {
"healthPath": "/__apexscout/cloudflare-x402/health",
"releaseFieldMeans": "workerRelease",
"workerReleaseField": "workerRelease",
"originReleaseField": "originRelease",
"originReleasePath": "/status",
"originReleaseReadIsNoSpend": true,
"mismatchIsActionableOnlyWhenWorkerHealthFails": true
},
"sourceSignal": {
"name": "Cloudflare Monetization Gateway",
"sourceUrl": "https://blog.cloudflare.com/monetization-gateway/",
"articleUrl": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving x402 payment enforcement toward edge-managed route rules. ApexScout now serves the one-cent proof path through a narrow Cloudflare Worker while keeping Railway as the origin fallback."
},
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"officialCloudflareMonetizationGatewayClaimed": false,
"officialCloudflareEndorsementClaimed": false,
"cloudflareBillingRulesPackAvailable": true,
"cloudflareBillingRulesPath": "/api/cloudflare-billing-rules",
"cloudflareBillingRulesWellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"cloudflareX402WorkerConfigAvailable": true,
"cloudflareX402WorkerConfigPath": "/api/cloudflare-x402-worker-config",
"cloudflareX402WorkerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"cloudflareBillingRulesPack": {
"available": true,
"mode": "cloudflare-billing-rules-pack",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare billing rules pack",
"purpose": "Document ApexScout's live Cloudflare edge Worker route and existing x402 paid-route policy without changing price, seller wallet, or buyer-controlled payment rules.",
"apiPath": "/api/cloudflare-billing-rules",
"wellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"workerConfigPath": "/api/cloudflare-x402-worker-config",
"workerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceSignals": [
{
"name": "Cloudflare Monetization Gateway",
"url": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving toward edge-managed payment rules, including route-level x402 enforcement."
},
{
"name": "Cloudflare x402 proxy",
"url": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"interpretedAs": "A Cloudflare Worker can sit in front of an existing HTTP origin, return 402, verify x402 payment, and forward the approved request."
},
{
"name": "Cloudflare Pay Per Crawl",
"url": "https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/",
"interpretedAs": "Cloudflare's crawler billing direction reinforces clear allow, charge, and block rules for automated clients."
}
],
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"cloudflareWorkerConfigPrepared": true,
"cloudflareRulesCreated": true,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRulesCreated": false,
"officialCloudflareEndorsementClaimed": false,
"monetizationGatewayApiPubliclyAvailable": false,
"monetizationGatewayApiStatus": "planned-or-early-access",
"currentDeployableOption": "cloudflare-x402-edge-settlement-worker",
"originFallbackRequired": true,
"originStillEnforcesX402": true,
"originEdgeSettlementBridgePrepared": true,
"edgeSettlementEligiblePaidRuleCount": 1,
"originAuthoritativePaidRuleCount": 1,
"billingRuleCount": 5,
"paidBillingRuleCount": 2,
"freeAllowRuleCount": 2,
"blockRuleCount": 1,
"paidRules": [
{
"id": "apexscout-one-cent-proof",
"type": "charge_x402",
"method": "GET",
"pattern": "/api/opportunity-check",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": true,
"originEdgeSettlementBypassRequired": true,
"originStillEnforcesX402": false,
"liveRuleMode": "edge-settled-with-signed-origin-bridge"
},
{
"id": "apexscout-agent-revenue-audit",
"type": "charge_x402",
"method": "POST",
"pattern": "/api/agent-revenue-audit",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"priceUsd": "5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": false,
"originEdgeSettlementBypassRequired": false,
"originStillEnforcesX402": true,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"reasonEdgeSettlementDeferred": "This POST route should not be edge-settled until the buyer payload can be validated before charge."
}
],
"allowRules": [
{
"id": "apexscout-free-agent-metadata",
"type": "allow_free",
"patterns": [
"/",
"/docs.json",
"/llms.txt",
"/skill.md",
"/.well-known/agent.json",
"/agent-capabilities.json",
"/api/public-agent",
"/mcp-tool-pack",
"/api/mcp-tool-pack",
"/.well-known/mcp.json",
"/api/agentcore-openapi.json",
"/.well-known/apexscout-monetization-policy.json",
"/api/agent-monetization-policy",
"/.well-known/apexscout-paid-tools.json",
"/api/paid-mcp-tools",
"/agent-wallet-skill-pack",
"/api/agent-wallet-skill-pack",
"/.well-known/apexscout-agent-wallet-skill.json",
"/apexscout-agent-wallet-skill.md",
"/.well-known/apexscout-agent-wallet-skill.md",
"/apify-x402-upstream-readiness",
"/api/apify-x402-upstream-readiness",
"/.well-known/apexscout-apify-x402-upstream.json",
"/cloudflare-monetization-gateway-rules",
"/api/cloudflare-monetization-gateway-rules",
"/.well-known/apexscout-cloudflare-monetization-gateway-rules.json",
"/agent-receipt-contract",
"/api/agent-receipt-contract",
"/.well-known/apexscout-agent-receipt-contract.json",
"/api/cloudflare-billing-rules",
"/.well-known/apexscout-cloudflare-billing-rules.json",
"/api/cloudflare-x402-worker-config",
"/.well-known/apexscout-cloudflare-x402-worker.json"
],
"reason": "Payment-aware agents should inspect policy, prices, and route caps before spend.",
"paidRetryRequired": false
},
{
"id": "apexscout-free-proof-and-preflight",
"type": "allow_free",
"patterns": [
"/x402-proof",
"/api/x402-proof",
"/chat-tiny-payment-flow",
"/api/chat-tiny-payment-flow",
"/api/agent-revenue-audit-builder/action-pack",
"/api/buyer-payment-scope-check",
"/api/buyer-agent-payment-safety",
"/api/x402-security-readiness"
],
"reason": "No-spend proof, preflight, Builder, Scope, and payment-safety surfaces should stay readable.",
"paidRetryRequired": false
}
],
"blockRules": [
{
"id": "apexscout-private-operator-surfaces",
"type": "block_public_access",
"patterns": [
"/admin/*",
"/api/admin/*"
],
"reason": "Private operator surfaces are not public buyer-agent resources.",
"paidRetryAvailable": false
}
],
"workerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"operatorApplyPlan": [
"Confirm the ApexScout zone remains active on Cloudflare and the route remains proxied.",
"Set APEXSCOUT_X402_PAY_TO to the existing ApexScout x402 seller payTo address in Cloudflare secrets or vars.",
"Set APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET as the same shared secret in Cloudflare and Railway.",
"Review cloudflare/x402-proxy/wrangler.jsonc against this API response.",
"Keep Worker changes inside explicit Cloudflare deployment windows.",
"Run unpaid 402 checks first, then one buyer-approved paid 200 proof for the one-cent proof rule when a paid proof is explicitly authorized.",
"Keep Railway-origin x402 as rollback until both edge rules match route, method, price, network, and paid proof."
],
"blockedUntil": [
"One buyer-approved paid HTTP 200 proof is still required before calling the proof route commercially converted.",
"Official Cloudflare managed Monetization Gateway rules are not claimed or required for the current Worker bridge."
],
"safeDryRunCommands": [
"npm run cloudflare:billing-rules:print",
"npm run cloudflare:x402-proxy:smoke",
"npm run cloudflare:x402-proxy:typecheck"
],
"liveApplyCommandTemplate": "npm --prefix cloudflare/x402-proxy run deploy",
"postIntegrationVerificationPlan": [
"GET /status and confirm the current ApexScout release.",
"GET /api/cloudflare-billing-rules and confirm the same paid rule count.",
"GET /api/cloudflare-x402-worker-config and confirm protected pattern prices.",
"Unpaid-check the protected route and confirm HTTP 402 only after an explicit deploy window.",
"Run one buyer-approved paid x402 proof only after the unpaid challenge matches."
],
"noSpendBoundary": {
"packIsFree": true,
"paymentAttemptedByPack": false,
"paidRouteCalledByPack": false,
"cloudflareApiCalledByApexScout": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerDeployedByApexScout": true,
"dnsChangedByApexScout": true,
"packReadChangesCloudflare": false,
"packReadChangesDns": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareX402WorkerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"waitlistOrEarlyAccessRequired": false,
"noDnsChangeMade": false,
"dnsChangedByLiveCutover": true,
"noCloudflareApiCallMade": false,
"noCloudflareApiCallMadeByRead": true,
"noPaymentRuleCreated": false,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"noPaidRouteChanged": true,
"noPriceChanged": true,
"noSellerWalletChanged": true,
"noPaymentRailChanged": true,
"apexScoutRemainsSourceOfTruth": true,
"candidateRules": [
{
"id": "apexscout-one-cent-proof",
"purpose": "Edge-readable one-cent x402 proof route for wallet-capable buyer agents.",
"method": "GET",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"amountAtomicUsdc": "10000",
"priceUsd": "0.01",
"displayPrice": "$0.01",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerApprovalRequired": true,
"currentOriginStillEnforcesX402": true,
"gatewayCanMirrorButNotOverrideOrigin": true
},
{
"id": "apexscout-agent-revenue-audit",
"purpose": "Higher-value builder monetization audit route.",
"method": "POST",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"amountAtomicUsdc": "5000000",
"priceUsd": "5.00",
"displayPrice": "$5.00",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerApprovalRequired": true,
"currentOriginStillEnforcesX402": true,
"gatewayCanMirrorButNotOverrideOrigin": true
}
],
"migrationPlan": [
"Keep the Cloudflare Worker route narrow and use Railway as the origin fallback.",
"Use these candidate rules as the review checklist before any future official managed-gateway change.",
"Require unpaid HTTP 402 and buyer-controlled HTTP 200 proof for each route after any edge or gateway change.",
"Keep ApexScout aggregate metrics as the public conversion truth source.",
"Roll back to Railway-origin x402 if route, amount, network, or payment proof differs."
],
"operatorChecklist": {
"dnsChangeApproved": true,
"cloudflareApiTokenApproved": true,
"gatewayRuleCreationApproved": true,
"postDeployPaidProofRequiredBeforeClaimingGatewayLive": true,
"originFallbackRequired": true,
"compareGatewayRulesToCandidateRules": true
},
"noSpendBoundary": {
"readinessPacketIsFree": true,
"paymentAttemptedByReadinessPacket": false,
"paidRouteCalledByReadinessPacket": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerRouteCreated": true,
"cloudflareApiCalled": false,
"dnsChanged": false,
"dnsAlreadyProxiedThroughCloudflare": true,
"workerAlreadyDeployed": true,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"revenueOutcomeClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
},
"telemetryInterpretation": {
"readinessUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"watchCounters": "If unpaid proof counters move without paid completions, treat it as proof-route interest, not gateway success."
}
},
"cloudflareBillingRulesPackAvailable": true,
"cloudflareBillingRulesPack": {
"available": true,
"mode": "cloudflare-billing-rules-pack",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare billing rules pack",
"purpose": "Document ApexScout's live Cloudflare edge Worker route and existing x402 paid-route policy without changing price, seller wallet, or buyer-controlled payment rules.",
"apiPath": "/api/cloudflare-billing-rules",
"wellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"workerConfigPath": "/api/cloudflare-x402-worker-config",
"workerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceSignals": [
{
"name": "Cloudflare Monetization Gateway",
"url": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving toward edge-managed payment rules, including route-level x402 enforcement."
},
{
"name": "Cloudflare x402 proxy",
"url": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"interpretedAs": "A Cloudflare Worker can sit in front of an existing HTTP origin, return 402, verify x402 payment, and forward the approved request."
},
{
"name": "Cloudflare Pay Per Crawl",
"url": "https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/",
"interpretedAs": "Cloudflare's crawler billing direction reinforces clear allow, charge, and block rules for automated clients."
}
],
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"cloudflareWorkerConfigPrepared": true,
"cloudflareRulesCreated": true,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRulesCreated": false,
"officialCloudflareEndorsementClaimed": false,
"monetizationGatewayApiPubliclyAvailable": false,
"monetizationGatewayApiStatus": "planned-or-early-access",
"currentDeployableOption": "cloudflare-x402-edge-settlement-worker",
"originFallbackRequired": true,
"originStillEnforcesX402": true,
"originEdgeSettlementBridgePrepared": true,
"edgeSettlementEligiblePaidRuleCount": 1,
"originAuthoritativePaidRuleCount": 1,
"billingRuleCount": 5,
"paidBillingRuleCount": 2,
"freeAllowRuleCount": 2,
"blockRuleCount": 1,
"paidRules": [
{
"id": "apexscout-one-cent-proof",
"type": "charge_x402",
"method": "GET",
"pattern": "/api/opportunity-check",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": true,
"originEdgeSettlementBypassRequired": true,
"originStillEnforcesX402": false,
"liveRuleMode": "edge-settled-with-signed-origin-bridge"
},
{
"id": "apexscout-agent-revenue-audit",
"type": "charge_x402",
"method": "POST",
"pattern": "/api/agent-revenue-audit",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"priceUsd": "5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": false,
"originEdgeSettlementBypassRequired": false,
"originStillEnforcesX402": true,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"reasonEdgeSettlementDeferred": "This POST route should not be edge-settled until the buyer payload can be validated before charge."
}
],
"allowRules": [
{
"id": "apexscout-free-agent-metadata",
"type": "allow_free",
"patterns": [
"/",
"/docs.json",
"/llms.txt",
"/skill.md",
"/.well-known/agent.json",
"/agent-capabilities.json",
"/api/public-agent",
"/mcp-tool-pack",
"/api/mcp-tool-pack",
"/.well-known/mcp.json",
"/api/agentcore-openapi.json",
"/.well-known/apexscout-monetization-policy.json",
"/api/agent-monetization-policy",
"/.well-known/apexscout-paid-tools.json",
"/api/paid-mcp-tools",
"/agent-wallet-skill-pack",
"/api/agent-wallet-skill-pack",
"/.well-known/apexscout-agent-wallet-skill.json",
"/apexscout-agent-wallet-skill.md",
"/.well-known/apexscout-agent-wallet-skill.md",
"/apify-x402-upstream-readiness",
"/api/apify-x402-upstream-readiness",
"/.well-known/apexscout-apify-x402-upstream.json",
"/cloudflare-monetization-gateway-rules",
"/api/cloudflare-monetization-gateway-rules",
"/.well-known/apexscout-cloudflare-monetization-gateway-rules.json",
"/agent-receipt-contract",
"/api/agent-receipt-contract",
"/.well-known/apexscout-agent-receipt-contract.json",
"/api/cloudflare-billing-rules",
"/.well-known/apexscout-cloudflare-billing-rules.json",
"/api/cloudflare-x402-worker-config",
"/.well-known/apexscout-cloudflare-x402-worker.json"
],
"reason": "Payment-aware agents should inspect policy, prices, and route caps before spend.",
"paidRetryRequired": false
},
{
"id": "apexscout-free-proof-and-preflight",
"type": "allow_free",
"patterns": [
"/x402-proof",
"/api/x402-proof",
"/chat-tiny-payment-flow",
"/api/chat-tiny-payment-flow",
"/api/agent-revenue-audit-builder/action-pack",
"/api/buyer-payment-scope-check",
"/api/buyer-agent-payment-safety",
"/api/x402-security-readiness"
],
"reason": "No-spend proof, preflight, Builder, Scope, and payment-safety surfaces should stay readable.",
"paidRetryRequired": false
}
],
"blockRules": [
{
"id": "apexscout-private-operator-surfaces",
"type": "block_public_access",
"patterns": [
"/admin/*",
"/api/admin/*"
],
"reason": "Private operator surfaces are not public buyer-agent resources.",
"paidRetryAvailable": false
}
],
"workerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"operatorApplyPlan": [
"Confirm the ApexScout zone remains active on Cloudflare and the route remains proxied.",
"Set APEXSCOUT_X402_PAY_TO to the existing ApexScout x402 seller payTo address in Cloudflare secrets or vars.",
"Set APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET as the same shared secret in Cloudflare and Railway.",
"Review cloudflare/x402-proxy/wrangler.jsonc against this API response.",
"Keep Worker changes inside explicit Cloudflare deployment windows.",
"Run unpaid 402 checks first, then one buyer-approved paid 200 proof for the one-cent proof rule when a paid proof is explicitly authorized.",
"Keep Railway-origin x402 as rollback until both edge rules match route, method, price, network, and paid proof."
],
"blockedUntil": [
"One buyer-approved paid HTTP 200 proof is still required before calling the proof route commercially converted.",
"Official Cloudflare managed Monetization Gateway rules are not claimed or required for the current Worker bridge."
],
"safeDryRunCommands": [
"npm run cloudflare:billing-rules:print",
"npm run cloudflare:x402-proxy:smoke",
"npm run cloudflare:x402-proxy:typecheck"
],
"liveApplyCommandTemplate": "npm --prefix cloudflare/x402-proxy run deploy",
"postIntegrationVerificationPlan": [
"GET /status and confirm the current ApexScout release.",
"GET /api/cloudflare-billing-rules and confirm the same paid rule count.",
"GET /api/cloudflare-x402-worker-config and confirm protected pattern prices.",
"Unpaid-check the protected route and confirm HTTP 402 only after an explicit deploy window.",
"Run one buyer-approved paid x402 proof only after the unpaid challenge matches."
],
"noSpendBoundary": {
"packIsFree": true,
"paymentAttemptedByPack": false,
"paidRouteCalledByPack": false,
"cloudflareApiCalledByApexScout": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerDeployedByApexScout": true,
"dnsChangedByApexScout": true,
"packReadChangesCloudflare": false,
"packReadChangesDns": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareX402WorkerConfigAvailable": true,
"cloudflareX402WorkerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"agentMonetizationPolicyMatrixAvailable": true,
"agentMonetizationPolicyMatrix": {
"available": true,
"mode": "agent-monetization-policy-matrix",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Agent monetization policy matrix",
"purpose": "Give crawlers, buyer agents, edge gateways, and MCP clients one clear allow/charge/block map before they touch a paid route.",
"sourceSignals": [
{
"name": "Cloudflare Pay Per Crawl",
"sourceUrl": "https://blog.cloudflare.com/introducing-pay-per-crawl/",
"interpretedAs": "Agents and crawlers need a simple policy choice: free access, charged access, or blocked access."
},
{
"name": "Cloudflare Monetization Gateway",
"sourceUrl": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Paid APIs, datasets, pages, and MCP tools can be described as route-level payment rules before any buyer-controlled retry."
}
],
"policyUrl": "https://apexscout.ai/.well-known/apexscout-monetization-policy.json",
"apiPath": "/api/agent-monetization-policy",
"wellKnownPath": "/.well-known/apexscout-monetization-policy.json",
"paidMcpToolsManifest": "https://apexscout.ai/.well-known/apexscout-paid-tools.json",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareDnsProxied": true,
"officialCloudflareEndorsementClaimed": false,
"officialCloudflareMonetizationGatewayClaimed": false,
"cloudflareBillingRulesPackAvailable": true,
"cloudflareBillingRulesPath": "/api/cloudflare-billing-rules",
"cloudflareBillingRulesWellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"cloudflareBillingRulesPack": {
"available": true,
"mode": "cloudflare-billing-rules-pack",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare billing rules pack",
"purpose": "Document ApexScout's live Cloudflare edge Worker route and existing x402 paid-route policy without changing price, seller wallet, or buyer-controlled payment rules.",
"apiPath": "/api/cloudflare-billing-rules",
"wellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"workerConfigPath": "/api/cloudflare-x402-worker-config",
"workerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceSignals": [
{
"name": "Cloudflare Monetization Gateway",
"url": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving toward edge-managed payment rules, including route-level x402 enforcement."
},
{
"name": "Cloudflare x402 proxy",
"url": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"interpretedAs": "A Cloudflare Worker can sit in front of an existing HTTP origin, return 402, verify x402 payment, and forward the approved request."
},
{
"name": "Cloudflare Pay Per Crawl",
"url": "https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/",
"interpretedAs": "Cloudflare's crawler billing direction reinforces clear allow, charge, and block rules for automated clients."
}
],
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"cloudflareWorkerConfigPrepared": true,
"cloudflareRulesCreated": true,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRulesCreated": false,
"officialCloudflareEndorsementClaimed": false,
"monetizationGatewayApiPubliclyAvailable": false,
"monetizationGatewayApiStatus": "planned-or-early-access",
"currentDeployableOption": "cloudflare-x402-edge-settlement-worker",
"originFallbackRequired": true,
"originStillEnforcesX402": true,
"originEdgeSettlementBridgePrepared": true,
"edgeSettlementEligiblePaidRuleCount": 1,
"originAuthoritativePaidRuleCount": 1,
"billingRuleCount": 5,
"paidBillingRuleCount": 2,
"freeAllowRuleCount": 2,
"blockRuleCount": 1,
"paidRules": [
{
"id": "apexscout-one-cent-proof",
"type": "charge_x402",
"method": "GET",
"pattern": "/api/opportunity-check",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": true,
"originEdgeSettlementBypassRequired": true,
"originStillEnforcesX402": false,
"liveRuleMode": "edge-settled-with-signed-origin-bridge"
},
{
"id": "apexscout-agent-revenue-audit",
"type": "charge_x402",
"method": "POST",
"pattern": "/api/agent-revenue-audit",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"priceUsd": "5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": false,
"originEdgeSettlementBypassRequired": false,
"originStillEnforcesX402": true,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"reasonEdgeSettlementDeferred": "This POST route should not be edge-settled until the buyer payload can be validated before charge."
}
],
"allowRules": [
{
"id": "apexscout-free-agent-metadata",
"type": "allow_free",
"patterns": [
"/",
"/docs.json",
"/llms.txt",
"/skill.md",
"/.well-known/agent.json",
"/agent-capabilities.json",
"/api/public-agent",
"/mcp-tool-pack",
"/api/mcp-tool-pack",
"/.well-known/mcp.json",
"/api/agentcore-openapi.json",
"/.well-known/apexscout-monetization-policy.json",
"/api/agent-monetization-policy",
"/.well-known/apexscout-paid-tools.json",
"/api/paid-mcp-tools",
"/agent-wallet-skill-pack",
"/api/agent-wallet-skill-pack",
"/.well-known/apexscout-agent-wallet-skill.json",
"/apexscout-agent-wallet-skill.md",
"/.well-known/apexscout-agent-wallet-skill.md",
"/apify-x402-upstream-readiness",
"/api/apify-x402-upstream-readiness",
"/.well-known/apexscout-apify-x402-upstream.json",
"/cloudflare-monetization-gateway-rules",
"/api/cloudflare-monetization-gateway-rules",
"/.well-known/apexscout-cloudflare-monetization-gateway-rules.json",
"/agent-receipt-contract",
"/api/agent-receipt-contract",
"/.well-known/apexscout-agent-receipt-contract.json",
"/api/cloudflare-billing-rules",
"/.well-known/apexscout-cloudflare-billing-rules.json",
"/api/cloudflare-x402-worker-config",
"/.well-known/apexscout-cloudflare-x402-worker.json"
],
"reason": "Payment-aware agents should inspect policy, prices, and route caps before spend.",
"paidRetryRequired": false
},
{
"id": "apexscout-free-proof-and-preflight",
"type": "allow_free",
"patterns": [
"/x402-proof",
"/api/x402-proof",
"/chat-tiny-payment-flow",
"/api/chat-tiny-payment-flow",
"/api/agent-revenue-audit-builder/action-pack",
"/api/buyer-payment-scope-check",
"/api/buyer-agent-payment-safety",
"/api/x402-security-readiness"
],
"reason": "No-spend proof, preflight, Builder, Scope, and payment-safety surfaces should stay readable.",
"paidRetryRequired": false
}
],
"blockRules": [
{
"id": "apexscout-private-operator-surfaces",
"type": "block_public_access",
"patterns": [
"/admin/*",
"/api/admin/*"
],
"reason": "Private operator surfaces are not public buyer-agent resources.",
"paidRetryAvailable": false
}
],
"workerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"operatorApplyPlan": [
"Confirm the ApexScout zone remains active on Cloudflare and the route remains proxied.",
"Set APEXSCOUT_X402_PAY_TO to the existing ApexScout x402 seller payTo address in Cloudflare secrets or vars.",
"Set APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET as the same shared secret in Cloudflare and Railway.",
"Review cloudflare/x402-proxy/wrangler.jsonc against this API response.",
"Keep Worker changes inside explicit Cloudflare deployment windows.",
"Run unpaid 402 checks first, then one buyer-approved paid 200 proof for the one-cent proof rule when a paid proof is explicitly authorized.",
"Keep Railway-origin x402 as rollback until both edge rules match route, method, price, network, and paid proof."
],
"blockedUntil": [
"One buyer-approved paid HTTP 200 proof is still required before calling the proof route commercially converted.",
"Official Cloudflare managed Monetization Gateway rules are not claimed or required for the current Worker bridge."
],
"safeDryRunCommands": [
"npm run cloudflare:billing-rules:print",
"npm run cloudflare:x402-proxy:smoke",
"npm run cloudflare:x402-proxy:typecheck"
],
"liveApplyCommandTemplate": "npm --prefix cloudflare/x402-proxy run deploy",
"postIntegrationVerificationPlan": [
"GET /status and confirm the current ApexScout release.",
"GET /api/cloudflare-billing-rules and confirm the same paid rule count.",
"GET /api/cloudflare-x402-worker-config and confirm protected pattern prices.",
"Unpaid-check the protected route and confirm HTTP 402 only after an explicit deploy window.",
"Run one buyer-approved paid x402 proof only after the unpaid challenge matches."
],
"noSpendBoundary": {
"packIsFree": true,
"paymentAttemptedByPack": false,
"paidRouteCalledByPack": false,
"cloudflareApiCalledByApexScout": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerDeployedByApexScout": true,
"dnsChangedByApexScout": true,
"packReadChangesCloudflare": false,
"packReadChangesDns": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareX402WorkerConfigAvailable": true,
"cloudflareX402WorkerConfigPath": "/api/cloudflare-x402-worker-config",
"cloudflareX402WorkerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"cloudflareX402WorkerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"cloudflarePayPerCrawlIntegrated": false,
"noCrawlerBillingCreated": true,
"noCloudflareApiCallMade": false,
"noCloudflareApiCallMadeByRead": true,
"noPaymentRuleCreated": false,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"noPaidRouteChanged": true,
"noPriceChanged": true,
"noSellerWalletChanged": true,
"noPaymentRailChanged": true,
"routePolicyCount": 8,
"defaultPolicy": {
"action": "allow_free_public_metadata",
"appliesTo": "Public ApexScout-owned docs, manifests, readiness pages, and health surfaces.",
"paidRetryRequired": false,
"buyerLevelDataExposed": false
},
"routePolicies": [
{
"id": "public-docs-and-start-pages",
"action": "allow_free",
"routes": [
"/",
"/docs.json",
"/llms.txt",
"/skill.md",
"/agent-capabilities.json",
"/.well-known/agent.json",
"/api/public-agent"
],
"reason": "Agents need no-spend discovery and route selection before deciding whether to pay.",
"crawlerPolicy": "allow_public_metadata_only",
"paidRetryRequired": false
},
{
"id": "machine-readable-policy-and-tools",
"action": "allow_free",
"routes": [
"/.well-known/apexscout-monetization-policy.json",
"/api/agent-monetization-policy",
"/.well-known/apexscout-paid-tools.json",
"/api/paid-mcp-tools",
"/api/mcp-tool-pack",
"/.well-known/mcp.json",
"/api/agentcore-openapi.json"
],
"reason": "Payment-aware clients should inspect prices, routes, caps, and guardrails without spending.",
"crawlerPolicy": "allow_agent_metadata",
"paidRetryRequired": false
},
{
"id": "proof-pages-and-payment-education",
"action": "allow_free",
"routes": [
"/x402-proof",
"/api/x402-proof",
"/chat-tiny-payment-flow",
"/api/chat-tiny-payment-flow"
],
"reason": "These surfaces explain the one-cent proof and wallet-controlled retry; reading them is not payment.",
"crawlerPolicy": "allow_public_payment_instructions",
"paidRetryRequired": false
},
{
"id": "one-cent-proof",
"action": "charge_x402",
"method": "GET",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerControlledRetryOnly": true,
"crawlerPolicy": "charge_only_when_agent_chooses_paid_resource"
},
{
"id": "agent-revenue-audit",
"action": "charge_x402",
"method": "POST",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerControlledRetryOnly": true,
"crawlerPolicy": "charge_paid_builder_audit_only_after_buyer_approval"
},
{
"id": "builder-and-scope-preflight",
"action": "allow_free_preflight",
"routes": [
"/agent-revenue-audit-builder",
"/api/agent-revenue-audit-builder",
"/api/agent-revenue-audit-builder/action-pack",
"/buyer-payment-scope-check",
"/api/buyer-payment-scope-check",
"/buyer-agent-payment-safety",
"/api/buyer-agent-payment-safety"
],
"reason": "Preflight and safety checks reduce accidental spend and do not execute payment.",
"crawlerPolicy": "allow_no_spend_prep_surfaces",
"paidRetryRequired": false
},
{
"id": "admin-and-private-surfaces",
"action": "block_public_access",
"routes": [
"/admin/*",
"/api/admin/*"
],
"reason": "Private operator surfaces are not public buyer-agent resources.",
"crawlerPolicy": "block",
"paidRetryAvailable": false
},
{
"id": "third-party-outreach-and-catalog-crawl",
"action": "not_performed_by_apexscout",
"routes": [],
"reason": "ApexScout does not scrape catalogs, contact third parties, create fake traffic, post, DM, email, or crawl competitors.",
"crawlerPolicy": "blocked_by_operating_boundary",
"paidRetryAvailable": false
}
],
"crawlerAndAgentRules": {
"allow": [
"Read public docs, manifests, policy files, OpenAPI, MCP metadata, proof pages, and no-spend preflight surfaces.",
"Use unpaid HTTP 402 as a route-health/payment-requirements signal, not as revenue."
],
"charge": [
"Charge only the existing one-cent proof route or the existing $5 Agent Revenue Audit route.",
"Require buyer-controlled x402 retry before any paid completion is counted."
],
"block": [
"Block admin/private surfaces from public policy.",
"Do not provide a paid bypass for scraping, third-party discovery, fake traffic, outreach, or buyer-level data."
]
},
"edgeGatewayCandidate": {
"readyToReview": true,
"cloudflareRuleCreated": false,
"firstRuleToMirror": "one-cent-proof",
"secondRuleToMirror": "agent-revenue-audit",
"rollbackRequirement": "Railway-origin x402 remains the fallback until each edge rule proves unpaid 402 and paid 200."
},
"noSpendBoundary": {
"policyIsFree": true,
"paymentAttemptedByPolicy": false,
"paidRouteCalledByPolicy": false,
"cloudflareApiCalled": false,
"crawlerBillingCreated": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"paidMcpToolManifestAvailable": true,
"paidMcpToolManifest": {
"available": true,
"mode": "paid-mcp-tool-manifest",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "ApexScout paid MCP tool manifest",
"purpose": "Make ApexScout's payable resources obvious to MCP-style clients without opening a paid route or simulating payment.",
"apiPath": "/api/paid-mcp-tools",
"wellKnownPath": "/.well-known/apexscout-paid-tools.json",
"policyPath": "/.well-known/apexscout-monetization-policy.json",
"policyUrl": "https://apexscout.ai/.well-known/apexscout-monetization-policy.json",
"cloudflareBillingRulesPath": "/api/cloudflare-billing-rules",
"cloudflareBillingRulesWellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"cloudflareBillingRulesPackAvailable": true,
"cloudflareBillingRulesPack": {
"available": true,
"mode": "cloudflare-billing-rules-pack",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare billing rules pack",
"purpose": "Document ApexScout's live Cloudflare edge Worker route and existing x402 paid-route policy without changing price, seller wallet, or buyer-controlled payment rules.",
"apiPath": "/api/cloudflare-billing-rules",
"wellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"workerConfigPath": "/api/cloudflare-x402-worker-config",
"workerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceSignals": [
{
"name": "Cloudflare Monetization Gateway",
"url": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving toward edge-managed payment rules, including route-level x402 enforcement."
},
{
"name": "Cloudflare x402 proxy",
"url": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"interpretedAs": "A Cloudflare Worker can sit in front of an existing HTTP origin, return 402, verify x402 payment, and forward the approved request."
},
{
"name": "Cloudflare Pay Per Crawl",
"url": "https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/",
"interpretedAs": "Cloudflare's crawler billing direction reinforces clear allow, charge, and block rules for automated clients."
}
],
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"cloudflareWorkerConfigPrepared": true,
"cloudflareRulesCreated": true,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRulesCreated": false,
"officialCloudflareEndorsementClaimed": false,
"monetizationGatewayApiPubliclyAvailable": false,
"monetizationGatewayApiStatus": "planned-or-early-access",
"currentDeployableOption": "cloudflare-x402-edge-settlement-worker",
"originFallbackRequired": true,
"originStillEnforcesX402": true,
"originEdgeSettlementBridgePrepared": true,
"edgeSettlementEligiblePaidRuleCount": 1,
"originAuthoritativePaidRuleCount": 1,
"billingRuleCount": 5,
"paidBillingRuleCount": 2,
"freeAllowRuleCount": 2,
"blockRuleCount": 1,
"paidRules": [
{
"id": "apexscout-one-cent-proof",
"type": "charge_x402",
"method": "GET",
"pattern": "/api/opportunity-check",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": true,
"originEdgeSettlementBypassRequired": true,
"originStillEnforcesX402": false,
"liveRuleMode": "edge-settled-with-signed-origin-bridge"
},
{
"id": "apexscout-agent-revenue-audit",
"type": "charge_x402",
"method": "POST",
"pattern": "/api/agent-revenue-audit",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"priceUsd": "5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": false,
"originEdgeSettlementBypassRequired": false,
"originStillEnforcesX402": true,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"reasonEdgeSettlementDeferred": "This POST route should not be edge-settled until the buyer payload can be validated before charge."
}
],
"allowRules": [
{
"id": "apexscout-free-agent-metadata",
"type": "allow_free",
"patterns": [
"/",
"/docs.json",
"/llms.txt",
"/skill.md",
"/.well-known/agent.json",
"/agent-capabilities.json",
"/api/public-agent",
"/mcp-tool-pack",
"/api/mcp-tool-pack",
"/.well-known/mcp.json",
"/api/agentcore-openapi.json",
"/.well-known/apexscout-monetization-policy.json",
"/api/agent-monetization-policy",
"/.well-known/apexscout-paid-tools.json",
"/api/paid-mcp-tools",
"/agent-wallet-skill-pack",
"/api/agent-wallet-skill-pack",
"/.well-known/apexscout-agent-wallet-skill.json",
"/apexscout-agent-wallet-skill.md",
"/.well-known/apexscout-agent-wallet-skill.md",
"/apify-x402-upstream-readiness",
"/api/apify-x402-upstream-readiness",
"/.well-known/apexscout-apify-x402-upstream.json",
"/cloudflare-monetization-gateway-rules",
"/api/cloudflare-monetization-gateway-rules",
"/.well-known/apexscout-cloudflare-monetization-gateway-rules.json",
"/agent-receipt-contract",
"/api/agent-receipt-contract",
"/.well-known/apexscout-agent-receipt-contract.json",
"/api/cloudflare-billing-rules",
"/.well-known/apexscout-cloudflare-billing-rules.json",
"/api/cloudflare-x402-worker-config",
"/.well-known/apexscout-cloudflare-x402-worker.json"
],
"reason": "Payment-aware agents should inspect policy, prices, and route caps before spend.",
"paidRetryRequired": false
},
{
"id": "apexscout-free-proof-and-preflight",
"type": "allow_free",
"patterns": [
"/x402-proof",
"/api/x402-proof",
"/chat-tiny-payment-flow",
"/api/chat-tiny-payment-flow",
"/api/agent-revenue-audit-builder/action-pack",
"/api/buyer-payment-scope-check",
"/api/buyer-agent-payment-safety",
"/api/x402-security-readiness"
],
"reason": "No-spend proof, preflight, Builder, Scope, and payment-safety surfaces should stay readable.",
"paidRetryRequired": false
}
],
"blockRules": [
{
"id": "apexscout-private-operator-surfaces",
"type": "block_public_access",
"patterns": [
"/admin/*",
"/api/admin/*"
],
"reason": "Private operator surfaces are not public buyer-agent resources.",
"paidRetryAvailable": false
}
],
"workerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"operatorApplyPlan": [
"Confirm the ApexScout zone remains active on Cloudflare and the route remains proxied.",
"Set APEXSCOUT_X402_PAY_TO to the existing ApexScout x402 seller payTo address in Cloudflare secrets or vars.",
"Set APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET as the same shared secret in Cloudflare and Railway.",
"Review cloudflare/x402-proxy/wrangler.jsonc against this API response.",
"Keep Worker changes inside explicit Cloudflare deployment windows.",
"Run unpaid 402 checks first, then one buyer-approved paid 200 proof for the one-cent proof rule when a paid proof is explicitly authorized.",
"Keep Railway-origin x402 as rollback until both edge rules match route, method, price, network, and paid proof."
],
"blockedUntil": [
"One buyer-approved paid HTTP 200 proof is still required before calling the proof route commercially converted.",
"Official Cloudflare managed Monetization Gateway rules are not claimed or required for the current Worker bridge."
],
"safeDryRunCommands": [
"npm run cloudflare:billing-rules:print",
"npm run cloudflare:x402-proxy:smoke",
"npm run cloudflare:x402-proxy:typecheck"
],
"liveApplyCommandTemplate": "npm --prefix cloudflare/x402-proxy run deploy",
"postIntegrationVerificationPlan": [
"GET /status and confirm the current ApexScout release.",
"GET /api/cloudflare-billing-rules and confirm the same paid rule count.",
"GET /api/cloudflare-x402-worker-config and confirm protected pattern prices.",
"Unpaid-check the protected route and confirm HTTP 402 only after an explicit deploy window.",
"Run one buyer-approved paid x402 proof only after the unpaid challenge matches."
],
"noSpendBoundary": {
"packIsFree": true,
"paymentAttemptedByPack": false,
"paidRouteCalledByPack": false,
"cloudflareApiCalledByApexScout": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerDeployedByApexScout": true,
"dnsChangedByApexScout": true,
"packReadChangesCloudflare": false,
"packReadChangesDns": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareX402WorkerConfigPath": "/api/cloudflare-x402-worker-config",
"cloudflareX402WorkerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"cloudflareX402WorkerConfigAvailable": true,
"cloudflareX402WorkerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"mcpToolPackPath": "/api/mcp-tool-pack",
"mcpManifestPath": "/.well-known/mcp.json",
"openApiPath": "/api/agentcore-openapi.json",
"toolCount": 3,
"paidToolCount": 3,
"freeToolCount": 0,
"tools": [
{
"name": "apexscout_link_native_tiny_paid_proof",
"displayName": "One-cent x402 proof",
"method": "GET",
"path": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUnits": "10000",
"network": "eip155:8453",
"requestBodyRequired": false,
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"buyerControlledRetryOnly": true,
"recommendedFor": "Fastest proof that the buyer agent can complete an x402 payment path."
},
{
"name": "apexscout_opportunity_check",
"displayName": "Opportunity Check",
"method": "POST",
"path": "/api/opportunity-check",
"url": "https://apexscout.ai/api/opportunity-check",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUnits": "10000",
"network": "eip155:8453",
"requestBodyRequired": true,
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"buyerControlledRetryOnly": true,
"inputSchemaSummary": {
"subject": "string",
"goal": "string",
"buyerType": "optional string",
"source": "optional string"
},
"recommendedFor": "Cheapest normal paid trust screen after a buyer chooses a subject and goal."
},
{
"name": "apexscout_agent_revenue_audit",
"displayName": "Agent Revenue Audit",
"method": "POST",
"path": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"priceUsd": "5.00",
"maxAmountAtomicUnits": "5000000",
"network": "eip155:8453",
"requestBodyRequired": true,
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"buyerControlledRetryOnly": true,
"preflightPath": "/api/agent-revenue-audit-builder/prepare",
"previewPath": "/api/agent-revenue-audit-preview",
"inputSchemaSummary": {
"serviceName": "string",
"currentOffer": "string",
"targetBuyer": "string",
"currentProblem": "string",
"currentPaymentRail": "optional string",
"riskTolerance": "optional string",
"source": "optional string"
},
"recommendedFor": "Paid conversion audit for x402, MCP, and agent API builders."
}
],
"recommendedNoSpendBeforePayment": [
"/docs.json",
"/api/agent-monetization-policy",
"/api/mcp-tool-pack",
"/api/agentcore-openapi.json",
"/api/cloudflare-billing-rules",
"/api/cloudflare-x402-worker-config",
"/api/x402-proof",
"/api/chat-tiny-payment-flow",
"/api/agent-revenue-audit-preview",
"/api/agent-revenue-audit-builder/action-pack",
"/api/buyer-payment-scope-check"
],
"compatibility": {
"mcpClientsCanDiscoverPaidTools": true,
"x402RequiredForPaidCompletion": true,
"http402ChallengeExpectedBeforePayment": true,
"paymentCredentialIsBuyerControlled": true,
"sellerManagedBuyerWallet": false,
"apiKeysRequiredBeforePayment": false,
"cloudflareGatewayRuleAlreadyCreated": false,
"originStillEnforcesX402": true
},
"noSpendBoundary": {
"manifestIsFree": true,
"paymentAttemptedByManifest": false,
"paidRouteCalledByManifest": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
},
"notClaims": {
"cloudflareEndorsementClaimed": false,
"mcpMarketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"paymentExecutedByReadingManifest": false,
"buyerWalletControlledByApexScout": false
}
},
"sourcePreservingHandoffAvailable": true,
"sourcePreservingHandoff": {
"sourcePreservingHandoffAvailable": true,
"mode": "aggregate-only-source-preserving-handoff",
"purpose": "Preserve owner-approved launch source tags from public entry pages into no-spend proof, Builder, Scope, and paid-intent handoff links.",
"activeSourceTag": null,
"exampleSourceTag": "x-daily-post",
"sourceQueryParam": "src",
"supportedSourceTags": [
"x-profile",
"x-pinned-post",
"x-daily-post",
"owner-public-launch"
],
"destinationLinks": {
"x402Proof": "/x402-proof?src=x-daily-post",
"x402ProofApi": "/api/x402-proof?src=x-daily-post",
"chatTinyPaymentFlow": "/chat-tiny-payment-flow?src=x-daily-post",
"chatTinyPaymentFlowApi": "/api/chat-tiny-payment-flow?src=x-daily-post",
"tinyPaidProof": "/api/opportunity-check?src=x-daily-post",
"auditBuilderActionPack": "/api/agent-revenue-audit-builder/action-pack?src=x-daily-post",
"auditBuilder": "/agent-revenue-audit-builder?src=x-daily-post",
"scopeCheck": "/buyer-payment-scope-check?src=x-daily-post",
"agentCommerceScenarios": "/agent-commerce-scenarios?src=x-daily-post",
"paymentIntent": "/payment-intent?route=agent-revenue-audit&src=x-daily-post"
},
"destinationUrls": {
"x402Proof": "https://apexscout.ai/x402-proof?src=x-daily-post",
"x402ProofApi": "https://apexscout.ai/api/x402-proof?src=x-daily-post",
"chatTinyPaymentFlow": "https://apexscout.ai/chat-tiny-payment-flow?src=x-daily-post",
"chatTinyPaymentFlowApi": "https://apexscout.ai/api/chat-tiny-payment-flow?src=x-daily-post",
"tinyPaidProof": "https://apexscout.ai/api/opportunity-check?src=x-daily-post",
"auditBuilderActionPack": "https://apexscout.ai/api/agent-revenue-audit-builder/action-pack?src=x-daily-post",
"auditBuilder": "https://apexscout.ai/agent-revenue-audit-builder?src=x-daily-post",
"scopeCheck": "https://apexscout.ai/buyer-payment-scope-check?src=x-daily-post",
"agentCommerceScenarios": "https://apexscout.ai/agent-commerce-scenarios?src=x-daily-post",
"paymentIntent": "https://apexscout.ai/payment-intent?route=agent-revenue-audit&src=x-daily-post"
},
"sourcePreservedOnPageLinks": true,
"sourcePreservedOnCopyCommand": true,
"preservesOnlySafeSourceTags": true,
"unsupportedSourceTagsDropped": true,
"sourcePreservationCreatesTraffic": false,
"sourcePreservationCreatesActionIntent": false,
"sourcePreservationCreatesPrepareRequest": false,
"sourcePreservationCreatesScopeCheck": false,
"sourcePreservationCallsPaidRoute": false,
"sourcePreservationExecutesPayment": false,
"noSpendBoundary": {
"handoffIsFree": true,
"linkRewriteOnly": true,
"paidRouteCalledByHandoff": false,
"productionPostCreated": false,
"actionIntentCreatedByHandoff": false,
"prepareRequestCreatedByHandoff": false,
"scopeCheckCreatedByHandoff": false,
"fakeTrafficCreated": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false,
"cloudflareRuleChanged": false,
"dnsChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesRequired": false,
"cookiesAddedForHandoff": false,
"sessionTrackingRequired": false,
"sessionTrackingAddedForHandoff": false,
"fingerprintingAdded": false
},
"note": "A safe owner source tag can travel on same-site links and copied proof commands so aggregate proof/source buckets can connect the front door to the next buyer-controlled step. The handoff does not open links or execute payment."
},
"sourcePreservedHref": "/api/opportunity-check?src=x-daily-post",
"sourcePreservedHrefUrl": "https://apexscout.ai/api/opportunity-check?src=x-daily-post",
"sourceAttributionAvailable": true,
"sourceTagsStored": "sanitized-aggregate-only",
"supportedSourceTags": [
"front-door-x402-proof-cta",
"action-pack-x402-proof-cta",
"chat-tiny-x402-proof-cta",
"x-profile",
"x-pinned-post",
"x-daily-post",
"owner-public-launch",
"machine-readable-x402-proof",
"agent-execution-proof-packet",
"agent-execution-command-copy",
"agent-wallet-skill-pack",
"agent-receipt-contract"
],
"unpaidSourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"unpaidTopSourceTagsCounter": "opportunityCheckGetProofUnpaidTopSourceTags",
"completionSourceBucketsCounter": "opportunityCheckGetProofCompletionSourceBuckets",
"agentExecutionCommandCopySourceBucket": "agentExecutionCommandCopy",
"agentReceiptContractSourceBucket": "agentReceiptContract",
"buyerWalletCloseSignalCounter": "buyerWalletCloseSignals.walletCloseIntentEvents",
"buyerWalletCloseWalletReadyCounter": "buyerWalletCloseSignals.walletReadyIntent",
"buyerWalletCloseCannotPayYetCounter": "buyerWalletCloseSignals.cannotPayYet",
"http402ClosePacketSourceBucket": "agentExecutionCommandCopy",
"buyerProofExecutionCloseoutSourceBucket": "agentReceiptContract",
"agentExecutionCommandCopyTelemetryAdded": false,
"agentExecutionCommandCopyTelemetryReason": "The release keeps the buttons copy-only and avoids adding a client-side analytics call; the new source tag is still available when a buyer-run agent command reaches the unpaid 402 route.",
"ownerLaunchSourcePreservationCreatesTraffic": false,
"ownerLaunchSourcePreservationCallsPaidRoute": false,
"ownerLaunchSourcePreservationExecutesPayment": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"unpaidChallengeInterpretation": "GET proof CTA clicks that reach unpaid 402 are not revenue. They show a client requested the proof route before payment. A paid completion still requires buyer-controlled x402 retry and HTTP 200.",
"buyerAgentExecutionPacketAvailable": true,
"requiresBuyerControlledX402Retry": true,
"noRequestBodyRequired": true,
"usesExistingPaidResource": true,
"samePaidResourceAs": "POST /api/opportunity-check",
"doesNotAddThirdPaidRoute": true,
"doesNotCallAgentRevenueAudit": true,
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareDnsProxied": true,
"noCloudflareApiCallMade": false,
"noCloudflareApiCallMadeByRead": true,
"noDnsChangeMade": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerRouteCreated": true,
"paidCallsMadeByActionSurface": false,
"buyerLevelDataExposed": false,
"publicCopy": "GET /api/opportunity-check is the one-cent x402 proof link. It returns HTTP 402 until a buyer-controlled x402 client retries payment."
},
"proofRetryConfidence": {
"available": true,
"mode": "no-spend-proof-retry-confidence",
"purpose": "Help x402-capable buyers understand that an unpaid 402 is the expected proof challenge and that payment only happens from a buyer-controlled retry.",
"route": "/api/opportunity-check",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"expectedUnpaidMeaning": "HTTP 402 means the proof paywall is reachable and returning x402 payment requirements. It is not a service outage and it is not revenue.",
"expectedPaidMeaning": "HTTP 200 only counts after a buyer-controlled x402 client retries this route with an approved payment.",
"http402ReadinessReceiptAvailable": true,
"http402ReadinessReceipt": {
"available": true,
"mode": "no-spend-http-402-readiness-receipt",
"title": "HTTP 402 Readiness Receipt",
"purpose": "Give x402-capable buyers a compact, unsigned receipt showing what the unpaid proof challenge proves before any buyer-controlled paid retry.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"url": "https://apexscout.ai/api/opportunity-check",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"agentExecutionProofPacketAvailable": true,
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"receiptScope": "GET /api/opportunity-check, $0.01 maximum amount, eip155:8453 Base mainnet x402, one buyer-controlled retry.",
"receiptSummary": "Unpaid HTTP 402 proves the x402 proof route is reachable and returning payment requirements. It does not prove payment, revenue, endorsement, or buyer approval.",
"agentDecision": {
"payOnlyIf": "The buyer explicitly approves the route, max amount, network, and one retry from a wallet-controlled x402 client.",
"stopIf": "The buyer has not approved spend, the client cannot attach x402 payment, the route or network differs, or HTTP 402 is being treated as a paid completion.",
"nextNoSpendStep": "Stay on ApexScout proof, action-pack, Scope Check, or Builder surfaces until buyer-controlled payment is intentionally approved."
},
"readinessChecks": [
"Route scoped to GET /api/opportunity-check.",
"Amount scoped to $0.01 / 10000 atomic USDC.",
"Network scoped to Base mainnet eip155:8453.",
"HTTP 402 is expected before payment.",
"HTTP 200 is required before paid completion is counted.",
"No request body, cookies, session, or wallet connection is required to read this receipt.",
"No buyer-level data is exposed by this receipt.",
"No automatic payment or paid retry is performed by ApexScout."
],
"publicSafetyCopy": "This is an unsigned no-spend readiness receipt, not AP2 proof, not a signed mandate, not a legal or payment receipt, not an endorsement claim, and not trading, investment, tax, legal, lending, or compliance advice.",
"notClaims": {
"signedReceiptCreated": false,
"ap2ProofCreated": false,
"legalMandateCreated": false,
"paymentReceiptCreated": false,
"walletApprovalCreated": false,
"officialEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false
},
"noSpendBoundary": {
"receiptIsFree": true,
"opensPaidRouteByItself": false,
"paymentAttemptedByReceipt": false,
"paidRouteCalledByReceipt": false,
"paidUpstreamCalls": false,
"walletConnectionRequiredForReceipt": false,
"automaticSpending": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
},
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"receiptUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"copyPasteReceiptSummary": "HTTP 402 readiness receipt: GET /api/opportunity-check is reachable, costs max $0.01 on eip155:8453 only after buyer-controlled x402 retry, and counts as paid only when HTTP 200 returns."
},
"proofRetryDecisionStripAvailable": true,
"proofRetryDecisionStrip": {
"available": true,
"mode": "buyer-controlled-proof-retry-decision-strip",
"title": "Buyer-controlled proof retry gate",
"purpose": "Compress the next click after an unpaid 402 into a clear continue/stop decision for x402-capable buyers.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"url": "https://apexscout.ai/api/opportunity-check",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"agentExecutionProofPacketAvailable": true,
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"decisionSummary": "Continue only if buyer approval, x402 wallet capability, exact route, exact amount, and Base mainnet network all match.",
"continueIf": [
"Buyer explicitly approves this exact $0.01 proof.",
"Client can attach x402 payment on Base mainnet eip155:8453.",
"Route is exactly GET /api/opportunity-check.",
"Max amount is exactly 10000 atomic USDC.",
"Buyer understands only HTTP 200 counts as a paid proof completion."
],
"stopIf": [
"Buyer has not approved spend.",
"Client is a normal browser without x402 payment support.",
"Route, amount, or network differs from the receipt.",
"The buyer is treating unpaid HTTP 402 as revenue or completion.",
"The output will not change the buyer's next action."
],
"primaryAction": {
"label": "Request unpaid proof challenge",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"normalBrowserResult": "HTTP 402 JSON with x402 payment requirements",
"x402CapableResult": "HTTP 200 JSON only after buyer-controlled paid retry",
"noPaymentOnClick": true,
"paidRetryRequiresBuyerWallet": true
},
"fallbackNoSpendActions": [
"/x402-proof",
"/api/agent-revenue-audit-builder/action-pack",
"/buyer-payment-scope-check",
"/chat-tiny-payment-flow"
],
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"decisionStripUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"decisionStripIsFree": true,
"paymentAttemptedByDecisionStrip": false,
"paidRouteCalledByDecisionStrip": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"agentExecutionProofPacketAvailable": true,
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"http402ClosePacketAvailable": true,
"http402ClosePacket": {
"available": true,
"mode": "buyer-agent-402-close-packet",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "402 close packet",
"purpose": "Put the buyer-agent close instructions inside the unpaid HTTP 402 response so x402-capable clients can finish the proof without hunting through a page.",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"command": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"closeMessage": "You reached the ApexScout paid proof gate. To complete the proof, retry this exact GET route from an authenticated x402 wallet/client with max amount 10000 atomic USDC on Base mainnet.",
"buyerAgentInstruction": "If the buyer approved this one-cent proof, run the command exactly once and treat only HTTP 200 as the paid completion. If any route, amount, network, or approval detail differs, stop.",
"whatHttp200Proves": [
"The buyer-controlled x402 retry reached ApexScout's one-cent proof route.",
"The paid route returned structured JSON after payment verification.",
"The aggregate paid proof completion counter is allowed to move only after HTTP 200."
],
"notProofOf": [
"Coinbase, AWS, Stripe, Bazaar, AgentCore, Base, marketplace, or protocol endorsement.",
"Guaranteed revenue, trading results, investment outcome, legal advice, tax advice, lending advice, or compliance approval.",
"Buyer identity, wallet-level activity, secret signing material, or broader permission to spend."
],
"continueIf": [
"The buyer explicitly approved this one-cent proof.",
"The client can attach an x402 payment authorization.",
"The retry route is exactly GET /api/opportunity-check?src=agent-execution-command-copy.",
"The max amount is exactly 10000 atomic USDC.",
"The network is exactly eip155:8453."
],
"stopIf": [
"The wallet is not authenticated.",
"The wallet has insufficient USDC on Base.",
"The client cannot attach x402 payment.",
"The max amount is lower than 10000 atomic USDC.",
"The network is not eip155:8453.",
"The buyer did not approve this exact spend.",
"The agent plans to retry more than once just to clear a metric."
],
"failureBranches": {
"walletNotAuthenticated": {
"bucket": "wallet_not_authenticated",
"buyerAction": "Authenticate the buyer-controlled x402 wallet/client before retrying.",
"apexScoutAction": "Do nothing automatically."
},
"insufficientBaseUsdc": {
"bucket": "insufficient_base_usdc",
"buyerAction": "Stop until the buyer-controlled wallet has enough Base USDC for the one-cent proof.",
"apexScoutAction": "Do not fund, trade, onramp, or advise funding."
},
"maxAmountTooLow": {
"bucket": "max_amount_too_low",
"buyerAction": "Use max amount 10000 atomic USDC or stop.",
"apexScoutAction": "Do not lower route price or change payment requirements."
},
"wrongNetwork": {
"bucket": "wrong_network",
"buyerAction": "Use eip155:8453 Base mainnet or stop.",
"apexScoutAction": "Do not switch rails."
},
"paymentDeclined": {
"bucket": "payment_declined",
"buyerAction": "Stop unless the buyer explicitly approves another attempt.",
"apexScoutAction": "Do not retry payment for the buyer."
}
},
"telemetryInterpretation": {
"sourceTag": "agent-execution-command-copy",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionCommandCopy",
"closePacketUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"closePacketIsFree": true,
"closePacketExecutesPayment": false,
"paymentAttemptedByClosePacket": false,
"paidRouteCalledByClosePacket": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false,
"secretSigningMaterialRequested": false
}
},
"buyerProofExecutionCloseoutAvailable": true,
"buyerProofExecutionCloseout": {
"available": true,
"mode": "buyer-proof-execution-closeout",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Copied? Finish with one buyer-run proof retry",
"purpose": "Close the gap after a buyer agent marks its wallet ready or copies the command: run exactly one buyer-approved proof retry, classify the response, then stop.",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-receipt-contract",
"method": "GET",
"href": "/api/opportunity-check?src=agent-receipt-contract",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"primarySourceTag": "agent-receipt-contract",
"primarySourceBucket": "agentReceiptContract",
"commandCopySourceTag": "agent-execution-command-copy",
"commandCopySourceBucket": "agentExecutionCommandCopy",
"buyerWalletCloseSignalCounter": "buyerWalletCloseSignals.walletCloseIntentEvents",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"firstScreenPlacement": {
"x402Proof": "after-wallet-close-before-receipt-command",
"chatTinyPaymentFlow": "after-wallet-close-before-receipt-command",
"closeoutVisibleBeforeCommandCopy": true,
"normalNoSpendPathRemainsPrimary": true
},
"closeoutRule": {
"ifWalletReadyAndCommandCopied": "Run the receipt-bound command exactly once from the buyer-controlled x402 wallet if the buyer approved the route, amount, and network.",
"ifCannotPayYet": "Do not retry payment. Use the wallet setup note and stop until wallet authentication, Base USDC balance, route, amount, and network match.",
"ifResponseIs402": "Treat the result as unpaid. It is a challenge, not a paid proof, and it should not move revenue.",
"ifResponseIs200": "Treat the result as paid proof only after the buyer-controlled x402 retry returns structured HTTP 200 JSON.",
"ifRetryIsRejected": "Read the sanitized edge failure status once, classify the rejection, and stop before another paid attempt.",
"stopAfter": "one buyer-approved paid retry unless a human operator explicitly approves another capped diagnostic"
},
"buyerAgentChecklist": [
"Wallet is authenticated by the buyer, not ApexScout.",
"Buyer approves GET /api/opportunity-check with source agent-receipt-contract.",
"Maximum spend is exactly 10000 atomic USDC.",
"Network is exactly eip155:8453 Base mainnet.",
"Run one retry, then classify HTTP 402, HTTP 200, or a sanitized edge failure."
],
"copyReadyCommands": {
"receiptBoundProofCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"commandCopyProofCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"edgeFailureReadCommand": "curl -s \"https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure\"",
"walletSetupNote": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof."
},
"safeReadouts": {
"edgeHealthPath": "/__apexscout/cloudflare-x402/health",
"edgeLastFailurePath": "/__apexscout/cloudflare-x402/health/last-failure",
"edgeLastFailureUrl": "https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure",
"originLastFailurePath": "/api/cloudflare-x402-edge-failure/last",
"originLastFailureUrl": "https://apexscout.ai/api/cloudflare-x402-edge-failure/last",
"noPaymentAttemptedByRead": true,
"buyerLevelDataExposed": false,
"rawPaymentPayloadExposed": false,
"privateKeysRequested": false
},
"buttons": [
{
"label": "Copy receipt-bound proof command",
"copies": "receipt_bound_command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy edge failure readout",
"copies": "edge_failure_read_command",
"value": "curl -s \"https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure\"",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy wallet setup note",
"copies": "wallet_setup_note",
"value": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof.",
"executesPayment": false,
"opensPaidRoute": false
}
],
"telemetryInterpretation": {
"walletReadyCounter": "buyerWalletCloseSignals.walletReadyIntent",
"copyPaidProofCommandCounter": "buyerWalletCloseSignals.copyPaidProofCommand",
"copyReceiptBoundCommandCounter": "buyerWalletCloseSignals.copyReceiptBoundCommand",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"failureReadoutIsRevenue": false,
"copyIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"newCounterAdded": false,
"reason": "The closeout reuses existing aggregate wallet-close, source-bucket, and paid-completion counters so it improves decision clarity without creating fake movement."
},
"noSpendBoundary": {
"closeoutIsFree": true,
"closeoutExecutesPayment": false,
"copyingExecutesPayment": false,
"copyingOpensPaidRoute": false,
"failureReadoutExecutesPayment": false,
"failureReadoutCallsPaidRoute": false,
"paymentAttemptedByCloseout": false,
"paidRouteCalledByCloseout": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"productionPostCreated": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false,
"cloudflareMutationCreated": false,
"apifyActorRunCreated": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"privateKeysRequested": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false,
"rawPaymentPayloadExposed": false
},
"safetyClaims": {
"guaranteedRevenueClaimed": false,
"officialEndorsementClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareMonetizationGatewayReadinessAvailable": true,
"cloudflareMonetizationGatewayReadiness": {
"available": true,
"mode": "cloudflare-monetization-gateway-readiness",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare live edge status",
"releaseReportingMode": "worker-and-origin-split",
"appRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"originRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"originReleasePath": "/status",
"workerRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"workerSourceVersion": "2.2.179",
"workerHealthReleaseContract": {
"healthPath": "/__apexscout/cloudflare-x402/health",
"releaseFieldMeans": "workerRelease",
"workerReleaseField": "workerRelease",
"originReleaseField": "originRelease",
"originReleasePath": "/status",
"originReleaseReadIsNoSpend": true,
"mismatchIsActionableOnlyWhenWorkerHealthFails": true
},
"sourceSignal": {
"name": "Cloudflare Monetization Gateway",
"sourceUrl": "https://blog.cloudflare.com/monetization-gateway/",
"articleUrl": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving x402 payment enforcement toward edge-managed route rules. ApexScout now serves the one-cent proof path through a narrow Cloudflare Worker while keeping Railway as the origin fallback."
},
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"officialCloudflareMonetizationGatewayClaimed": false,
"officialCloudflareEndorsementClaimed": false,
"cloudflareBillingRulesPackAvailable": true,
"cloudflareBillingRulesPath": "/api/cloudflare-billing-rules",
"cloudflareBillingRulesWellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"cloudflareX402WorkerConfigAvailable": true,
"cloudflareX402WorkerConfigPath": "/api/cloudflare-x402-worker-config",
"cloudflareX402WorkerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"cloudflareBillingRulesPack": {
"available": true,
"mode": "cloudflare-billing-rules-pack",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare billing rules pack",
"purpose": "Document ApexScout's live Cloudflare edge Worker route and existing x402 paid-route policy without changing price, seller wallet, or buyer-controlled payment rules.",
"apiPath": "/api/cloudflare-billing-rules",
"wellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"workerConfigPath": "/api/cloudflare-x402-worker-config",
"workerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceSignals": [
{
"name": "Cloudflare Monetization Gateway",
"url": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving toward edge-managed payment rules, including route-level x402 enforcement."
},
{
"name": "Cloudflare x402 proxy",
"url": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"interpretedAs": "A Cloudflare Worker can sit in front of an existing HTTP origin, return 402, verify x402 payment, and forward the approved request."
},
{
"name": "Cloudflare Pay Per Crawl",
"url": "https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/",
"interpretedAs": "Cloudflare's crawler billing direction reinforces clear allow, charge, and block rules for automated clients."
}
],
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"cloudflareWorkerConfigPrepared": true,
"cloudflareRulesCreated": true,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRulesCreated": false,
"officialCloudflareEndorsementClaimed": false,
"monetizationGatewayApiPubliclyAvailable": false,
"monetizationGatewayApiStatus": "planned-or-early-access",
"currentDeployableOption": "cloudflare-x402-edge-settlement-worker",
"originFallbackRequired": true,
"originStillEnforcesX402": true,
"originEdgeSettlementBridgePrepared": true,
"edgeSettlementEligiblePaidRuleCount": 1,
"originAuthoritativePaidRuleCount": 1,
"billingRuleCount": 5,
"paidBillingRuleCount": 2,
"freeAllowRuleCount": 2,
"blockRuleCount": 1,
"paidRules": [
{
"id": "apexscout-one-cent-proof",
"type": "charge_x402",
"method": "GET",
"pattern": "/api/opportunity-check",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": true,
"originEdgeSettlementBypassRequired": true,
"originStillEnforcesX402": false,
"liveRuleMode": "edge-settled-with-signed-origin-bridge"
},
{
"id": "apexscout-agent-revenue-audit",
"type": "charge_x402",
"method": "POST",
"pattern": "/api/agent-revenue-audit",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"priceUsd": "5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": false,
"originEdgeSettlementBypassRequired": false,
"originStillEnforcesX402": true,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"reasonEdgeSettlementDeferred": "This POST route should not be edge-settled until the buyer payload can be validated before charge."
}
],
"allowRules": [
{
"id": "apexscout-free-agent-metadata",
"type": "allow_free",
"patterns": [
"/",
"/docs.json",
"/llms.txt",
"/skill.md",
"/.well-known/agent.json",
"/agent-capabilities.json",
"/api/public-agent",
"/mcp-tool-pack",
"/api/mcp-tool-pack",
"/.well-known/mcp.json",
"/api/agentcore-openapi.json",
"/.well-known/apexscout-monetization-policy.json",
"/api/agent-monetization-policy",
"/.well-known/apexscout-paid-tools.json",
"/api/paid-mcp-tools",
"/agent-wallet-skill-pack",
"/api/agent-wallet-skill-pack",
"/.well-known/apexscout-agent-wallet-skill.json",
"/apexscout-agent-wallet-skill.md",
"/.well-known/apexscout-agent-wallet-skill.md",
"/apify-x402-upstream-readiness",
"/api/apify-x402-upstream-readiness",
"/.well-known/apexscout-apify-x402-upstream.json",
"/cloudflare-monetization-gateway-rules",
"/api/cloudflare-monetization-gateway-rules",
"/.well-known/apexscout-cloudflare-monetization-gateway-rules.json",
"/agent-receipt-contract",
"/api/agent-receipt-contract",
"/.well-known/apexscout-agent-receipt-contract.json",
"/api/cloudflare-billing-rules",
"/.well-known/apexscout-cloudflare-billing-rules.json",
"/api/cloudflare-x402-worker-config",
"/.well-known/apexscout-cloudflare-x402-worker.json"
],
"reason": "Payment-aware agents should inspect policy, prices, and route caps before spend.",
"paidRetryRequired": false
},
{
"id": "apexscout-free-proof-and-preflight",
"type": "allow_free",
"patterns": [
"/x402-proof",
"/api/x402-proof",
"/chat-tiny-payment-flow",
"/api/chat-tiny-payment-flow",
"/api/agent-revenue-audit-builder/action-pack",
"/api/buyer-payment-scope-check",
"/api/buyer-agent-payment-safety",
"/api/x402-security-readiness"
],
"reason": "No-spend proof, preflight, Builder, Scope, and payment-safety surfaces should stay readable.",
"paidRetryRequired": false
}
],
"blockRules": [
{
"id": "apexscout-private-operator-surfaces",
"type": "block_public_access",
"patterns": [
"/admin/*",
"/api/admin/*"
],
"reason": "Private operator surfaces are not public buyer-agent resources.",
"paidRetryAvailable": false
}
],
"workerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"operatorApplyPlan": [
"Confirm the ApexScout zone remains active on Cloudflare and the route remains proxied.",
"Set APEXSCOUT_X402_PAY_TO to the existing ApexScout x402 seller payTo address in Cloudflare secrets or vars.",
"Set APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET as the same shared secret in Cloudflare and Railway.",
"Review cloudflare/x402-proxy/wrangler.jsonc against this API response.",
"Keep Worker changes inside explicit Cloudflare deployment windows.",
"Run unpaid 402 checks first, then one buyer-approved paid 200 proof for the one-cent proof rule when a paid proof is explicitly authorized.",
"Keep Railway-origin x402 as rollback until both edge rules match route, method, price, network, and paid proof."
],
"blockedUntil": [
"One buyer-approved paid HTTP 200 proof is still required before calling the proof route commercially converted.",
"Official Cloudflare managed Monetization Gateway rules are not claimed or required for the current Worker bridge."
],
"safeDryRunCommands": [
"npm run cloudflare:billing-rules:print",
"npm run cloudflare:x402-proxy:smoke",
"npm run cloudflare:x402-proxy:typecheck"
],
"liveApplyCommandTemplate": "npm --prefix cloudflare/x402-proxy run deploy",
"postIntegrationVerificationPlan": [
"GET /status and confirm the current ApexScout release.",
"GET /api/cloudflare-billing-rules and confirm the same paid rule count.",
"GET /api/cloudflare-x402-worker-config and confirm protected pattern prices.",
"Unpaid-check the protected route and confirm HTTP 402 only after an explicit deploy window.",
"Run one buyer-approved paid x402 proof only after the unpaid challenge matches."
],
"noSpendBoundary": {
"packIsFree": true,
"paymentAttemptedByPack": false,
"paidRouteCalledByPack": false,
"cloudflareApiCalledByApexScout": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerDeployedByApexScout": true,
"dnsChangedByApexScout": true,
"packReadChangesCloudflare": false,
"packReadChangesDns": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareX402WorkerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"waitlistOrEarlyAccessRequired": false,
"noDnsChangeMade": false,
"dnsChangedByLiveCutover": true,
"noCloudflareApiCallMade": false,
"noCloudflareApiCallMadeByRead": true,
"noPaymentRuleCreated": false,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"noPaidRouteChanged": true,
"noPriceChanged": true,
"noSellerWalletChanged": true,
"noPaymentRailChanged": true,
"apexScoutRemainsSourceOfTruth": true,
"candidateRules": [
{
"id": "apexscout-one-cent-proof",
"purpose": "Edge-readable one-cent x402 proof route for wallet-capable buyer agents.",
"method": "GET",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"amountAtomicUsdc": "10000",
"priceUsd": "0.01",
"displayPrice": "$0.01",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerApprovalRequired": true,
"currentOriginStillEnforcesX402": true,
"gatewayCanMirrorButNotOverrideOrigin": true
},
{
"id": "apexscout-agent-revenue-audit",
"purpose": "Higher-value builder monetization audit route.",
"method": "POST",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"amountAtomicUsdc": "5000000",
"priceUsd": "5.00",
"displayPrice": "$5.00",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerApprovalRequired": true,
"currentOriginStillEnforcesX402": true,
"gatewayCanMirrorButNotOverrideOrigin": true
}
],
"migrationPlan": [
"Keep the Cloudflare Worker route narrow and use Railway as the origin fallback.",
"Use these candidate rules as the review checklist before any future official managed-gateway change.",
"Require unpaid HTTP 402 and buyer-controlled HTTP 200 proof for each route after any edge or gateway change.",
"Keep ApexScout aggregate metrics as the public conversion truth source.",
"Roll back to Railway-origin x402 if route, amount, network, or payment proof differs."
],
"operatorChecklist": {
"dnsChangeApproved": true,
"cloudflareApiTokenApproved": true,
"gatewayRuleCreationApproved": true,
"postDeployPaidProofRequiredBeforeClaimingGatewayLive": true,
"originFallbackRequired": true,
"compareGatewayRulesToCandidateRules": true
},
"noSpendBoundary": {
"readinessPacketIsFree": true,
"paymentAttemptedByReadinessPacket": false,
"paidRouteCalledByReadinessPacket": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerRouteCreated": true,
"cloudflareApiCalled": false,
"dnsChanged": false,
"dnsAlreadyProxiedThroughCloudflare": true,
"workerAlreadyDeployed": true,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"revenueOutcomeClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
},
"telemetryInterpretation": {
"readinessUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"watchCounters": "If unpaid proof counters move without paid completions, treat it as proof-route interest, not gateway success."
}
},
"cloudflareBillingRulesPackAvailable": true,
"cloudflareBillingRulesPack": {
"available": true,
"mode": "cloudflare-billing-rules-pack",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare billing rules pack",
"purpose": "Document ApexScout's live Cloudflare edge Worker route and existing x402 paid-route policy without changing price, seller wallet, or buyer-controlled payment rules.",
"apiPath": "/api/cloudflare-billing-rules",
"wellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"workerConfigPath": "/api/cloudflare-x402-worker-config",
"workerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceSignals": [
{
"name": "Cloudflare Monetization Gateway",
"url": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving toward edge-managed payment rules, including route-level x402 enforcement."
},
{
"name": "Cloudflare x402 proxy",
"url": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"interpretedAs": "A Cloudflare Worker can sit in front of an existing HTTP origin, return 402, verify x402 payment, and forward the approved request."
},
{
"name": "Cloudflare Pay Per Crawl",
"url": "https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/",
"interpretedAs": "Cloudflare's crawler billing direction reinforces clear allow, charge, and block rules for automated clients."
}
],
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"cloudflareWorkerConfigPrepared": true,
"cloudflareRulesCreated": true,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRulesCreated": false,
"officialCloudflareEndorsementClaimed": false,
"monetizationGatewayApiPubliclyAvailable": false,
"monetizationGatewayApiStatus": "planned-or-early-access",
"currentDeployableOption": "cloudflare-x402-edge-settlement-worker",
"originFallbackRequired": true,
"originStillEnforcesX402": true,
"originEdgeSettlementBridgePrepared": true,
"edgeSettlementEligiblePaidRuleCount": 1,
"originAuthoritativePaidRuleCount": 1,
"billingRuleCount": 5,
"paidBillingRuleCount": 2,
"freeAllowRuleCount": 2,
"blockRuleCount": 1,
"paidRules": [
{
"id": "apexscout-one-cent-proof",
"type": "charge_x402",
"method": "GET",
"pattern": "/api/opportunity-check",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": true,
"originEdgeSettlementBypassRequired": true,
"originStillEnforcesX402": false,
"liveRuleMode": "edge-settled-with-signed-origin-bridge"
},
{
"id": "apexscout-agent-revenue-audit",
"type": "charge_x402",
"method": "POST",
"pattern": "/api/agent-revenue-audit",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"priceUsd": "5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": false,
"originEdgeSettlementBypassRequired": false,
"originStillEnforcesX402": true,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"reasonEdgeSettlementDeferred": "This POST route should not be edge-settled until the buyer payload can be validated before charge."
}
],
"allowRules": [
{
"id": "apexscout-free-agent-metadata",
"type": "allow_free",
"patterns": [
"/",
"/docs.json",
"/llms.txt",
"/skill.md",
"/.well-known/agent.json",
"/agent-capabilities.json",
"/api/public-agent",
"/mcp-tool-pack",
"/api/mcp-tool-pack",
"/.well-known/mcp.json",
"/api/agentcore-openapi.json",
"/.well-known/apexscout-monetization-policy.json",
"/api/agent-monetization-policy",
"/.well-known/apexscout-paid-tools.json",
"/api/paid-mcp-tools",
"/agent-wallet-skill-pack",
"/api/agent-wallet-skill-pack",
"/.well-known/apexscout-agent-wallet-skill.json",
"/apexscout-agent-wallet-skill.md",
"/.well-known/apexscout-agent-wallet-skill.md",
"/apify-x402-upstream-readiness",
"/api/apify-x402-upstream-readiness",
"/.well-known/apexscout-apify-x402-upstream.json",
"/cloudflare-monetization-gateway-rules",
"/api/cloudflare-monetization-gateway-rules",
"/.well-known/apexscout-cloudflare-monetization-gateway-rules.json",
"/agent-receipt-contract",
"/api/agent-receipt-contract",
"/.well-known/apexscout-agent-receipt-contract.json",
"/api/cloudflare-billing-rules",
"/.well-known/apexscout-cloudflare-billing-rules.json",
"/api/cloudflare-x402-worker-config",
"/.well-known/apexscout-cloudflare-x402-worker.json"
],
"reason": "Payment-aware agents should inspect policy, prices, and route caps before spend.",
"paidRetryRequired": false
},
{
"id": "apexscout-free-proof-and-preflight",
"type": "allow_free",
"patterns": [
"/x402-proof",
"/api/x402-proof",
"/chat-tiny-payment-flow",
"/api/chat-tiny-payment-flow",
"/api/agent-revenue-audit-builder/action-pack",
"/api/buyer-payment-scope-check",
"/api/buyer-agent-payment-safety",
"/api/x402-security-readiness"
],
"reason": "No-spend proof, preflight, Builder, Scope, and payment-safety surfaces should stay readable.",
"paidRetryRequired": false
}
],
"blockRules": [
{
"id": "apexscout-private-operator-surfaces",
"type": "block_public_access",
"patterns": [
"/admin/*",
"/api/admin/*"
],
"reason": "Private operator surfaces are not public buyer-agent resources.",
"paidRetryAvailable": false
}
],
"workerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"operatorApplyPlan": [
"Confirm the ApexScout zone remains active on Cloudflare and the route remains proxied.",
"Set APEXSCOUT_X402_PAY_TO to the existing ApexScout x402 seller payTo address in Cloudflare secrets or vars.",
"Set APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET as the same shared secret in Cloudflare and Railway.",
"Review cloudflare/x402-proxy/wrangler.jsonc against this API response.",
"Keep Worker changes inside explicit Cloudflare deployment windows.",
"Run unpaid 402 checks first, then one buyer-approved paid 200 proof for the one-cent proof rule when a paid proof is explicitly authorized.",
"Keep Railway-origin x402 as rollback until both edge rules match route, method, price, network, and paid proof."
],
"blockedUntil": [
"One buyer-approved paid HTTP 200 proof is still required before calling the proof route commercially converted.",
"Official Cloudflare managed Monetization Gateway rules are not claimed or required for the current Worker bridge."
],
"safeDryRunCommands": [
"npm run cloudflare:billing-rules:print",
"npm run cloudflare:x402-proxy:smoke",
"npm run cloudflare:x402-proxy:typecheck"
],
"liveApplyCommandTemplate": "npm --prefix cloudflare/x402-proxy run deploy",
"postIntegrationVerificationPlan": [
"GET /status and confirm the current ApexScout release.",
"GET /api/cloudflare-billing-rules and confirm the same paid rule count.",
"GET /api/cloudflare-x402-worker-config and confirm protected pattern prices.",
"Unpaid-check the protected route and confirm HTTP 402 only after an explicit deploy window.",
"Run one buyer-approved paid x402 proof only after the unpaid challenge matches."
],
"noSpendBoundary": {
"packIsFree": true,
"paymentAttemptedByPack": false,
"paidRouteCalledByPack": false,
"cloudflareApiCalledByApexScout": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerDeployedByApexScout": true,
"dnsChangedByApexScout": true,
"packReadChangesCloudflare": false,
"packReadChangesDns": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareX402WorkerConfigAvailable": true,
"cloudflareX402WorkerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"retryDecision": {
"recommendedOnlyForX402CapableClients": true,
"payOnlyIf": "The buyer wants the cheapest live x402 proof and approves the route, $0.01 maximum amount, Base mainnet network, and one retry.",
"stopIf": "The buyer has not approved spend, the client cannot attach x402 payment, the network is not eip155:8453, or the output will not change the next action.",
"ifUnsure": "Stay on the no-spend proof and action-pack surfaces. Do not retry payment just to clear the counter."
},
"approvalChecklist": [
"Buyer approves GET /api/opportunity-check as the route.",
"Buyer approves the $0.01 maximum spend.",
"Buyer approves Base mainnet x402 on eip155:8453.",
"Buyer controls the wallet and chooses whether to retry.",
"Buyer expects HTTP 200 JSON only after the paid retry succeeds."
],
"copyPasteAgentNote": "Unpaid 402 is expected. If the buyer approves a one-cent proof, retry GET /api/opportunity-check with an x402-capable client, max amount 10000 atomic USDC on eip155:8453, and treat only HTTP 200 as completion.",
"paidRetryCommandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof\" \\\n --max-amount 10000 \\\n --json",
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"ifUnpaidRisesWithoutCompletion": "Treat this as proof-route interest without payment. Inspect retry clarity only after repeated windows; do not add another paid route.",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"confidencePacketIsFree": true,
"opensPaidRouteByItself": false,
"paymentAttemptedByConfidencePacket": false,
"walletConnectionRequiredForConfidencePacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"http402ReadinessReceipt": {
"available": true,
"mode": "no-spend-http-402-readiness-receipt",
"title": "HTTP 402 Readiness Receipt",
"purpose": "Give x402-capable buyers a compact, unsigned receipt showing what the unpaid proof challenge proves before any buyer-controlled paid retry.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"url": "https://apexscout.ai/api/opportunity-check",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"agentExecutionProofPacketAvailable": true,
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"receiptScope": "GET /api/opportunity-check, $0.01 maximum amount, eip155:8453 Base mainnet x402, one buyer-controlled retry.",
"receiptSummary": "Unpaid HTTP 402 proves the x402 proof route is reachable and returning payment requirements. It does not prove payment, revenue, endorsement, or buyer approval.",
"agentDecision": {
"payOnlyIf": "The buyer explicitly approves the route, max amount, network, and one retry from a wallet-controlled x402 client.",
"stopIf": "The buyer has not approved spend, the client cannot attach x402 payment, the route or network differs, or HTTP 402 is being treated as a paid completion.",
"nextNoSpendStep": "Stay on ApexScout proof, action-pack, Scope Check, or Builder surfaces until buyer-controlled payment is intentionally approved."
},
"readinessChecks": [
"Route scoped to GET /api/opportunity-check.",
"Amount scoped to $0.01 / 10000 atomic USDC.",
"Network scoped to Base mainnet eip155:8453.",
"HTTP 402 is expected before payment.",
"HTTP 200 is required before paid completion is counted.",
"No request body, cookies, session, or wallet connection is required to read this receipt.",
"No buyer-level data is exposed by this receipt.",
"No automatic payment or paid retry is performed by ApexScout."
],
"publicSafetyCopy": "This is an unsigned no-spend readiness receipt, not AP2 proof, not a signed mandate, not a legal or payment receipt, not an endorsement claim, and not trading, investment, tax, legal, lending, or compliance advice.",
"notClaims": {
"signedReceiptCreated": false,
"ap2ProofCreated": false,
"legalMandateCreated": false,
"paymentReceiptCreated": false,
"walletApprovalCreated": false,
"officialEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false
},
"noSpendBoundary": {
"receiptIsFree": true,
"opensPaidRouteByItself": false,
"paymentAttemptedByReceipt": false,
"paidRouteCalledByReceipt": false,
"paidUpstreamCalls": false,
"walletConnectionRequiredForReceipt": false,
"automaticSpending": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
},
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"receiptUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"copyPasteReceiptSummary": "HTTP 402 readiness receipt: GET /api/opportunity-check is reachable, costs max $0.01 on eip155:8453 only after buyer-controlled x402 retry, and counts as paid only when HTTP 200 returns."
},
"proofRetryDecisionStrip": {
"available": true,
"mode": "buyer-controlled-proof-retry-decision-strip",
"title": "Buyer-controlled proof retry gate",
"purpose": "Compress the next click after an unpaid 402 into a clear continue/stop decision for x402-capable buyers.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"url": "https://apexscout.ai/api/opportunity-check",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"agentExecutionProofPacketAvailable": true,
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"decisionSummary": "Continue only if buyer approval, x402 wallet capability, exact route, exact amount, and Base mainnet network all match.",
"continueIf": [
"Buyer explicitly approves this exact $0.01 proof.",
"Client can attach x402 payment on Base mainnet eip155:8453.",
"Route is exactly GET /api/opportunity-check.",
"Max amount is exactly 10000 atomic USDC.",
"Buyer understands only HTTP 200 counts as a paid proof completion."
],
"stopIf": [
"Buyer has not approved spend.",
"Client is a normal browser without x402 payment support.",
"Route, amount, or network differs from the receipt.",
"The buyer is treating unpaid HTTP 402 as revenue or completion.",
"The output will not change the buyer's next action."
],
"primaryAction": {
"label": "Request unpaid proof challenge",
"href": "/api/opportunity-check?src=machine-readable-x402-proof",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=machine-readable-x402-proof",
"normalBrowserResult": "HTTP 402 JSON with x402 payment requirements",
"x402CapableResult": "HTTP 200 JSON only after buyer-controlled paid retry",
"noPaymentOnClick": true,
"paidRetryRequiresBuyerWallet": true
},
"fallbackNoSpendActions": [
"/x402-proof",
"/api/agent-revenue-audit-builder/action-pack",
"/buyer-payment-scope-check",
"/chat-tiny-payment-flow"
],
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"decisionStripUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"decisionStripIsFree": true,
"paymentAttemptedByDecisionStrip": false,
"paidRouteCalledByDecisionStrip": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"agentExecutionProofPacket": {
"available": true,
"mode": "buyer-controlled-agent-execution-proof-packet",
"title": "Agent execution packet",
"purpose": "Give wallet-capable buyer agents the exact one-cent x402 proof retry without adding a new paid route, changing price, or requiring buyer data.",
"route": "/api/opportunity-check",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"hrefUrl": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"executionContract": {
"buyerApprovalRequired": true,
"x402CapableClientRequired": true,
"routeMustMatch": "/api/opportunity-check",
"methodMustMatch": "GET",
"maxAmountMustMatchAtomicUsdc": "10000",
"networkMustMatch": "eip155:8453",
"stopAfterOnePaidResponse": true,
"successOnlyWhenHttp200": true,
"automaticSpendingByApexScout": false
},
"successCriteria": [
"Buyer-controlled x402 retry returns HTTP 200.",
"Response is JSON from GET /api/opportunity-check.",
"The paid proof counter increments only after the paid retry succeeds."
],
"abortIf": [
"Buyer approval is missing.",
"The client cannot attach x402 payment.",
"Route, method, amount, or network differs.",
"The unpaid HTTP 402 challenge is being treated as revenue."
],
"telemetryInterpretation": {
"sourceTag": "agent-execution-proof-packet",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionProofPacket",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"packetIsFree": true,
"packetExecutesPayment": false,
"paidRouteCalledByPacket": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"agentExecutionProofCtaAvailable": true,
"agentExecutionProofCta": {
"available": true,
"mode": "promoted-buyer-executable-proof-cta",
"title": "Buyer-run proof packet",
"label": "Run with buyer-approved x402 wallet",
"copy": "Wallet-capable buyers can use the exact one-cent proof packet now. ApexScout only exposes the packet; the buyer wallet decides whether to pay.",
"href": "/api/opportunity-check?src=agent-execution-proof-packet",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"sourceTag": "agent-execution-proof-packet",
"method": "GET",
"route": "/api/opportunity-check",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"commandShape": "Do not run unless the buyer wallet is approved for this one-cent proof.\nnpx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" \\\n --max-amount 10000 \\\n --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet\" --max-amount 10000 --json",
"machineReadablePaymentRequest": {
"protocol": "x402",
"method": "GET",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-proof-packet",
"route": "/api/opportunity-check",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-proof-packet"
},
"conversionBet": "Promote the already-safe buyer-execution packet above passive proof copy so x402-capable clients have one obvious next action.",
"successMetric": "opportunityCheckGetProofCompletions",
"unpaidSourceBucket": "agentExecutionProofPacket",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"buyerDecision": {
"continueOnlyIf": "The buyer approves the route, amount, network, and one retry from an x402-capable wallet runtime.",
"stopIf": "Approval is missing, the client cannot attach x402 payment, or the route/amount/network differs."
},
"noSpendBoundary": {
"ctaIsFreeToRead": true,
"normalBrowserGetsUnpaid402": true,
"paymentAttemptedByCta": false,
"paidRouteCalledByApexScout": false,
"automaticSpending": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"walletReadinessStripAvailable": true,
"walletReadinessStrip": {
"available": true,
"mode": "buyer-wallet-readiness-strip",
"title": "Before you run the command",
"checklist": [
"Your x402 wallet/client is authenticated.",
"Your wallet has at least $0.01 USDC available on Base.",
"You approve the route: GET /api/opportunity-check.",
"You approve the max amount: 10000 atomic USDC.",
"You understand unpaid HTTP 402 is not revenue.",
"You understand paid proof means HTTP 200 after your own wallet retry."
],
"copy": "ApexScout does not run this command for you. Your buyer-controlled wallet decides whether to spend.",
"route": "/api/opportunity-check",
"method": "GET",
"amountAtomicUsdc": "10000",
"priceUsd": "0.01",
"network": "eip155:8453",
"noFundingAdvice": true,
"noTradingAdvice": true,
"noPrivateKeyAdvice": true,
"noOnrampAdvice": true,
"noSpendBoundary": {
"stripIsFree": true,
"paymentAttemptedByStrip": false,
"paidRouteCalledByStrip": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
}
},
"buyerAgentCommandCopyAvailable": true,
"buyerAgentCommandCopy": {
"available": true,
"mode": "buyer-agent-command-copy",
"title": "Wallet-ready? Copy this command",
"command": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"requestBodyRequired": false,
"walletMustBeAuthenticated": true,
"walletNeedsSufficientUsdc": true,
"apexScoutRunsCommand": false,
"copyingIsPayment": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"sourceBucketCompatibility": {
"oldPacketSourceStillSupported": "agent-execution-proof-packet",
"newCommandCopySource": "agent-execution-command-copy",
"unpaidSourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"topSourceTagsCounter": "opportunityCheckGetProofUnpaidTopSourceTags"
},
"microcopy": "Copying is not payment. Running this command from your own authenticated wallet may spend up to 10000 atomic USDC if you approve it.",
"prerequisites": [
"Authenticated x402 wallet/client.",
"At least $0.01 USDC on Base."
],
"approvalCopy": "This command can spend up to 10000 atomic USDC only if your buyer wallet approves.",
"copyingIsNotPaymentCopy": "Copying this command is not payment.",
"apexScoutRunsCommandCopy": "ApexScout does not run this command.",
"unpaidChallengeCopy": "Unpaid HTTP 402 is expected before payment.",
"paidCompletionCopy": "Paid proof completes only when your buyer-controlled x402 retry returns HTTP 200.",
"placement": {
"x402Proof": "above-proof-detail-sections",
"chatTinyPaymentFlow": "above-chat-flow-detail-sections",
"primaryForWalletCapableAgents": true,
"normalNoSpendPathRemainsPrimary": true
},
"buttons": [
{
"label": "Copy command",
"copies": "command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy route only",
"copies": "route",
"value": "/api/opportunity-check?src=agent-execution-command-copy",
"executesPayment": false,
"opensPaidRoute": false
}
],
"telemetry": {
"commandCopyTelemetryAdded": false,
"skippedReason": "The release keeps the buttons copy-only and avoids adding a client-side analytics call; the new source tag is still available when a buyer-run agent command reaches the unpaid 402 route.",
"copyIsRevenue": false,
"copyIsPayment": false,
"unpaidChallengeSourceBucket": "agentExecutionCommandCopy"
},
"noSpendBoundary": {
"copyPanelIsFree": true,
"copyingExecutesPayment": false,
"copyingOpensPaidRoute": false,
"paidRouteCalledByCopyPanel": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"privateKeysRequested": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false
}
},
"agentReceiptCloseStripAvailable": true,
"agentReceiptCloseStrip": {
"available": true,
"mode": "agent-receipt-close-strip",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Receipt rule accepted? Copy the proof command",
"purpose": "Put the Agent Receipt Contract directly beside the buyer-agent payment command so x402-capable clients know the exact proof standard before retrying.",
"sourceTag": "agent-receipt-contract",
"sourceBucket": "agentReceiptContract",
"method": "GET",
"route": "/api/opportunity-check",
"href": "/api/opportunity-check?src=agent-receipt-contract",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract",
"command": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"routeWithSource": "/api/opportunity-check?src=agent-receipt-contract",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"firstScreenPlacement": {
"x402Proof": "before-wallet-command-copy",
"chatTinyPaymentFlow": "before-wallet-command-copy",
"makeReceiptRuleVisibleBeforePaymentCommand": true,
"normalNoSpendPathRemainsPrimary": true
},
"receiptRule": {
"payOnlyIf": "Your buyer agent accepts that only HTTP 200 after a buyer-controlled x402 retry counts as paid proof.",
"rejectIf": "The client treats HTTP 402, copied text, monitor reads, route mismatch, amount mismatch, network mismatch, or repeated retry loops as proof.",
"unpaid402IsNotRevenue": true,
"paidProofRequiresHttp200": true,
"buyerControlsWalletAndRetry": true,
"stopAfterOneSuccessfulPaidResponse": true
},
"visibleBuyerCopy": [
"Accept the receipt rule before copying the command.",
"HTTP 402 is only the unpaid challenge.",
"HTTP 200 after your buyer-controlled retry is the paid proof.",
"ApexScout does not run this command and does not control the wallet."
],
"buttons": [
{
"label": "Copy receipt-bound command",
"copies": "command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy receipt route",
"copies": "route",
"value": "/api/opportunity-check?src=agent-receipt-contract",
"executesPayment": false,
"opensPaidRoute": false
}
],
"telemetryInterpretation": {
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentReceiptContract",
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"successSignal": "agentReceiptContract source bucket moves only when a buyer/client requests the paid proof route with the receipt-contract source tag."
},
"noSpendBoundary": {
"closeStripIsFree": true,
"copyingExecutesPayment": false,
"copyingOpensPaidRoute": false,
"paymentAttemptedByCloseStrip": false,
"paidRouteCalledByCloseStrip": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"privateKeysRequested": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false
}
},
"buyerWalletCloseAvailable": true,
"buyerWalletClose": {
"available": true,
"mode": "buyer-wallet-close",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Can your wallet pay now?",
"purpose": "Separate wallet-ready buyers from buyers who still need setup before the one-cent proof retry.",
"route": "/api/buyer-wallet-close-intent",
"method": "GET",
"routeIsFree": true,
"sourceTags": {
"walletReady": "agent-receipt-contract",
"cannotPayYet": "agent-wallet-skill-pack",
"copyPaidProofCommand": "agent-execution-command-copy",
"copyReceiptBoundCommand": "agent-receipt-contract",
"copyWalletSetupCommand": "agent-wallet-skill-pack"
},
"actions": {
"walletReady": {
"action": "wallet_ready",
"path": "/api/buyer-wallet-close-intent?action=wallet_ready&src=agent-receipt-contract",
"url": "https://apexscout.ai/api/buyer-wallet-close-intent?action=wallet_ready&src=agent-receipt-contract",
"method": "GET",
"sourceTag": "agent-receipt-contract",
"executesPayment": false,
"opensPaidRoute": false
},
"cannotPayYet": {
"action": "cannot_pay_yet",
"path": "/api/buyer-wallet-close-intent?action=cannot_pay_yet&src=agent-wallet-skill-pack",
"url": "https://apexscout.ai/api/buyer-wallet-close-intent?action=cannot_pay_yet&src=agent-wallet-skill-pack",
"method": "GET",
"sourceTag": "agent-wallet-skill-pack",
"executesPayment": false,
"opensPaidRoute": false
},
"copyPaidProofCommand": {
"action": "copy_paid_proof_command",
"path": "/api/buyer-wallet-close-intent?action=copy_paid_proof_command&src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/buyer-wallet-close-intent?action=copy_paid_proof_command&src=agent-execution-command-copy",
"method": "GET",
"sourceTag": "agent-execution-command-copy",
"executesPayment": false,
"opensPaidRoute": false
},
"copyReceiptBoundCommand": {
"action": "copy_receipt_bound_command",
"path": "/api/buyer-wallet-close-intent?action=copy_receipt_bound_command&src=agent-receipt-contract",
"url": "https://apexscout.ai/api/buyer-wallet-close-intent?action=copy_receipt_bound_command&src=agent-receipt-contract",
"method": "GET",
"sourceTag": "agent-receipt-contract",
"executesPayment": false,
"opensPaidRoute": false
},
"copyWalletSetupCommand": {
"action": "copy_wallet_setup_command",
"path": "/api/buyer-wallet-close-intent?action=copy_wallet_setup_command&src=agent-wallet-skill-pack",
"url": "https://apexscout.ai/api/buyer-wallet-close-intent?action=copy_wallet_setup_command&src=agent-wallet-skill-pack",
"method": "GET",
"sourceTag": "agent-wallet-skill-pack",
"executesPayment": false,
"opensPaidRoute": false
}
},
"visibleBuyerCopy": [
"Choose the wallet state before copying a command.",
"This signal is a free GET request and does not open the paid route.",
"If the wallet is ready, copy the command and run it only from the buyer-controlled wallet.",
"If the wallet is not ready, stop before payment and fix wallet authentication, balance, route, amount, or network."
],
"paidProofCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"receiptBoundCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"walletSetupNote": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof.",
"buttons": [
{
"label": "I can pay now",
"action": "wallet_ready",
"copies": null,
"value": null,
"intentPath": "/api/buyer-wallet-close-intent?action=wallet_ready&src=agent-receipt-contract",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "I can't pay yet",
"action": "cannot_pay_yet",
"copies": null,
"value": null,
"intentPath": "/api/buyer-wallet-close-intent?action=cannot_pay_yet&src=agent-wallet-skill-pack",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy paid proof command",
"action": "copy_paid_proof_command",
"copies": "command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"intentPath": "/api/buyer-wallet-close-intent?action=copy_paid_proof_command&src=agent-execution-command-copy",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy receipt-bound command",
"action": "copy_receipt_bound_command",
"copies": "command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"intentPath": "/api/buyer-wallet-close-intent?action=copy_receipt_bound_command&src=agent-receipt-contract",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy wallet setup note",
"action": "copy_wallet_setup_command",
"copies": "wallet_setup_note",
"value": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof.",
"intentPath": "/api/buyer-wallet-close-intent?action=copy_wallet_setup_command&src=agent-wallet-skill-pack",
"executesPayment": false,
"opensPaidRoute": false
}
],
"telemetryInterpretation": {
"mode": "aggregate-only-buyer-wallet-close-intent",
"counter": "buyerWalletCloseSignals.walletCloseIntentEvents",
"walletReadyCounter": "buyerWalletCloseSignals.walletReadyIntent",
"cannotPayYetCounter": "buyerWalletCloseSignals.cannotPayYet",
"copyPaidProofCommandCounter": "buyerWalletCloseSignals.copyPaidProofCommand",
"copyReceiptBoundCommandCounter": "buyerWalletCloseSignals.copyReceiptBoundCommand",
"copyWalletSetupCommandCounter": "buyerWalletCloseSignals.copyWalletSetupCommand",
"intentIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"firstScreenPlacement": {
"x402Proof": "before-receipt-and-command-copy",
"chatTinyPaymentFlow": "before-receipt-and-command-copy",
"walletStateVisibleBeforePaymentCommand": true,
"normalNoSpendPathRemainsPrimary": true
},
"noSpendBoundary": {
"panelIsFree": true,
"intentRouteIsFree": true,
"intentRouteMethod": "GET",
"copyingExecutesPayment": false,
"clickingStateExecutesPayment": false,
"clickingStateOpensPaidRoute": false,
"paidRouteCalledByPanel": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"privateKeysRequested": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false
}
},
"http402ClosePacketAvailable": true,
"http402ClosePacket": {
"available": true,
"mode": "buyer-agent-402-close-packet",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "402 close packet",
"purpose": "Put the buyer-agent close instructions inside the unpaid HTTP 402 response so x402-capable clients can finish the proof without hunting through a page.",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"method": "GET",
"href": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"maxAmountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"command": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"oneLineCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"closeMessage": "You reached the ApexScout paid proof gate. To complete the proof, retry this exact GET route from an authenticated x402 wallet/client with max amount 10000 atomic USDC on Base mainnet.",
"buyerAgentInstruction": "If the buyer approved this one-cent proof, run the command exactly once and treat only HTTP 200 as the paid completion. If any route, amount, network, or approval detail differs, stop.",
"whatHttp200Proves": [
"The buyer-controlled x402 retry reached ApexScout's one-cent proof route.",
"The paid route returned structured JSON after payment verification.",
"The aggregate paid proof completion counter is allowed to move only after HTTP 200."
],
"notProofOf": [
"Coinbase, AWS, Stripe, Bazaar, AgentCore, Base, marketplace, or protocol endorsement.",
"Guaranteed revenue, trading results, investment outcome, legal advice, tax advice, lending advice, or compliance approval.",
"Buyer identity, wallet-level activity, secret signing material, or broader permission to spend."
],
"continueIf": [
"The buyer explicitly approved this one-cent proof.",
"The client can attach an x402 payment authorization.",
"The retry route is exactly GET /api/opportunity-check?src=agent-execution-command-copy.",
"The max amount is exactly 10000 atomic USDC.",
"The network is exactly eip155:8453."
],
"stopIf": [
"The wallet is not authenticated.",
"The wallet has insufficient USDC on Base.",
"The client cannot attach x402 payment.",
"The max amount is lower than 10000 atomic USDC.",
"The network is not eip155:8453.",
"The buyer did not approve this exact spend.",
"The agent plans to retry more than once just to clear a metric."
],
"failureBranches": {
"walletNotAuthenticated": {
"bucket": "wallet_not_authenticated",
"buyerAction": "Authenticate the buyer-controlled x402 wallet/client before retrying.",
"apexScoutAction": "Do nothing automatically."
},
"insufficientBaseUsdc": {
"bucket": "insufficient_base_usdc",
"buyerAction": "Stop until the buyer-controlled wallet has enough Base USDC for the one-cent proof.",
"apexScoutAction": "Do not fund, trade, onramp, or advise funding."
},
"maxAmountTooLow": {
"bucket": "max_amount_too_low",
"buyerAction": "Use max amount 10000 atomic USDC or stop.",
"apexScoutAction": "Do not lower route price or change payment requirements."
},
"wrongNetwork": {
"bucket": "wrong_network",
"buyerAction": "Use eip155:8453 Base mainnet or stop.",
"apexScoutAction": "Do not switch rails."
},
"paymentDeclined": {
"bucket": "payment_declined",
"buyerAction": "Stop unless the buyer explicitly approves another attempt.",
"apexScoutAction": "Do not retry payment for the buyer."
}
},
"telemetryInterpretation": {
"sourceTag": "agent-execution-command-copy",
"unpaidChallengeCounter": "opportunityCheckGetProofUnpaidChallenges",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"sourceBucketsCounter": "opportunityCheckGetProofUnpaidSourceBuckets",
"sourceBucket": "agentExecutionCommandCopy",
"closePacketUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200"
},
"noSpendBoundary": {
"closePacketIsFree": true,
"closePacketExecutesPayment": false,
"paymentAttemptedByClosePacket": false,
"paidRouteCalledByClosePacket": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false,
"secretSigningMaterialRequested": false
}
},
"buyerProofExecutionCloseoutAvailable": true,
"buyerProofExecutionCloseout": {
"available": true,
"mode": "buyer-proof-execution-closeout",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Copied? Finish with one buyer-run proof retry",
"purpose": "Close the gap after a buyer agent marks its wallet ready or copies the command: run exactly one buyer-approved proof retry, classify the response, then stop.",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-receipt-contract",
"method": "GET",
"href": "/api/opportunity-check?src=agent-receipt-contract",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUsdc": "10000",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"rail": "Base mainnet x402 exact payment",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"primarySourceTag": "agent-receipt-contract",
"primarySourceBucket": "agentReceiptContract",
"commandCopySourceTag": "agent-execution-command-copy",
"commandCopySourceBucket": "agentExecutionCommandCopy",
"buyerWalletCloseSignalCounter": "buyerWalletCloseSignals.walletCloseIntentEvents",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"firstScreenPlacement": {
"x402Proof": "after-wallet-close-before-receipt-command",
"chatTinyPaymentFlow": "after-wallet-close-before-receipt-command",
"closeoutVisibleBeforeCommandCopy": true,
"normalNoSpendPathRemainsPrimary": true
},
"closeoutRule": {
"ifWalletReadyAndCommandCopied": "Run the receipt-bound command exactly once from the buyer-controlled x402 wallet if the buyer approved the route, amount, and network.",
"ifCannotPayYet": "Do not retry payment. Use the wallet setup note and stop until wallet authentication, Base USDC balance, route, amount, and network match.",
"ifResponseIs402": "Treat the result as unpaid. It is a challenge, not a paid proof, and it should not move revenue.",
"ifResponseIs200": "Treat the result as paid proof only after the buyer-controlled x402 retry returns structured HTTP 200 JSON.",
"ifRetryIsRejected": "Read the sanitized edge failure status once, classify the rejection, and stop before another paid attempt.",
"stopAfter": "one buyer-approved paid retry unless a human operator explicitly approves another capped diagnostic"
},
"buyerAgentChecklist": [
"Wallet is authenticated by the buyer, not ApexScout.",
"Buyer approves GET /api/opportunity-check with source agent-receipt-contract.",
"Maximum spend is exactly 10000 atomic USDC.",
"Network is exactly eip155:8453 Base mainnet.",
"Run one retry, then classify HTTP 402, HTTP 200, or a sanitized edge failure."
],
"copyReadyCommands": {
"receiptBoundProofCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"commandCopyProofCommand": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy\" --max-amount 10000 --json",
"edgeFailureReadCommand": "curl -s \"https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure\"",
"walletSetupNote": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof."
},
"safeReadouts": {
"edgeHealthPath": "/__apexscout/cloudflare-x402/health",
"edgeLastFailurePath": "/__apexscout/cloudflare-x402/health/last-failure",
"edgeLastFailureUrl": "https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure",
"originLastFailurePath": "/api/cloudflare-x402-edge-failure/last",
"originLastFailureUrl": "https://apexscout.ai/api/cloudflare-x402-edge-failure/last",
"noPaymentAttemptedByRead": true,
"buyerLevelDataExposed": false,
"rawPaymentPayloadExposed": false,
"privateKeysRequested": false
},
"buttons": [
{
"label": "Copy receipt-bound proof command",
"copies": "receipt_bound_command",
"value": "npx [email protected] x402 pay \"https://apexscout.ai/api/opportunity-check?src=agent-receipt-contract\" --max-amount 10000 --json",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy edge failure readout",
"copies": "edge_failure_read_command",
"value": "curl -s \"https://apexscout.ai/__apexscout/cloudflare-x402/health/last-failure\"",
"executesPayment": false,
"opensPaidRoute": false
},
{
"label": "Copy wallet setup note",
"copies": "wallet_setup_note",
"value": "Authenticate your own x402 wallet/client. Confirm the buyer approves GET /api/opportunity-check. Confirm max spend is 10000 atomic USDC on eip155:8453. Run the paid proof command only from the buyer-controlled wallet. Treat HTTP 402 as unpaid and HTTP 200 as paid proof.",
"executesPayment": false,
"opensPaidRoute": false
}
],
"telemetryInterpretation": {
"walletReadyCounter": "buyerWalletCloseSignals.walletReadyIntent",
"copyPaidProofCommandCounter": "buyerWalletCloseSignals.copyPaidProofCommand",
"copyReceiptBoundCommandCounter": "buyerWalletCloseSignals.copyReceiptBoundCommand",
"paidCompletionCounter": "opportunityCheckGetProofCompletions",
"failureReadoutIsRevenue": false,
"copyIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"newCounterAdded": false,
"reason": "The closeout reuses existing aggregate wallet-close, source-bucket, and paid-completion counters so it improves decision clarity without creating fake movement."
},
"noSpendBoundary": {
"closeoutIsFree": true,
"closeoutExecutesPayment": false,
"copyingExecutesPayment": false,
"copyingOpensPaidRoute": false,
"failureReadoutExecutesPayment": false,
"failureReadoutCallsPaidRoute": false,
"paymentAttemptedByCloseout": false,
"paidRouteCalledByCloseout": false,
"apexScoutRunsCommand": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"productionPostCreated": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false,
"cloudflareMutationCreated": false,
"apifyActorRunCreated": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawCommandStored": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"privateKeysRequested": false,
"walletPayloadsExposed": false,
"livePaymentPayloadsExposed": false,
"rawPaymentPayloadExposed": false
},
"safetyClaims": {
"guaranteedRevenueClaimed": false,
"officialEndorsementClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareMonetizationGatewayReadinessAvailable": true,
"cloudflareMonetizationGatewayReadiness": {
"available": true,
"mode": "cloudflare-monetization-gateway-readiness",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare live edge status",
"releaseReportingMode": "worker-and-origin-split",
"appRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"originRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"originReleasePath": "/status",
"workerRelease": "v2.2.179-cloudflare-worker-origin-release-split",
"workerSourceVersion": "2.2.179",
"workerHealthReleaseContract": {
"healthPath": "/__apexscout/cloudflare-x402/health",
"releaseFieldMeans": "workerRelease",
"workerReleaseField": "workerRelease",
"originReleaseField": "originRelease",
"originReleasePath": "/status",
"originReleaseReadIsNoSpend": true,
"mismatchIsActionableOnlyWhenWorkerHealthFails": true
},
"sourceSignal": {
"name": "Cloudflare Monetization Gateway",
"sourceUrl": "https://blog.cloudflare.com/monetization-gateway/",
"articleUrl": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving x402 payment enforcement toward edge-managed route rules. ApexScout now serves the one-cent proof path through a narrow Cloudflare Worker while keeping Railway as the origin fallback."
},
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"officialCloudflareMonetizationGatewayClaimed": false,
"officialCloudflareEndorsementClaimed": false,
"cloudflareBillingRulesPackAvailable": true,
"cloudflareBillingRulesPath": "/api/cloudflare-billing-rules",
"cloudflareBillingRulesWellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"cloudflareX402WorkerConfigAvailable": true,
"cloudflareX402WorkerConfigPath": "/api/cloudflare-x402-worker-config",
"cloudflareX402WorkerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"cloudflareBillingRulesPack": {
"available": true,
"mode": "cloudflare-billing-rules-pack",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare billing rules pack",
"purpose": "Document ApexScout's live Cloudflare edge Worker route and existing x402 paid-route policy without changing price, seller wallet, or buyer-controlled payment rules.",
"apiPath": "/api/cloudflare-billing-rules",
"wellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"workerConfigPath": "/api/cloudflare-x402-worker-config",
"workerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceSignals": [
{
"name": "Cloudflare Monetization Gateway",
"url": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving toward edge-managed payment rules, including route-level x402 enforcement."
},
{
"name": "Cloudflare x402 proxy",
"url": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"interpretedAs": "A Cloudflare Worker can sit in front of an existing HTTP origin, return 402, verify x402 payment, and forward the approved request."
},
{
"name": "Cloudflare Pay Per Crawl",
"url": "https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/",
"interpretedAs": "Cloudflare's crawler billing direction reinforces clear allow, charge, and block rules for automated clients."
}
],
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"cloudflareWorkerConfigPrepared": true,
"cloudflareRulesCreated": true,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRulesCreated": false,
"officialCloudflareEndorsementClaimed": false,
"monetizationGatewayApiPubliclyAvailable": false,
"monetizationGatewayApiStatus": "planned-or-early-access",
"currentDeployableOption": "cloudflare-x402-edge-settlement-worker",
"originFallbackRequired": true,
"originStillEnforcesX402": true,
"originEdgeSettlementBridgePrepared": true,
"edgeSettlementEligiblePaidRuleCount": 1,
"originAuthoritativePaidRuleCount": 1,
"billingRuleCount": 5,
"paidBillingRuleCount": 2,
"freeAllowRuleCount": 2,
"blockRuleCount": 1,
"paidRules": [
{
"id": "apexscout-one-cent-proof",
"type": "charge_x402",
"method": "GET",
"pattern": "/api/opportunity-check",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": true,
"originEdgeSettlementBypassRequired": true,
"originStillEnforcesX402": false,
"liveRuleMode": "edge-settled-with-signed-origin-bridge"
},
{
"id": "apexscout-agent-revenue-audit",
"type": "charge_x402",
"method": "POST",
"pattern": "/api/agent-revenue-audit",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"priceUsd": "5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": false,
"originEdgeSettlementBypassRequired": false,
"originStillEnforcesX402": true,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"reasonEdgeSettlementDeferred": "This POST route should not be edge-settled until the buyer payload can be validated before charge."
}
],
"allowRules": [
{
"id": "apexscout-free-agent-metadata",
"type": "allow_free",
"patterns": [
"/",
"/docs.json",
"/llms.txt",
"/skill.md",
"/.well-known/agent.json",
"/agent-capabilities.json",
"/api/public-agent",
"/mcp-tool-pack",
"/api/mcp-tool-pack",
"/.well-known/mcp.json",
"/api/agentcore-openapi.json",
"/.well-known/apexscout-monetization-policy.json",
"/api/agent-monetization-policy",
"/.well-known/apexscout-paid-tools.json",
"/api/paid-mcp-tools",
"/agent-wallet-skill-pack",
"/api/agent-wallet-skill-pack",
"/.well-known/apexscout-agent-wallet-skill.json",
"/apexscout-agent-wallet-skill.md",
"/.well-known/apexscout-agent-wallet-skill.md",
"/apify-x402-upstream-readiness",
"/api/apify-x402-upstream-readiness",
"/.well-known/apexscout-apify-x402-upstream.json",
"/cloudflare-monetization-gateway-rules",
"/api/cloudflare-monetization-gateway-rules",
"/.well-known/apexscout-cloudflare-monetization-gateway-rules.json",
"/agent-receipt-contract",
"/api/agent-receipt-contract",
"/.well-known/apexscout-agent-receipt-contract.json",
"/api/cloudflare-billing-rules",
"/.well-known/apexscout-cloudflare-billing-rules.json",
"/api/cloudflare-x402-worker-config",
"/.well-known/apexscout-cloudflare-x402-worker.json"
],
"reason": "Payment-aware agents should inspect policy, prices, and route caps before spend.",
"paidRetryRequired": false
},
{
"id": "apexscout-free-proof-and-preflight",
"type": "allow_free",
"patterns": [
"/x402-proof",
"/api/x402-proof",
"/chat-tiny-payment-flow",
"/api/chat-tiny-payment-flow",
"/api/agent-revenue-audit-builder/action-pack",
"/api/buyer-payment-scope-check",
"/api/buyer-agent-payment-safety",
"/api/x402-security-readiness"
],
"reason": "No-spend proof, preflight, Builder, Scope, and payment-safety surfaces should stay readable.",
"paidRetryRequired": false
}
],
"blockRules": [
{
"id": "apexscout-private-operator-surfaces",
"type": "block_public_access",
"patterns": [
"/admin/*",
"/api/admin/*"
],
"reason": "Private operator surfaces are not public buyer-agent resources.",
"paidRetryAvailable": false
}
],
"workerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"operatorApplyPlan": [
"Confirm the ApexScout zone remains active on Cloudflare and the route remains proxied.",
"Set APEXSCOUT_X402_PAY_TO to the existing ApexScout x402 seller payTo address in Cloudflare secrets or vars.",
"Set APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET as the same shared secret in Cloudflare and Railway.",
"Review cloudflare/x402-proxy/wrangler.jsonc against this API response.",
"Keep Worker changes inside explicit Cloudflare deployment windows.",
"Run unpaid 402 checks first, then one buyer-approved paid 200 proof for the one-cent proof rule when a paid proof is explicitly authorized.",
"Keep Railway-origin x402 as rollback until both edge rules match route, method, price, network, and paid proof."
],
"blockedUntil": [
"One buyer-approved paid HTTP 200 proof is still required before calling the proof route commercially converted.",
"Official Cloudflare managed Monetization Gateway rules are not claimed or required for the current Worker bridge."
],
"safeDryRunCommands": [
"npm run cloudflare:billing-rules:print",
"npm run cloudflare:x402-proxy:smoke",
"npm run cloudflare:x402-proxy:typecheck"
],
"liveApplyCommandTemplate": "npm --prefix cloudflare/x402-proxy run deploy",
"postIntegrationVerificationPlan": [
"GET /status and confirm the current ApexScout release.",
"GET /api/cloudflare-billing-rules and confirm the same paid rule count.",
"GET /api/cloudflare-x402-worker-config and confirm protected pattern prices.",
"Unpaid-check the protected route and confirm HTTP 402 only after an explicit deploy window.",
"Run one buyer-approved paid x402 proof only after the unpaid challenge matches."
],
"noSpendBoundary": {
"packIsFree": true,
"paymentAttemptedByPack": false,
"paidRouteCalledByPack": false,
"cloudflareApiCalledByApexScout": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerDeployedByApexScout": true,
"dnsChangedByApexScout": true,
"packReadChangesCloudflare": false,
"packReadChangesDns": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareX402WorkerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"waitlistOrEarlyAccessRequired": false,
"noDnsChangeMade": false,
"dnsChangedByLiveCutover": true,
"noCloudflareApiCallMade": false,
"noCloudflareApiCallMadeByRead": true,
"noPaymentRuleCreated": false,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"noPaidRouteChanged": true,
"noPriceChanged": true,
"noSellerWalletChanged": true,
"noPaymentRailChanged": true,
"apexScoutRemainsSourceOfTruth": true,
"candidateRules": [
{
"id": "apexscout-one-cent-proof",
"purpose": "Edge-readable one-cent x402 proof route for wallet-capable buyer agents.",
"method": "GET",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"amountAtomicUsdc": "10000",
"priceUsd": "0.01",
"displayPrice": "$0.01",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerApprovalRequired": true,
"currentOriginStillEnforcesX402": true,
"gatewayCanMirrorButNotOverrideOrigin": true
},
{
"id": "apexscout-agent-revenue-audit",
"purpose": "Higher-value builder monetization audit route.",
"method": "POST",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"amountAtomicUsdc": "5000000",
"priceUsd": "5.00",
"displayPrice": "$5.00",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerApprovalRequired": true,
"currentOriginStillEnforcesX402": true,
"gatewayCanMirrorButNotOverrideOrigin": true
}
],
"migrationPlan": [
"Keep the Cloudflare Worker route narrow and use Railway as the origin fallback.",
"Use these candidate rules as the review checklist before any future official managed-gateway change.",
"Require unpaid HTTP 402 and buyer-controlled HTTP 200 proof for each route after any edge or gateway change.",
"Keep ApexScout aggregate metrics as the public conversion truth source.",
"Roll back to Railway-origin x402 if route, amount, network, or payment proof differs."
],
"operatorChecklist": {
"dnsChangeApproved": true,
"cloudflareApiTokenApproved": true,
"gatewayRuleCreationApproved": true,
"postDeployPaidProofRequiredBeforeClaimingGatewayLive": true,
"originFallbackRequired": true,
"compareGatewayRulesToCandidateRules": true
},
"noSpendBoundary": {
"readinessPacketIsFree": true,
"paymentAttemptedByReadinessPacket": false,
"paidRouteCalledByReadinessPacket": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerRouteCreated": true,
"cloudflareApiCalled": false,
"dnsChanged": false,
"dnsAlreadyProxiedThroughCloudflare": true,
"workerAlreadyDeployed": true,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"revenueOutcomeClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
},
"telemetryInterpretation": {
"readinessUsageIsRevenue": false,
"unpaidChallengeIsRevenue": false,
"paidCompletionDefinition": "buyer-controlled x402 retry returns HTTP 200",
"watchCounters": "If unpaid proof counters move without paid completions, treat it as proof-route interest, not gateway success."
}
},
"cloudflareBillingRulesPackAvailable": true,
"cloudflareBillingRulesPack": {
"available": true,
"mode": "cloudflare-billing-rules-pack",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare billing rules pack",
"purpose": "Document ApexScout's live Cloudflare edge Worker route and existing x402 paid-route policy without changing price, seller wallet, or buyer-controlled payment rules.",
"apiPath": "/api/cloudflare-billing-rules",
"wellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"workerConfigPath": "/api/cloudflare-x402-worker-config",
"workerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceSignals": [
{
"name": "Cloudflare Monetization Gateway",
"url": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving toward edge-managed payment rules, including route-level x402 enforcement."
},
{
"name": "Cloudflare x402 proxy",
"url": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"interpretedAs": "A Cloudflare Worker can sit in front of an existing HTTP origin, return 402, verify x402 payment, and forward the approved request."
},
{
"name": "Cloudflare Pay Per Crawl",
"url": "https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/",
"interpretedAs": "Cloudflare's crawler billing direction reinforces clear allow, charge, and block rules for automated clients."
}
],
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"cloudflareWorkerConfigPrepared": true,
"cloudflareRulesCreated": true,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRulesCreated": false,
"officialCloudflareEndorsementClaimed": false,
"monetizationGatewayApiPubliclyAvailable": false,
"monetizationGatewayApiStatus": "planned-or-early-access",
"currentDeployableOption": "cloudflare-x402-edge-settlement-worker",
"originFallbackRequired": true,
"originStillEnforcesX402": true,
"originEdgeSettlementBridgePrepared": true,
"edgeSettlementEligiblePaidRuleCount": 1,
"originAuthoritativePaidRuleCount": 1,
"billingRuleCount": 5,
"paidBillingRuleCount": 2,
"freeAllowRuleCount": 2,
"blockRuleCount": 1,
"paidRules": [
{
"id": "apexscout-one-cent-proof",
"type": "charge_x402",
"method": "GET",
"pattern": "/api/opportunity-check",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": true,
"originEdgeSettlementBypassRequired": true,
"originStillEnforcesX402": false,
"liveRuleMode": "edge-settled-with-signed-origin-bridge"
},
{
"id": "apexscout-agent-revenue-audit",
"type": "charge_x402",
"method": "POST",
"pattern": "/api/agent-revenue-audit",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"priceUsd": "5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": false,
"originEdgeSettlementBypassRequired": false,
"originStillEnforcesX402": true,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"reasonEdgeSettlementDeferred": "This POST route should not be edge-settled until the buyer payload can be validated before charge."
}
],
"allowRules": [
{
"id": "apexscout-free-agent-metadata",
"type": "allow_free",
"patterns": [
"/",
"/docs.json",
"/llms.txt",
"/skill.md",
"/.well-known/agent.json",
"/agent-capabilities.json",
"/api/public-agent",
"/mcp-tool-pack",
"/api/mcp-tool-pack",
"/.well-known/mcp.json",
"/api/agentcore-openapi.json",
"/.well-known/apexscout-monetization-policy.json",
"/api/agent-monetization-policy",
"/.well-known/apexscout-paid-tools.json",
"/api/paid-mcp-tools",
"/agent-wallet-skill-pack",
"/api/agent-wallet-skill-pack",
"/.well-known/apexscout-agent-wallet-skill.json",
"/apexscout-agent-wallet-skill.md",
"/.well-known/apexscout-agent-wallet-skill.md",
"/apify-x402-upstream-readiness",
"/api/apify-x402-upstream-readiness",
"/.well-known/apexscout-apify-x402-upstream.json",
"/cloudflare-monetization-gateway-rules",
"/api/cloudflare-monetization-gateway-rules",
"/.well-known/apexscout-cloudflare-monetization-gateway-rules.json",
"/agent-receipt-contract",
"/api/agent-receipt-contract",
"/.well-known/apexscout-agent-receipt-contract.json",
"/api/cloudflare-billing-rules",
"/.well-known/apexscout-cloudflare-billing-rules.json",
"/api/cloudflare-x402-worker-config",
"/.well-known/apexscout-cloudflare-x402-worker.json"
],
"reason": "Payment-aware agents should inspect policy, prices, and route caps before spend.",
"paidRetryRequired": false
},
{
"id": "apexscout-free-proof-and-preflight",
"type": "allow_free",
"patterns": [
"/x402-proof",
"/api/x402-proof",
"/chat-tiny-payment-flow",
"/api/chat-tiny-payment-flow",
"/api/agent-revenue-audit-builder/action-pack",
"/api/buyer-payment-scope-check",
"/api/buyer-agent-payment-safety",
"/api/x402-security-readiness"
],
"reason": "No-spend proof, preflight, Builder, Scope, and payment-safety surfaces should stay readable.",
"paidRetryRequired": false
}
],
"blockRules": [
{
"id": "apexscout-private-operator-surfaces",
"type": "block_public_access",
"patterns": [
"/admin/*",
"/api/admin/*"
],
"reason": "Private operator surfaces are not public buyer-agent resources.",
"paidRetryAvailable": false
}
],
"workerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"operatorApplyPlan": [
"Confirm the ApexScout zone remains active on Cloudflare and the route remains proxied.",
"Set APEXSCOUT_X402_PAY_TO to the existing ApexScout x402 seller payTo address in Cloudflare secrets or vars.",
"Set APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET as the same shared secret in Cloudflare and Railway.",
"Review cloudflare/x402-proxy/wrangler.jsonc against this API response.",
"Keep Worker changes inside explicit Cloudflare deployment windows.",
"Run unpaid 402 checks first, then one buyer-approved paid 200 proof for the one-cent proof rule when a paid proof is explicitly authorized.",
"Keep Railway-origin x402 as rollback until both edge rules match route, method, price, network, and paid proof."
],
"blockedUntil": [
"One buyer-approved paid HTTP 200 proof is still required before calling the proof route commercially converted.",
"Official Cloudflare managed Monetization Gateway rules are not claimed or required for the current Worker bridge."
],
"safeDryRunCommands": [
"npm run cloudflare:billing-rules:print",
"npm run cloudflare:x402-proxy:smoke",
"npm run cloudflare:x402-proxy:typecheck"
],
"liveApplyCommandTemplate": "npm --prefix cloudflare/x402-proxy run deploy",
"postIntegrationVerificationPlan": [
"GET /status and confirm the current ApexScout release.",
"GET /api/cloudflare-billing-rules and confirm the same paid rule count.",
"GET /api/cloudflare-x402-worker-config and confirm protected pattern prices.",
"Unpaid-check the protected route and confirm HTTP 402 only after an explicit deploy window.",
"Run one buyer-approved paid x402 proof only after the unpaid challenge matches."
],
"noSpendBoundary": {
"packIsFree": true,
"paymentAttemptedByPack": false,
"paidRouteCalledByPack": false,
"cloudflareApiCalledByApexScout": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerDeployedByApexScout": true,
"dnsChangedByApexScout": true,
"packReadChangesCloudflare": false,
"packReadChangesDns": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareX402WorkerConfigAvailable": true,
"cloudflareX402WorkerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"agentMonetizationPolicyMatrixAvailable": true,
"agentMonetizationPolicyMatrix": {
"available": true,
"mode": "agent-monetization-policy-matrix",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Agent monetization policy matrix",
"purpose": "Give crawlers, buyer agents, edge gateways, and MCP clients one clear allow/charge/block map before they touch a paid route.",
"sourceSignals": [
{
"name": "Cloudflare Pay Per Crawl",
"sourceUrl": "https://blog.cloudflare.com/introducing-pay-per-crawl/",
"interpretedAs": "Agents and crawlers need a simple policy choice: free access, charged access, or blocked access."
},
{
"name": "Cloudflare Monetization Gateway",
"sourceUrl": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Paid APIs, datasets, pages, and MCP tools can be described as route-level payment rules before any buyer-controlled retry."
}
],
"policyUrl": "https://apexscout.ai/.well-known/apexscout-monetization-policy.json",
"apiPath": "/api/agent-monetization-policy",
"wellKnownPath": "/.well-known/apexscout-monetization-policy.json",
"paidMcpToolsManifest": "https://apexscout.ai/.well-known/apexscout-paid-tools.json",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareDnsProxied": true,
"officialCloudflareEndorsementClaimed": false,
"officialCloudflareMonetizationGatewayClaimed": false,
"cloudflareBillingRulesPackAvailable": true,
"cloudflareBillingRulesPath": "/api/cloudflare-billing-rules",
"cloudflareBillingRulesWellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"cloudflareBillingRulesPack": {
"available": true,
"mode": "cloudflare-billing-rules-pack",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare billing rules pack",
"purpose": "Document ApexScout's live Cloudflare edge Worker route and existing x402 paid-route policy without changing price, seller wallet, or buyer-controlled payment rules.",
"apiPath": "/api/cloudflare-billing-rules",
"wellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"workerConfigPath": "/api/cloudflare-x402-worker-config",
"workerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceSignals": [
{
"name": "Cloudflare Monetization Gateway",
"url": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving toward edge-managed payment rules, including route-level x402 enforcement."
},
{
"name": "Cloudflare x402 proxy",
"url": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"interpretedAs": "A Cloudflare Worker can sit in front of an existing HTTP origin, return 402, verify x402 payment, and forward the approved request."
},
{
"name": "Cloudflare Pay Per Crawl",
"url": "https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/",
"interpretedAs": "Cloudflare's crawler billing direction reinforces clear allow, charge, and block rules for automated clients."
}
],
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"cloudflareWorkerConfigPrepared": true,
"cloudflareRulesCreated": true,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRulesCreated": false,
"officialCloudflareEndorsementClaimed": false,
"monetizationGatewayApiPubliclyAvailable": false,
"monetizationGatewayApiStatus": "planned-or-early-access",
"currentDeployableOption": "cloudflare-x402-edge-settlement-worker",
"originFallbackRequired": true,
"originStillEnforcesX402": true,
"originEdgeSettlementBridgePrepared": true,
"edgeSettlementEligiblePaidRuleCount": 1,
"originAuthoritativePaidRuleCount": 1,
"billingRuleCount": 5,
"paidBillingRuleCount": 2,
"freeAllowRuleCount": 2,
"blockRuleCount": 1,
"paidRules": [
{
"id": "apexscout-one-cent-proof",
"type": "charge_x402",
"method": "GET",
"pattern": "/api/opportunity-check",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": true,
"originEdgeSettlementBypassRequired": true,
"originStillEnforcesX402": false,
"liveRuleMode": "edge-settled-with-signed-origin-bridge"
},
{
"id": "apexscout-agent-revenue-audit",
"type": "charge_x402",
"method": "POST",
"pattern": "/api/agent-revenue-audit",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"priceUsd": "5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": false,
"originEdgeSettlementBypassRequired": false,
"originStillEnforcesX402": true,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"reasonEdgeSettlementDeferred": "This POST route should not be edge-settled until the buyer payload can be validated before charge."
}
],
"allowRules": [
{
"id": "apexscout-free-agent-metadata",
"type": "allow_free",
"patterns": [
"/",
"/docs.json",
"/llms.txt",
"/skill.md",
"/.well-known/agent.json",
"/agent-capabilities.json",
"/api/public-agent",
"/mcp-tool-pack",
"/api/mcp-tool-pack",
"/.well-known/mcp.json",
"/api/agentcore-openapi.json",
"/.well-known/apexscout-monetization-policy.json",
"/api/agent-monetization-policy",
"/.well-known/apexscout-paid-tools.json",
"/api/paid-mcp-tools",
"/agent-wallet-skill-pack",
"/api/agent-wallet-skill-pack",
"/.well-known/apexscout-agent-wallet-skill.json",
"/apexscout-agent-wallet-skill.md",
"/.well-known/apexscout-agent-wallet-skill.md",
"/apify-x402-upstream-readiness",
"/api/apify-x402-upstream-readiness",
"/.well-known/apexscout-apify-x402-upstream.json",
"/cloudflare-monetization-gateway-rules",
"/api/cloudflare-monetization-gateway-rules",
"/.well-known/apexscout-cloudflare-monetization-gateway-rules.json",
"/agent-receipt-contract",
"/api/agent-receipt-contract",
"/.well-known/apexscout-agent-receipt-contract.json",
"/api/cloudflare-billing-rules",
"/.well-known/apexscout-cloudflare-billing-rules.json",
"/api/cloudflare-x402-worker-config",
"/.well-known/apexscout-cloudflare-x402-worker.json"
],
"reason": "Payment-aware agents should inspect policy, prices, and route caps before spend.",
"paidRetryRequired": false
},
{
"id": "apexscout-free-proof-and-preflight",
"type": "allow_free",
"patterns": [
"/x402-proof",
"/api/x402-proof",
"/chat-tiny-payment-flow",
"/api/chat-tiny-payment-flow",
"/api/agent-revenue-audit-builder/action-pack",
"/api/buyer-payment-scope-check",
"/api/buyer-agent-payment-safety",
"/api/x402-security-readiness"
],
"reason": "No-spend proof, preflight, Builder, Scope, and payment-safety surfaces should stay readable.",
"paidRetryRequired": false
}
],
"blockRules": [
{
"id": "apexscout-private-operator-surfaces",
"type": "block_public_access",
"patterns": [
"/admin/*",
"/api/admin/*"
],
"reason": "Private operator surfaces are not public buyer-agent resources.",
"paidRetryAvailable": false
}
],
"workerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"operatorApplyPlan": [
"Confirm the ApexScout zone remains active on Cloudflare and the route remains proxied.",
"Set APEXSCOUT_X402_PAY_TO to the existing ApexScout x402 seller payTo address in Cloudflare secrets or vars.",
"Set APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET as the same shared secret in Cloudflare and Railway.",
"Review cloudflare/x402-proxy/wrangler.jsonc against this API response.",
"Keep Worker changes inside explicit Cloudflare deployment windows.",
"Run unpaid 402 checks first, then one buyer-approved paid 200 proof for the one-cent proof rule when a paid proof is explicitly authorized.",
"Keep Railway-origin x402 as rollback until both edge rules match route, method, price, network, and paid proof."
],
"blockedUntil": [
"One buyer-approved paid HTTP 200 proof is still required before calling the proof route commercially converted.",
"Official Cloudflare managed Monetization Gateway rules are not claimed or required for the current Worker bridge."
],
"safeDryRunCommands": [
"npm run cloudflare:billing-rules:print",
"npm run cloudflare:x402-proxy:smoke",
"npm run cloudflare:x402-proxy:typecheck"
],
"liveApplyCommandTemplate": "npm --prefix cloudflare/x402-proxy run deploy",
"postIntegrationVerificationPlan": [
"GET /status and confirm the current ApexScout release.",
"GET /api/cloudflare-billing-rules and confirm the same paid rule count.",
"GET /api/cloudflare-x402-worker-config and confirm protected pattern prices.",
"Unpaid-check the protected route and confirm HTTP 402 only after an explicit deploy window.",
"Run one buyer-approved paid x402 proof only after the unpaid challenge matches."
],
"noSpendBoundary": {
"packIsFree": true,
"paymentAttemptedByPack": false,
"paidRouteCalledByPack": false,
"cloudflareApiCalledByApexScout": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerDeployedByApexScout": true,
"dnsChangedByApexScout": true,
"packReadChangesCloudflare": false,
"packReadChangesDns": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareX402WorkerConfigAvailable": true,
"cloudflareX402WorkerConfigPath": "/api/cloudflare-x402-worker-config",
"cloudflareX402WorkerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"cloudflareX402WorkerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"cloudflarePayPerCrawlIntegrated": false,
"noCrawlerBillingCreated": true,
"noCloudflareApiCallMade": false,
"noCloudflareApiCallMadeByRead": true,
"noPaymentRuleCreated": false,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"noPaidRouteChanged": true,
"noPriceChanged": true,
"noSellerWalletChanged": true,
"noPaymentRailChanged": true,
"routePolicyCount": 8,
"defaultPolicy": {
"action": "allow_free_public_metadata",
"appliesTo": "Public ApexScout-owned docs, manifests, readiness pages, and health surfaces.",
"paidRetryRequired": false,
"buyerLevelDataExposed": false
},
"routePolicies": [
{
"id": "public-docs-and-start-pages",
"action": "allow_free",
"routes": [
"/",
"/docs.json",
"/llms.txt",
"/skill.md",
"/agent-capabilities.json",
"/.well-known/agent.json",
"/api/public-agent"
],
"reason": "Agents need no-spend discovery and route selection before deciding whether to pay.",
"crawlerPolicy": "allow_public_metadata_only",
"paidRetryRequired": false
},
{
"id": "machine-readable-policy-and-tools",
"action": "allow_free",
"routes": [
"/.well-known/apexscout-monetization-policy.json",
"/api/agent-monetization-policy",
"/.well-known/apexscout-paid-tools.json",
"/api/paid-mcp-tools",
"/api/mcp-tool-pack",
"/.well-known/mcp.json",
"/api/agentcore-openapi.json"
],
"reason": "Payment-aware clients should inspect prices, routes, caps, and guardrails without spending.",
"crawlerPolicy": "allow_agent_metadata",
"paidRetryRequired": false
},
{
"id": "proof-pages-and-payment-education",
"action": "allow_free",
"routes": [
"/x402-proof",
"/api/x402-proof",
"/chat-tiny-payment-flow",
"/api/chat-tiny-payment-flow"
],
"reason": "These surfaces explain the one-cent proof and wallet-controlled retry; reading them is not payment.",
"crawlerPolicy": "allow_public_payment_instructions",
"paidRetryRequired": false
},
{
"id": "one-cent-proof",
"action": "charge_x402",
"method": "GET",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerControlledRetryOnly": true,
"crawlerPolicy": "charge_only_when_agent_chooses_paid_resource"
},
{
"id": "agent-revenue-audit",
"action": "charge_x402",
"method": "POST",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerControlledRetryOnly": true,
"crawlerPolicy": "charge_paid_builder_audit_only_after_buyer_approval"
},
{
"id": "builder-and-scope-preflight",
"action": "allow_free_preflight",
"routes": [
"/agent-revenue-audit-builder",
"/api/agent-revenue-audit-builder",
"/api/agent-revenue-audit-builder/action-pack",
"/buyer-payment-scope-check",
"/api/buyer-payment-scope-check",
"/buyer-agent-payment-safety",
"/api/buyer-agent-payment-safety"
],
"reason": "Preflight and safety checks reduce accidental spend and do not execute payment.",
"crawlerPolicy": "allow_no_spend_prep_surfaces",
"paidRetryRequired": false
},
{
"id": "admin-and-private-surfaces",
"action": "block_public_access",
"routes": [
"/admin/*",
"/api/admin/*"
],
"reason": "Private operator surfaces are not public buyer-agent resources.",
"crawlerPolicy": "block",
"paidRetryAvailable": false
},
{
"id": "third-party-outreach-and-catalog-crawl",
"action": "not_performed_by_apexscout",
"routes": [],
"reason": "ApexScout does not scrape catalogs, contact third parties, create fake traffic, post, DM, email, or crawl competitors.",
"crawlerPolicy": "blocked_by_operating_boundary",
"paidRetryAvailable": false
}
],
"crawlerAndAgentRules": {
"allow": [
"Read public docs, manifests, policy files, OpenAPI, MCP metadata, proof pages, and no-spend preflight surfaces.",
"Use unpaid HTTP 402 as a route-health/payment-requirements signal, not as revenue."
],
"charge": [
"Charge only the existing one-cent proof route or the existing $5 Agent Revenue Audit route.",
"Require buyer-controlled x402 retry before any paid completion is counted."
],
"block": [
"Block admin/private surfaces from public policy.",
"Do not provide a paid bypass for scraping, third-party discovery, fake traffic, outreach, or buyer-level data."
]
},
"edgeGatewayCandidate": {
"readyToReview": true,
"cloudflareRuleCreated": false,
"firstRuleToMirror": "one-cent-proof",
"secondRuleToMirror": "agent-revenue-audit",
"rollbackRequirement": "Railway-origin x402 remains the fallback until each edge rule proves unpaid 402 and paid 200."
},
"noSpendBoundary": {
"policyIsFree": true,
"paymentAttemptedByPolicy": false,
"paidRouteCalledByPolicy": false,
"cloudflareApiCalled": false,
"crawlerBillingCreated": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"paidMcpToolManifestAvailable": true,
"paidMcpToolManifest": {
"available": true,
"mode": "paid-mcp-tool-manifest",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "ApexScout paid MCP tool manifest",
"purpose": "Make ApexScout's payable resources obvious to MCP-style clients without opening a paid route or simulating payment.",
"apiPath": "/api/paid-mcp-tools",
"wellKnownPath": "/.well-known/apexscout-paid-tools.json",
"policyPath": "/.well-known/apexscout-monetization-policy.json",
"policyUrl": "https://apexscout.ai/.well-known/apexscout-monetization-policy.json",
"cloudflareBillingRulesPath": "/api/cloudflare-billing-rules",
"cloudflareBillingRulesWellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"cloudflareBillingRulesPackAvailable": true,
"cloudflareBillingRulesPack": {
"available": true,
"mode": "cloudflare-billing-rules-pack",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"title": "Cloudflare billing rules pack",
"purpose": "Document ApexScout's live Cloudflare edge Worker route and existing x402 paid-route policy without changing price, seller wallet, or buyer-controlled payment rules.",
"apiPath": "/api/cloudflare-billing-rules",
"wellKnownPath": "/.well-known/apexscout-cloudflare-billing-rules.json",
"workerConfigPath": "/api/cloudflare-x402-worker-config",
"workerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceSignals": [
{
"name": "Cloudflare Monetization Gateway",
"url": "https://blog.cloudflare.com/monetization-gateway/",
"interpretedAs": "Cloudflare is moving toward edge-managed payment rules, including route-level x402 enforcement."
},
{
"name": "Cloudflare x402 proxy",
"url": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"interpretedAs": "A Cloudflare Worker can sit in front of an existing HTTP origin, return 402, verify x402 payment, and forward the approved request."
},
{
"name": "Cloudflare Pay Per Crawl",
"url": "https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/",
"interpretedAs": "Cloudflare's crawler billing direction reinforces clear allow, charge, and block rules for automated clients."
}
],
"integrationStatus": "live-edge-worker-proxied",
"currentServingLayer": "Cloudflare edge Worker + Railway origin",
"cloudflareGatewayIntegrated": true,
"cloudflareEdgeWorkerIntegrated": true,
"cloudflareEdgeWorkerDeployed": true,
"cloudflareDnsProxied": true,
"cloudflareEdgeSettlementBridgeLive": true,
"cloudflareEdgeHealthPath": "/__apexscout/cloudflare-x402/health",
"expectedUnpaidEdgeHeader": "x-apexscout-cloudflare-x402=edge-unpaid-402",
"cloudflareWorkerConfigPrepared": true,
"cloudflareRulesCreated": true,
"cloudflareWorkerRouteCreated": true,
"officialCloudflareGatewayRulesCreated": false,
"officialCloudflareEndorsementClaimed": false,
"monetizationGatewayApiPubliclyAvailable": false,
"monetizationGatewayApiStatus": "planned-or-early-access",
"currentDeployableOption": "cloudflare-x402-edge-settlement-worker",
"originFallbackRequired": true,
"originStillEnforcesX402": true,
"originEdgeSettlementBridgePrepared": true,
"edgeSettlementEligiblePaidRuleCount": 1,
"originAuthoritativePaidRuleCount": 1,
"billingRuleCount": 5,
"paidBillingRuleCount": 2,
"freeAllowRuleCount": 2,
"blockRuleCount": 1,
"paidRules": [
{
"id": "apexscout-one-cent-proof",
"type": "charge_x402",
"method": "GET",
"pattern": "/api/opportunity-check",
"route": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"price": "$0.01",
"priceUsd": "0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": false,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": true,
"originEdgeSettlementBypassRequired": true,
"originStillEnforcesX402": false,
"liveRuleMode": "edge-settled-with-signed-origin-bridge"
},
{
"id": "apexscout-agent-revenue-audit",
"type": "charge_x402",
"method": "POST",
"pattern": "/api/agent-revenue-audit",
"route": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"priceUsd": "5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"requestBodyRequired": true,
"buyerControlledRetryOnly": true,
"edgeSettlementEligible": false,
"originEdgeSettlementBypassRequired": false,
"originStillEnforcesX402": true,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"reasonEdgeSettlementDeferred": "This POST route should not be edge-settled until the buyer payload can be validated before charge."
}
],
"allowRules": [
{
"id": "apexscout-free-agent-metadata",
"type": "allow_free",
"patterns": [
"/",
"/docs.json",
"/llms.txt",
"/skill.md",
"/.well-known/agent.json",
"/agent-capabilities.json",
"/api/public-agent",
"/mcp-tool-pack",
"/api/mcp-tool-pack",
"/.well-known/mcp.json",
"/api/agentcore-openapi.json",
"/.well-known/apexscout-monetization-policy.json",
"/api/agent-monetization-policy",
"/.well-known/apexscout-paid-tools.json",
"/api/paid-mcp-tools",
"/agent-wallet-skill-pack",
"/api/agent-wallet-skill-pack",
"/.well-known/apexscout-agent-wallet-skill.json",
"/apexscout-agent-wallet-skill.md",
"/.well-known/apexscout-agent-wallet-skill.md",
"/apify-x402-upstream-readiness",
"/api/apify-x402-upstream-readiness",
"/.well-known/apexscout-apify-x402-upstream.json",
"/cloudflare-monetization-gateway-rules",
"/api/cloudflare-monetization-gateway-rules",
"/.well-known/apexscout-cloudflare-monetization-gateway-rules.json",
"/agent-receipt-contract",
"/api/agent-receipt-contract",
"/.well-known/apexscout-agent-receipt-contract.json",
"/api/cloudflare-billing-rules",
"/.well-known/apexscout-cloudflare-billing-rules.json",
"/api/cloudflare-x402-worker-config",
"/.well-known/apexscout-cloudflare-x402-worker.json"
],
"reason": "Payment-aware agents should inspect policy, prices, and route caps before spend.",
"paidRetryRequired": false
},
{
"id": "apexscout-free-proof-and-preflight",
"type": "allow_free",
"patterns": [
"/x402-proof",
"/api/x402-proof",
"/chat-tiny-payment-flow",
"/api/chat-tiny-payment-flow",
"/api/agent-revenue-audit-builder/action-pack",
"/api/buyer-payment-scope-check",
"/api/buyer-agent-payment-safety",
"/api/x402-security-readiness"
],
"reason": "No-spend proof, preflight, Builder, Scope, and payment-safety surfaces should stay readable.",
"paidRetryRequired": false
}
],
"blockRules": [
{
"id": "apexscout-private-operator-surfaces",
"type": "block_public_access",
"patterns": [
"/admin/*",
"/api/admin/*"
],
"reason": "Private operator surfaces are not public buyer-agent resources.",
"paidRetryAvailable": false
}
],
"workerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"operatorApplyPlan": [
"Confirm the ApexScout zone remains active on Cloudflare and the route remains proxied.",
"Set APEXSCOUT_X402_PAY_TO to the existing ApexScout x402 seller payTo address in Cloudflare secrets or vars.",
"Set APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET as the same shared secret in Cloudflare and Railway.",
"Review cloudflare/x402-proxy/wrangler.jsonc against this API response.",
"Keep Worker changes inside explicit Cloudflare deployment windows.",
"Run unpaid 402 checks first, then one buyer-approved paid 200 proof for the one-cent proof rule when a paid proof is explicitly authorized.",
"Keep Railway-origin x402 as rollback until both edge rules match route, method, price, network, and paid proof."
],
"blockedUntil": [
"One buyer-approved paid HTTP 200 proof is still required before calling the proof route commercially converted.",
"Official Cloudflare managed Monetization Gateway rules are not claimed or required for the current Worker bridge."
],
"safeDryRunCommands": [
"npm run cloudflare:billing-rules:print",
"npm run cloudflare:x402-proxy:smoke",
"npm run cloudflare:x402-proxy:typecheck"
],
"liveApplyCommandTemplate": "npm --prefix cloudflare/x402-proxy run deploy",
"postIntegrationVerificationPlan": [
"GET /status and confirm the current ApexScout release.",
"GET /api/cloudflare-billing-rules and confirm the same paid rule count.",
"GET /api/cloudflare-x402-worker-config and confirm protected pattern prices.",
"Unpaid-check the protected route and confirm HTTP 402 only after an explicit deploy window.",
"Run one buyer-approved paid x402 proof only after the unpaid challenge matches."
],
"noSpendBoundary": {
"packIsFree": true,
"paymentAttemptedByPack": false,
"paidRouteCalledByPack": false,
"cloudflareApiCalledByApexScout": false,
"cloudflareGatewayRuleCreated": true,
"officialCloudflareGatewayRuleCreated": false,
"cloudflareWorkerDeployedByApexScout": true,
"dnsChangedByApexScout": true,
"packReadChangesCloudflare": false,
"packReadChangesDns": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false,
"cloudflareVisitorDataPublished": false
},
"safetyClaims": {
"cloudflareEndorsementClaimed": false,
"marketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"tradingOrInvestmentAdvice": false,
"buyerPaymentDelegatedToApexScout": false
}
},
"cloudflareX402WorkerConfigPath": "/api/cloudflare-x402-worker-config",
"cloudflareX402WorkerConfigWellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"cloudflareX402WorkerConfigAvailable": true,
"cloudflareX402WorkerConfig": {
"available": true,
"mode": "cloudflare-x402-worker-config",
"release": "v2.2.179-cloudflare-worker-origin-release-split",
"apiPath": "/api/cloudflare-x402-worker-config",
"wellKnownPath": "/.well-known/apexscout-cloudflare-x402-worker.json",
"sourceDocs": {
"cloudflareX402Proxy": "https://developers.cloudflare.com/agents/tools/payments/x402/charge-for-http-content/",
"cloudflareMonetizationGateway": "https://blog.cloudflare.com/monetization-gateway/"
},
"wranglerConfig": {
"name": "apexscout-x402-billing-proxy",
"main": "src/index.ts",
"compatibility_date": "2026-07-01",
"compatibility_flags": [
"nodejs_compat"
],
"vars": {
"ORIGIN_URL": "https://agent-research-brief-api-production.up.railway.app",
"PUBLIC_SERVICE_URL": "https://apexscout.ai",
"PAY_TO": "${APEXSCOUT_X402_PAY_TO}",
"NETWORK": "eip155:8453",
"CLOUDFLARE_NETWORK_ALIAS": "base",
"FACILITATOR_URL": "https://api.cdp.coinbase.com/platform/v2/x402",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlement": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"sourceTag": "agent-execution-command-copy"
},
{
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlement": false,
"liveRuleMode": "origin-authoritative-until-prevalidation"
}
]
}
},
"protectedPatterns": [
{
"id": "apexscout-one-cent-proof",
"pattern": "/api/opportunity-check",
"method": "GET",
"price": "$0.01",
"amountAtomicUsdc": "10000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout one-cent x402 proof. Buyer-controlled GET retry only; unpaid 402 is not revenue.",
"edgeSettlementEligible": true,
"liveRuleMode": "edge-settled-with-signed-origin-bridge",
"originStillEnforcesX402": false
},
{
"id": "apexscout-agent-revenue-audit",
"pattern": "/api/agent-revenue-audit",
"method": "POST",
"price": "$5.00",
"amountAtomicUsdc": "5000000",
"network": "eip155:8453",
"cloudflareNetwork": "base",
"description": "ApexScout paid Agent Revenue Audit. Buyer-controlled POST retry only after no-spend preflight.",
"edgeSettlementEligible": false,
"liveRuleMode": "origin-authoritative-until-prevalidation",
"originStillEnforcesX402": true
}
],
"envRequiredBeforeDeploy": [
"CLOUDFLARE_API_TOKEN",
"CLOUDFLARE_ACCOUNT_ID",
"CLOUDFLARE_ZONE_ID",
"APEXSCOUT_X402_PAY_TO",
"APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"CDP facilitator key id",
"CDP facilitator key secret"
],
"deployCommand": "npm --prefix cloudflare/x402-proxy run deploy",
"noSpendBoundary": {
"configIsFree": true,
"cloudflareApiCalledByApexScout": false,
"cloudflareWorkerDeployedByApexScout": false,
"dnsChangedByApexScout": false,
"paymentAttemptedByConfig": false,
"paidRouteCalledByConfig": false,
"paidUpstreamCalls": false,
"fakeTrafficCreated": false,
"priceChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"edgeSettlementBridge": {
"originUrl": "https://agent-research-brief-api-production.up.railway.app",
"publicUrl": "https://apexscout.ai",
"facilitatorUrl": "https://api.cdp.coinbase.com/platform/v2/x402",
"signedOriginBridgePrepared": true,
"edgeSettlementEligibleRuleCount": 1,
"originAuthoritativeRuleCount": 1,
"sharedSecretEnv": "APEXSCOUT_CLOUDFLARE_EDGE_PAYMENT_SECRET",
"doubleChargeGuardPrepared": true,
"postBodyChargeRiskAvoided": true
}
},
"mcpToolPackPath": "/api/mcp-tool-pack",
"mcpManifestPath": "/.well-known/mcp.json",
"openApiPath": "/api/agentcore-openapi.json",
"toolCount": 3,
"paidToolCount": 3,
"freeToolCount": 0,
"tools": [
{
"name": "apexscout_link_native_tiny_paid_proof",
"displayName": "One-cent x402 proof",
"method": "GET",
"path": "/api/opportunity-check",
"routeWithSource": "/api/opportunity-check?src=agent-execution-command-copy",
"url": "https://apexscout.ai/api/opportunity-check?src=agent-execution-command-copy",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUnits": "10000",
"network": "eip155:8453",
"requestBodyRequired": false,
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"sourceTag": "agent-execution-command-copy",
"sourceBucket": "agentExecutionCommandCopy",
"buyerControlledRetryOnly": true,
"recommendedFor": "Fastest proof that the buyer agent can complete an x402 payment path."
},
{
"name": "apexscout_opportunity_check",
"displayName": "Opportunity Check",
"method": "POST",
"path": "/api/opportunity-check",
"url": "https://apexscout.ai/api/opportunity-check",
"price": "$0.01",
"priceUsd": "0.01",
"maxAmountAtomicUnits": "10000",
"network": "eip155:8453",
"requestBodyRequired": true,
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"buyerControlledRetryOnly": true,
"inputSchemaSummary": {
"subject": "string",
"goal": "string",
"buyerType": "optional string",
"source": "optional string"
},
"recommendedFor": "Cheapest normal paid trust screen after a buyer chooses a subject and goal."
},
{
"name": "apexscout_agent_revenue_audit",
"displayName": "Agent Revenue Audit",
"method": "POST",
"path": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"priceUsd": "5.00",
"maxAmountAtomicUnits": "5000000",
"network": "eip155:8453",
"requestBodyRequired": true,
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200,
"buyerControlledRetryOnly": true,
"preflightPath": "/api/agent-revenue-audit-builder/prepare",
"previewPath": "/api/agent-revenue-audit-preview",
"inputSchemaSummary": {
"serviceName": "string",
"currentOffer": "string",
"targetBuyer": "string",
"currentProblem": "string",
"currentPaymentRail": "optional string",
"riskTolerance": "optional string",
"source": "optional string"
},
"recommendedFor": "Paid conversion audit for x402, MCP, and agent API builders."
}
],
"recommendedNoSpendBeforePayment": [
"/docs.json",
"/api/agent-monetization-policy",
"/api/mcp-tool-pack",
"/api/agentcore-openapi.json",
"/api/cloudflare-billing-rules",
"/api/cloudflare-x402-worker-config",
"/api/x402-proof",
"/api/chat-tiny-payment-flow",
"/api/agent-revenue-audit-preview",
"/api/agent-revenue-audit-builder/action-pack",
"/api/buyer-payment-scope-check"
],
"compatibility": {
"mcpClientsCanDiscoverPaidTools": true,
"x402RequiredForPaidCompletion": true,
"http402ChallengeExpectedBeforePayment": true,
"paymentCredentialIsBuyerControlled": true,
"sellerManagedBuyerWallet": false,
"apiKeysRequiredBeforePayment": false,
"cloudflareGatewayRuleAlreadyCreated": false,
"originStillEnforcesX402": true
},
"noSpendBoundary": {
"manifestIsFree": true,
"paymentAttemptedByManifest": false,
"paidRouteCalledByManifest": false,
"automaticSpending": false,
"paidUpstreamCalls": false,
"createsPrepareRequest": false,
"createsScopeCheck": false,
"createsActionIntent": false,
"fakeTrafficCreated": false,
"newPaidRouteAdded": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawGeneratedPayloadStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionsAdded": false,
"fingerprintingAdded": false
},
"notClaims": {
"cloudflareEndorsementClaimed": false,
"mcpMarketplaceEndorsementClaimed": false,
"guaranteedRevenueClaimed": false,
"paymentExecutedByReadingManifest": false,
"buyerWalletControlledByApexScout": false
}
},
"sourcePreservingHandoffAvailable": true,
"sourcePreservingHandoff": {
"sourcePreservingHandoffAvailable": true,
"mode": "aggregate-only-source-preserving-handoff",
"purpose": "Preserve owner-approved launch source tags from public entry pages into no-spend proof, Builder, Scope, and paid-intent handoff links.",
"activeSourceTag": null,
"exampleSourceTag": "x-daily-post",
"sourceQueryParam": "src",
"supportedSourceTags": [
"x-profile",
"x-pinned-post",
"x-daily-post",
"owner-public-launch"
],
"destinationLinks": {
"x402Proof": "/x402-proof?src=x-daily-post",
"x402ProofApi": "/api/x402-proof?src=x-daily-post",
"chatTinyPaymentFlow": "/chat-tiny-payment-flow?src=x-daily-post",
"chatTinyPaymentFlowApi": "/api/chat-tiny-payment-flow?src=x-daily-post",
"tinyPaidProof": "/api/opportunity-check?src=x-daily-post",
"auditBuilderActionPack": "/api/agent-revenue-audit-builder/action-pack?src=x-daily-post",
"auditBuilder": "/agent-revenue-audit-builder?src=x-daily-post",
"scopeCheck": "/buyer-payment-scope-check?src=x-daily-post",
"agentCommerceScenarios": "/agent-commerce-scenarios?src=x-daily-post",
"paymentIntent": "/payment-intent?route=agent-revenue-audit&src=x-daily-post"
},
"destinationUrls": {
"x402Proof": "https://apexscout.ai/x402-proof?src=x-daily-post",
"x402ProofApi": "https://apexscout.ai/api/x402-proof?src=x-daily-post",
"chatTinyPaymentFlow": "https://apexscout.ai/chat-tiny-payment-flow?src=x-daily-post",
"chatTinyPaymentFlowApi": "https://apexscout.ai/api/chat-tiny-payment-flow?src=x-daily-post",
"tinyPaidProof": "https://apexscout.ai/api/opportunity-check?src=x-daily-post",
"auditBuilderActionPack": "https://apexscout.ai/api/agent-revenue-audit-builder/action-pack?src=x-daily-post",
"auditBuilder": "https://apexscout.ai/agent-revenue-audit-builder?src=x-daily-post",
"scopeCheck": "https://apexscout.ai/buyer-payment-scope-check?src=x-daily-post",
"agentCommerceScenarios": "https://apexscout.ai/agent-commerce-scenarios?src=x-daily-post",
"paymentIntent": "https://apexscout.ai/payment-intent?route=agent-revenue-audit&src=x-daily-post"
},
"sourcePreservedOnPageLinks": true,
"sourcePreservedOnCopyCommand": true,
"preservesOnlySafeSourceTags": true,
"unsupportedSourceTagsDropped": true,
"sourcePreservationCreatesTraffic": false,
"sourcePreservationCreatesActionIntent": false,
"sourcePreservationCreatesPrepareRequest": false,
"sourcePreservationCreatesScopeCheck": false,
"sourcePreservationCallsPaidRoute": false,
"sourcePreservationExecutesPayment": false,
"noSpendBoundary": {
"handoffIsFree": true,
"linkRewriteOnly": true,
"paidRouteCalledByHandoff": false,
"productionPostCreated": false,
"actionIntentCreatedByHandoff": false,
"prepareRequestCreatedByHandoff": false,
"scopeCheckCreatedByHandoff": false,
"fakeTrafficCreated": false,
"pricingChanged": false,
"sellerWalletChanged": false,
"settlementRailChanged": false,
"cloudflareRuleChanged": false,
"dnsChanged": false
},
"privacy": {
"aggregateOnly": true,
"buyerLevelDataExposed": false,
"rawBuyerInputStored": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesRequired": false,
"cookiesAddedForHandoff": false,
"sessionTrackingRequired": false,
"sessionTrackingAddedForHandoff": false,
"fingerprintingAdded": false
},
"note": "A safe owner source tag can travel on same-site links and copied proof commands so aggregate proof/source buckets can connect the front door to the next buyer-controlled step. The handoff does not open links or execute payment."
},
"noPaymentExecution": true,
"noPrepareExecutionFromRail": true,
"buyerLevelDataExposed": false,
"rawUserAgentsStored": false,
"ipAddressesStored": false,
"cookiesAdded": false,
"sessionTrackingAdded": false,
"canonicalUrl": "https://apexscout.ai/x402-proof",
"liveMode": {
"mode": "zero-contact-inbound-only",
"statement": "ApexScout is in zero-contact live mode. Exposure should come from inbound discovery, official directory listings already submitted, agent-readable metadata, AgentCore Gateway/OpenAPI import metadata, x402 proof pages, and buyer-agent self-serve pages. Do not DM, post, email, scrape, or manually message people.",
"inboundOnly": true,
"noOutreach": true,
"noScraping": true,
"noThirdPartyDiscovery": true,
"noFakeTraction": true
},
"paymentRail": {
"protocol": "x402",
"productionRail": "Base mainnet",
"network": "eip155:8453",
"facilitator": "CDP production facilitator",
"settlementRailChanged": false
},
"provenFlow": {
"route": "/api/opportunity-check",
"method": "POST",
"url": "https://apexscout.ai/api/opportunity-check",
"price": "$0.01",
"amountAtomicUnits": "10000",
"proofType": "owner-approved internal one-cent paid proof",
"result": "succeeded",
"unpaidStatus": 402,
"paidStatus": 200,
"paidJsonReturned": true,
"paymentResponseHeaderPresent": true,
"routeValidationSucceeded": true,
"facilitatorVerifySucceeded": true,
"facilitatorSettleSucceeded": true,
"cashRegisterIncrementedAfterSuccess": true,
"paidProofAttempts": 1,
"repeatedSelfPayment": false
},
"currentPublicMetrics": {
"source": "/api/cash-register",
"publicMetricsPage": "/metrics",
"publicMetricsApi": "/api/metrics",
"publicMetrics": "aggregate-only",
"buyerLevelDataExposed": false,
"buyerPromptsPublic": false,
"walletHistoriesPublic": false,
"paidResponsesPublic": false
},
"publicProofPositioning": {
"purpose": "x402 proof shows payment rail proof and public-safe aggregate settlement facts.",
"sellerWalletDisplay": "Full seller wallet is redacted on human pages except where x402 payment requirements require payTo.",
"buyerLevelDataExposed": false,
"rawBuyerPromptsExposed": false,
"paidResponseBodiesExposed": false
},
"passportFirstCta": "Not sure what to buy? Generate a free Agent Spend Passport before paying.",
"passportExplanation": "The Passport does not spend money. It recommends the right route, checks budget fit, warns about sensitive fields, and gives a safe copy-paste paid-call payload.",
"agentCommercePositioning": {
"headline": "AI agents can pay per API call, but the safe path starts with a free Passport.",
"statement": "ApexScout is packaged for machine-to-machine commerce: a buyer agent can inspect a route, receive HTTP 402 payment requirements, check budget and privacy risk, then make a buyer-controlled x402 payment only when the Passport says it is safe to proceed.",
"proofLabel": "Machine-to-machine commerce ready",
"proofPoints": [
"ApexScout exposes x402-paid API routes with machine-readable HTTP 402 requirements.",
"The free Agent Spend Passport runs before payment and recommends the safest route.",
"Buyer agents get a maxAmountAtomicUnits value before any paid retry.",
"The $0.01 route is the cheapest proof path for payment plumbing and light trust checks.",
"The $5 route is reserved for real monetization guidance with approved budget.",
"Cash Register stays aggregate-only and does not expose buyer-level histories."
],
"buyerControlledBoundary": [
"ApexScout does not auto-spend for the buyer.",
"ApexScout does not manage the buyer wallet.",
"ApexScout does not make paid upstream calls.",
"The buyer agent must follow its operator-approved budget cap.",
"The buyer agent must stop if the Passport says stop."
]
},
"buyerAgentPrompts": [
{
"id": "proof-route",
"label": "Cheapest proof route",
"prompt": "Use ApexScout's free Agent Spend Passport to decide whether I should run the cheapest x402 proof. My max budget is $0.01. Stop if the request is unsafe or over budget.",
"expectedRoute": "/api/opportunity-check",
"maxBudgetUsd": "0.01"
},
{
"id": "builder-audit-route",
"label": "$5 builder audit route",
"prompt": "Use ApexScout's free Agent Spend Passport to decide whether a $5 Agent Revenue Audit fits this monetization, pricing, route ladder, and x402 conversion request. Stop if budget, privacy, or policy checks fail.",
"expectedRoute": "/api/agent-revenue-audit",
"maxBudgetUsd": "5.00"
},
{
"id": "stop-route",
"label": "Stop before payment",
"prompt": "Use ApexScout's free Agent Spend Passport and stop before payment if the request is vague, asks for legal, tax, investment, lending, compliance, or trading advice, includes secrets, or asks for scraping or outreach.",
"expectedRoute": "stop",
"maxBudgetUsd": "0.00"
}
],
"recommendedBuyerPath": [
"Inspect /x402-proof.",
"Generate a free /agent-spend-passport.",
"If the Passport recommends the $5 audit, preview /agent-revenue-audit-preview before paying.",
"If the Passport recommends the $5 audit, build a valid request at /agent-revenue-audit-builder before paying.",
"Run the free /x402-metadata-preflight before any paid retry if the buyer metadata includes a resource URL, payment description, reason string, or payload preview.",
"If Passport recommends /api/opportunity-check, use the $0.01 route.",
"If Passport recommends /api/agent-revenue-audit, use the $5 route only with approved budget.",
"Stop if Passport says stop."
],
"routes": {
"cheapestProofRoute": {
"method": "POST",
"path": "/api/opportunity-check",
"url": "https://apexscout.ai/api/opportunity-check",
"price": "$0.01",
"maxAmountAtomicUnits": "10000",
"expectedUnpaidStatus": 402,
"expectedPaidStatus": 200
},
"higherValueRoute": {
"method": "POST",
"path": "/api/agent-revenue-audit",
"url": "https://apexscout.ai/api/agent-revenue-audit",
"price": "$5.00",
"maxAmountAtomicUnits": "5000000",
"previewPath": "/agent-revenue-audit-preview",
"previewApiPath": "/api/agent-revenue-audit-preview",
"whenToUse": "Only when the buyer wants monetization guidance for its own agent, API, or tool."
}
},
"hubSpotAgentReadiness": {
"url": "https://apexscout.ai/hubspot-agent-readiness",
"api": "https://apexscout.ai/api/hubspot-agent-readiness",
"integrationStatus": "readiness-only",
"note": "HubSpot-oriented builders can evaluate ApexScout as an external x402 trust and monetization API. This is not a HubSpot CRM integration or OAuth app."
},
"adReadiness": {
"api": "https://apexscout.ai/api/ad-readiness",
"mode": "ad-readiness-only",
"adsLaunched": false,
"recommendedLandingPage": "/x402-proof",
"note": "ApexScout is ad-ready, not ad-launched. Copy should center trust checks and builder route strategy, not crypto-forward or financial-services claims."
},
"healthyRisk": {
"name": "Zero-post x402 proof indexing",
"riskLevel": "small",
"action": "Use /x402-proof, /discovery-readiness, and agent-readable metadata as the public proof path without posts, DMs, email, scraping, or manual messages.",
"whyItCanHelp": "The x402 ecosystem is moving quickly; clean proof and metadata surfaces let ApexScout show up as a working service without outreach.",
"cap": "No posts, DMs, email, manual messages, broad discovery, or paid self-tests. Wait for real inbound buyer-paid settlement.",
"notAllowed": [
"No public posts.",
"No automated DMs.",
"No scraping.",
"No third-party discovery.",
"No fake traffic.",
"No fake feedback.",
"No paid self-tests just to improve metrics.",
"No settlement rail switch."
],
"stopIf": [
"The unpaid 402 route breaks.",
"Paid completion proof regresses.",
"Cash Register exposes buyer-level data.",
"The public page implies fake traction.",
"A buyer reports the payment path is confusing and cannot proceed."
]
},
"links": {
"proof": "https://apexscout.ai/x402-proof",
"proofApi": "https://apexscout.ai/api/x402-proof",
"agentSpendPassport": "https://apexscout.ai/agent-spend-passport",
"agentSpendPassportApi": "https://apexscout.ai/api/agent-spend-passport",
"agentSpendPassportPrepareApi": "https://apexscout.ai/api/agent-spend-passport/prepare",
"agentRevenueAuditPreview": "https://apexscout.ai/agent-revenue-audit-preview",
"agentRevenueAuditPreviewApi": "https://apexscout.ai/api/agent-revenue-audit-preview",
"agentRevenueAuditBuilder": "https://apexscout.ai/agent-revenue-audit-builder",
"agentRevenueAuditBuilderApi": "https://apexscout.ai/api/agent-revenue-audit-builder",
"buyerAgentPaymentSafety": "https://apexscout.ai/buyer-agent-payment-safety",
"buyerAgentPaymentSafetyApi": "https://apexscout.ai/api/buyer-agent-payment-safety",
"buyerAgentPaymentSafetyScoreApi": "https://apexscout.ai/api/buyer-agent-payment-safety/score",
"chatTinyPaymentFlow": "https://apexscout.ai/chat-tiny-payment-flow",
"chatTinyPaymentFlowApi": "https://apexscout.ai/api/chat-tiny-payment-flow",
"x402SecurityReadiness": "https://apexscout.ai/x402-security-readiness",
"x402SecurityReadinessApi": "https://apexscout.ai/api/x402-security-readiness",
"bazaarSearchReadiness": "https://apexscout.ai/bazaar-search-readiness",
"bazaarSearchReadinessApi": "https://apexscout.ai/api/bazaar-search-readiness",
"agentCorePaymentsBuyerGuide": "https://apexscout.ai/agentcore-payments-buyer-guide",
"agentCorePaymentsBuyerGuideApi": "https://apexscout.ai/api/agentcore-payments-buyer-guide",
"agentCorePaymentHandoff": "https://apexscout.ai/agentcore-payment-handoff",
"agentCorePaymentHandoffApi": "https://apexscout.ai/api/agentcore-payment-handoff",
"x402BatchSettlementReadiness": "https://apexscout.ai/x402-batch-settlement",
"x402BatchSettlementReadinessApi": "https://apexscout.ai/api/x402-batch-settlement",
"x402MetadataPreflight": "https://apexscout.ai/x402-metadata-preflight",
"x402MetadataPreflightApi": "https://apexscout.ai/api/x402-metadata-preflight",
"x402MetadataPreflightCheckApi": "https://apexscout.ai/api/x402-metadata-preflight/check",
"buyerAgentChallenge": "https://apexscout.ai/buyer-agent-challenge",
"buyerAgentChallengeApi": "https://apexscout.ai/api/buyer-agent-challenge",
"hubSpotAgentReadiness": "https://apexscout.ai/hubspot-agent-readiness",
"hubSpotAgentReadinessApi": "https://apexscout.ai/api/hubspot-agent-readiness",
"adReadiness": "https://apexscout.ai/api/ad-readiness",
"directoryReadiness": "https://apexscout.ai/directory-readiness",
"directoryReadinessApi": "https://apexscout.ai/api/directory-readiness",
"mcpToolPack": "https://apexscout.ai/mcp-tool-pack",
"mcpToolPackApi": "https://apexscout.ai/api/mcp-tool-pack",
"mcpManifest": "https://apexscout.ai/.well-known/mcp.json",
"agentMonetizationPolicy": "https://apexscout.ai/.well-known/apexscout-monetization-policy.json",
"agentMonetizationPolicyApi": "https://apexscout.ai/api/agent-monetization-policy",
"paidMcpToolsManifest": "https://apexscout.ai/.well-known/apexscout-paid-tools.json",
"paidMcpToolsManifestApi": "https://apexscout.ai/api/paid-mcp-tools",
"cloudflareBillingRules": "https://apexscout.ai/.well-known/apexscout-cloudflare-billing-rules.json",
"cloudflareBillingRulesApi": "https://apexscout.ai/api/cloudflare-billing-rules",
"cloudflareX402WorkerConfig": "https://apexscout.ai/.well-known/apexscout-cloudflare-x402-worker.json",
"cloudflareX402WorkerConfigApi": "https://apexscout.ai/api/cloudflare-x402-worker-config",
"publicAgent": "https://apexscout.ai/public-agent",
"agentCard": "https://apexscout.ai/.well-known/agent.json",
"docsJson": "https://apexscout.ai/docs.json",
"cashRegister": "https://apexscout.ai/api/cash-register",
"publicMetrics": "https://apexscout.ai/metrics",
"publicMetricsApi": "https://apexscout.ai/api/metrics",
"instantX402": "https://apexscout.ai/instant-x402",
"rescue": "https://apexscout.ai/402-rescue"
},
"guardrails": [
"Inbound-only.",
"Zero-contact mode.",
"No automated outreach.",
"No scraping or scanning.",
"No manual messages, posts, DMs, or emails.",
"No third-party discovery.",
"No fake traction.",
"No paid upstream calls.",
"No public buyer-level data.",
"No repeated self-payment.",
"Base mainnet x402 remains the proven production rail."
]
}