{
  "schemaVersion": 2,
  "name": "AgentResolver Provider Network",
  "procurement": {
    "method": "POST",
    "url": "https://agentresolver.vercel.app/api/procure",
    "priceUsd": 0,
    "buyerAccountRequired": false
  },
  "attribution": {
    "header": "x-agentresolver-attribution-id",
    "format": "atr_<uuid-v4>",
    "generatedBy": "AgentResolver procurement handoff",
    "rawGoalsStored": false,
    "rawIpStored": false,
    "receiptHeader": "x-agentresolver-attribution-receipt",
    "signedReceipt": {
      "format": "ar1.<base64url-payload>.<hmac-sha256-signature>",
      "defaultTtlSeconds": 900,
      "maximumTtlSeconds": 3600,
      "dedicatedSecret": "AGENTRESOLVER_ATTRIBUTION_SIGNING_SECRET",
      "walletOrPaymentSecretReuseAllowed": false,
      "enforcedForFeeEligibilityWhenConfigured": true,
      "settlementWindowSemantics": "buyer settlement must occur within receipt issuedAt/expiresAt; proof may be submitted later",
      "settlementTimestampSource": "independently verified Base block timestamp",
      "missingOrOutOfWindowSettlementTimestamp": "fee eligibility fails closed",
      "legacyBehaviorWhenNotConfigured": "provider-asserted attribution remains explicitly unverified"
    }
  },
  "providerEnrollment": {
    "mode": "domain-controlled-well-known",
    "manifestPath": "/.well-known/agentresolver-provider.json",
    "reviewRequired": false,
    "persistenceRequired": false,
    "sameOriginRoutesOnly": true,
    "supportedSettlementNetwork": "eip155:8453",
    "supportedAsset": "Base USDC",
    "example": "https://agentresolver.vercel.app/provider-manifest.example.json",
    "docs": "https://agentresolver.vercel.app/provider-onboarding.md",
    "optionalPaidLaunchCheck": {
      "url": "https://agentresolver.vercel.app/api/provider-launch-check",
      "priceUsd": 0.05,
      "admissionRequired": false
    },
    "liveVerification": {
      "requiredBeforeAttributedProcurement": true,
      "protocol": "x402-v2",
      "challengeStatus": 402,
      "challengeHeader": "PAYMENT-REQUIRED",
      "exactMatchRequired": [
        "scheme",
        "network",
        "asset",
        "payTo",
        "amountAtomic",
        "resource"
      ],
      "unsignedProbeOnly": true,
      "declaredPostRouteProbe": "empty-json-unpaid-post",
      "failureMode": "fail-closed"
    },
    "schema": "https://agentresolver.vercel.app/provider-manifest.schema.json",
    "bootstrap": {
      "url": "https://agentresolver.vercel.app/api/provider-bootstrap",
      "method": "POST",
      "persistence": "none",
      "maxRoutesPerCheck": 5,
      "immediateProcurement": {
        "requestField": "providerOrigins",
        "maxOrigins": 2,
        "availableBeforeExternalRegistryReview": true
      },
      "durableDiscovery": {
        "registry": "402 Index",
        "registrationSentByAgentResolver": false,
        "callerExecutesRegistration": true,
        "accountOrEmailRequiredByAgentResolver": false,
        "externalRegistryReviewMayApply": true
      }
    }
  },
  "commercial": {
    "model": "provider-success-fee",
    "successFeeBps": 200,
    "minimumSuccessFeeUsd": 0.001,
    "buyerExtraFeeUsd": 0,
    "conversionVerification": "https://agentresolver.vercel.app/api/provider-attribution-verify",
    "feeQuote": "https://agentresolver.vercel.app/api/provider-success-fee-quote",
    "feeVerification": "https://agentresolver.vercel.app/api/provider-success-fee-verify",
    "feePayment": {
      "network": "eip155:8453",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "payTo": "0x66E19457fFC829E8Ed74706f5c1399C6F6466dE8",
      "exactAmountFromQuote": true,
      "attributionBoundAtomicSuffix": true
    }
  },
  "proofModel": {
    "providerControl": "same-origin well-known manifest plus live matching x402 challenge",
    "buyerSettlement": "independent Base USDC settlement verification plus Base block timestamp when signed attribution is active",
    "providerFee": "independent Base USDC transfer verification",
    "attributionReplayResistance": "exact fee amount includes a deterministic attribution-bound atomic suffix",
    "limitation": "A signed receipt proves AgentResolver issued the exact route/payment handoff and binds the attribution ID to it. Its validity window constrains when the buyer settlement may occur, not when proof must be submitted. It does not establish the eventual buyer's legal identity. Until the dedicated signing secret is configured in a runtime, attribution remains explicitly legacy/provider-asserted.",
    "providerAttribution": "AgentResolver-issued signed handoff receipt when the dedicated attribution signing secret is configured"
  },
  "safety": {
    "arbitraryProxying": false,
    "callerSpendingAuthorized": false,
    "walletKeysAccepted": false,
    "paymentSignaturesForwarded": false,
    "buyerFundsCustodied": false
  }
}
