AcqPath Rights Gateway

RSL DECLARATIONS · SIGNED EVIDENCE · HTTP X402

Batch rights checks and policy revalidation

Check up to four reviewed URLs before AI ingestion; detect observed policy changes on repeat use. Exact Base USDC pricing and verified TS/Python delivery.

Rights Gateway: select the paid operation

Preflight remains 0.02 USDC fresh / 0.05 deep for one resource. Ingestion Gate checks 1–4 unique reviewed URLs before RAG, AI input, training or indexing: fresh 0.04 + 0.02 per unique URL (0.06–0.12); deep 0.06 + 0.04 (0.10–0.22). Revalidation compares one resource with its authentic prior gateway checkpoint: 0.03 fresh / 0.06 deep. All prices are USDC on Base.

Gateway fees buy a bounded observation attempt, including UNKNOWN or unavailable sources. This differs from Preflight’s no-declaration/no-paid-offer behavior. Maximum four input entries, concurrency two, 24,576 request bytes; no domain-wide crawl. Missing evidence never grants permission.

SUPPORTED: tested official TypeScript/Node x402 2.25.0 and Python x402 2.22.0 with the AcqPath SIWX adapter. The official EIP-3009 signer and random nonce remain unchanged. Generic zero-config x402, stock SIWX-only hooks, Payments MCP, generic paid proxies and Agent402 router payment are NOT CLAIMED compatible. Independent external MAINNET PAID E2E remains UNVERIFIED; awaiting a real customer.

Machine contract and intended use

POST /v1/rights/ingestion-gate takes resources, purpose, tier, freshness_seconds and max_total_micro. A single URL uses a one-element resources array. ai-input covers model input or summarization; ai-index covers indexing for RAG; ai-train covers training; search covers search. Choose the actual use. Crawl is not a paid RSL purpose or a robots access grant. Canonical URL duplicates count once; at most four entries are accepted.

POST /v1/rights/revalidate takes the same scope with one resource and previous: the signed checkpoint from a delivered gateway resource item. It always reobserves conditionally (freshness_seconds: 0). Resource, purpose, user class, geography and tier must match. A new revalidation is a separately authorized purchase, never a retry of an earlier purchase.

{
  "resources": [
    "https://rslstandard.org/"
  ],
  "purpose": "ai-input",
  "tier": "fresh",
  "freshness_seconds": 300,
  "max_total_micro": "60000"
}

Signed evidence and conservative interpretation

The verified report includes operation ID, SKU, deterministic evaluator profile, observation/evaluation timestamps, cache age, provenance, source hashes, normalized RSL 1.0 signals, conflicts, policy fingerprints, observed license references and signed checkpoints. Legal clearance is always false. IETF AIPREF drafts are not evaluated.

PERMITTED_BY_OBSERVED_DECLARATION is an observation, not legal permission. LICENSE_REQUIRED does not acquire a license. CONFLICT and UNKNOWN remain explicit. Revalidation returns UNCHANGED, CHANGED, DECLARATION_ADDED, DECLARATION_REMOVED, LICENSE_PATH_CHANGED, CONFLICT_CHANGED, SOURCE_UNAVAILABLE or UNKNOWN. Incomplete current or prior evidence never proves removal. A raw policy declaration change can change the fingerprint even when the normalized verdict is unchanged.

Work, freshness and recovery bounds

Four reviewed HTTPS origins: medium.com, theguardian.com, rslstandard.org and rslcollective.org. Fresh allows at most four upstream requests per resource; deep at most eight. Concurrent resource work is capped at two. Per-resource source deadline defaults to 12 seconds; four slow resources can take two waves. Resource work starts only after verified SIWX/payment authorization and durable reservations. No HTTP 403 bypass, private-IP access or unlimited crawl.

Cache reuse exposes the original observation timestamp and age. Revalidation uses conditional requests and 304 when supported. Each item is bounded at 12,000 bytes and the gateway report at 52,000 bytes. A failed or oversized source produces UNKNOWN. A durable interrupted execution fails closed without automatic recomputation or settlement.

Use the supplied TS/Python adapter and its private ACL-protected state directory. Files are not application-level encrypted. Keep original operation ID, normalized input and directory on retry. Never log signed artifacts, checkpoint state or private request context. The adapter verifies report, receipt and delivery binding; HTTP 200 alone is insufficient. Preserve pending state across rollback; an older server version may not understand new gateway journal records.