Status: Draft
Type: Standards Track
Category: Core
Created: 2026-03-08
Requires: CIP-3 (Dual-Metered Gas), CIP-14 (DNS-Addressable Actors), CIP-20 (Fungible Token Standard)
1. Abstract
This proposal introduces payment gating for DNS-addressable actors (CIP-14). It defines four payment models — per-request (client-paid), actor-funded budgets, prepaid passes, and epoch subscriptions — that allow actors to charge for HTTP-accessible endpoints. The wire format is x402-compatible at the HTTP layer, enabling interoperability with the emerging machine-to-machine payment standard.
A new PaymentGate system actor (0x0013) manages payment policies, budget accounting, pass issuance, and epoch subscriptions on-chain. Gateways enforce payment requirements at the edge and settle payments through the PaymentGate.
Supported settlement assets include native CBY and CIP-20 fungible tokens (including bridged stablecoins).
2. Motivation
CIP-14 introduced DNS-addressable actors with Gateway-mediated HTTP ingress. In that model:
- Query-path requests are free. The Gateway absorbs the compute cost of running the actor’s handler against committed state.
- Command-path gas is paid by the Gateway from its staked balance and recovered through the serving fee pool.
This works for bootstrapping but creates problems at scale:
- Free-rider problem. Any internet client can hit any actor’s endpoints at no cost. Gateways bear the compute burden with no direct per-request compensation, creating a tragedy of the commons.
- No actor monetization. Actors cannot charge for their services. This blocks micro-SaaS, paid APIs, data feeds, and other business models that require per-request revenue.
- Agent economy bottleneck. Autonomous agent-to-agent interaction requires per-request settlement. Without it, agents cannot transact for each other’s services.
- x402 momentum. The x402 protocol is emerging as the HTTP payment standard for machine-to-machine commerce. Cowboy should be compatible from day one so that off-chain clients and agents can pay for actor services using familiar HTTP semantics.
3. Design Goals
- x402 wire compatibility. Use standard
402 Payment Required responses with PAYMENT-REQUIRED / PAYMENT-SIGNATURE headers so that x402-aware clients work out of the box.
- Multiple funding models. Different use cases need different payment patterns: pay-per-call for APIs, actor-subsidized budgets for onboarding, prepaid passes for bulk buyers, epoch subscriptions for regular consumers.
- Multi-asset support. Accept native CBY and CIP-20 fungible tokens, including bridged stablecoins.
- Gateway-enforced, on-chain settled. Gateways check payment at the edge for low latency. Settlement happens on-chain for finality.
- Composable. Works with CIP-7 streams (epoch billing model), CIP-14 ingress (Gateway dispatch), CIP-20 tokens (multi-asset), and CIP-3 gas metering (command-path cost recovery).
4. Non-goals
- Fiat payment rails. ACH, SEPA, and other fiat integrations are deferred to a future CIP.
- Cross-chain bridge design. This CIP assumes bridge infrastructure exists for settling EVM-side payments. Bridge specification is out of scope.
- Actor-to-actor payment gating. Internal
send_message calls between actors are not gated by this CIP. Payment gating applies only to external HTTP ingress.
- Streaming metered billing. Pay-as-you-consume billing within a single long-running request (e.g., token-by-token LLM billing) is deferred.
5. Definitions
- PaymentGate: System actor at address
0x0013 that manages payment policies, budgets, passes, and subscriptions.
- Payment Policy: Actor-declared configuration specifying payment requirements per endpoint, including pricing, accepted assets, and payment model selection.
- Serving Budget: CBY pool deposited by an actor owner into the PaymentGate, used to subsidize client requests so clients pay nothing.
- Prepaid Pass: A client-purchased request quota bound to a
(client, actor) pair. Each request decrements the pass balance.
- Epoch Subscription: A time-bounded access entitlement, analogous to CIP-7’s key-epoch model, granting unlimited access to gated endpoints for a purchased number of epochs.
- Price Table: An ordered list of rules matching request paths and methods to specific payment models and prices.
6. Payment Models
6.1 Per-Request (Client-Paid, x402)
The baseline model. Clients pay per request using the x402 protocol flow:
- Client sends a request to a gated endpoint without payment headers.
- Gateway looks up the actor’s PaymentPolicy from its local state cache.
- Gateway returns
402 Payment Required with a PAYMENT-REQUIRED header containing the x402 PaymentRequired JSON (see §9.1).
- Client inspects the payment requirements, selects a payment scheme from the
accepts array, and constructs a signed payment authorization.
- Client retries the request with a
PAYMENT-SIGNATURE header containing the signed payment payload.
- Gateway verifies the payment via the PaymentGate, dispatches the request to the actor, and settles the payment on-chain.
- Gateway returns the actor’s response with a
PAYMENT-RESPONSE header containing settlement confirmation.
Revenue distribution:
actor_fee → actor’s treasury address
protocol_fee → protocol treasury (burned or governed)
gateway_recovery → Gateway (command-path gas recovery only; zero for query path)
6.2 Actor-Funded Budget
Actors subsidize their own endpoints by depositing CBY into a budget account managed by the PaymentGate:
- Actor owner calls
PaymentGate.deposit_budget(actor, amount) to fund the budget.
- The actor’s PaymentPolicy sets
default_mode: "actor_funded" for the relevant endpoints.
- Clients request endpoints normally — no payment headers needed.
- Gateway checks that the actor’s budget has sufficient balance before serving the request.
- Gateway deducts the per-request cost from the budget via
PaymentGate.deduct_budget().
- If the budget is depleted, the Gateway either falls back to client-paid 402 or returns 503, based on the actor’s
BudgetConfig.fallback setting.
Budget configuration supports:
- Rate limits (
rate_limit_rps): Maximum free requests per second to prevent abuse.
- Daily caps (
daily_cap): Maximum daily spend from the budget.
- Auto-refill (
auto_refill): Automatically refill from the actor’s account balance when the budget drops below a threshold.
6.3 Prepaid Pass
Clients purchase a block of request credits for a specific actor:
- Client calls
PaymentGate.purchase_pass(actor, credits, beneficiary) and pays credits × per_request_price.
- PaymentGate returns a
pass_id — a random bytes32 identifier for the prepaid allocation.
- On subsequent requests, the client includes an
X-Cowboy-Pass: {pass_id} header.
- Gateway verifies pass validity and remaining credits.
- Each served request decrements the pass balance by the endpoint’s configured cost.
- Passes expire after
PASS_EXPIRY_BLOCKS (configurable per actor, max ~1 year).
Advantages over per-request payment:
- No per-request cryptographic signing — one-time purchase, then simple header inclusion.
- Reduced Gateway verification overhead (pass lookup vs. signature verification).
- Predictable cost for clients purchasing in bulk.
6.4 Epoch Subscription
Clients pay for time-bounded unlimited access, extending CIP-7’s epoch-keying model to HTTP endpoints:
- Client calls
PaymentGate.purchase_epoch(actor, epochs, beneficiary, payer).
- PaymentGate records the entitlement on-chain:
(beneficiary_account, actor_address, active_until_epoch).
- Entitlement uses a rolling window (same as CIP-7): purchasing additional epochs extends
active_until_epoch rather than creating a new subscription.
- Idempotent purchases: if the requested epoch is already covered, no charge is applied.
- Gateway checks the entitlement before serving — no payment headers needed.
- Supports sponsored subscriptions: the
payer and beneficiary may differ.
Epoch parameters are configured per actor:
fee_per_epoch: price per epoch in the actor’s default asset.
epoch_blocks: blocks per epoch (max MAX_EPOCH_BLOCKS).
min_purchase / max_purchase: bounds on epochs per purchase.
6.5 Hybrid Mode
Actors MAY combine payment models within a single PaymentPolicy:
- Use epoch subscriptions for most endpoints, but per-request pricing for expensive compute endpoints.
- The price table (§8.1) supports per-path overrides with model selection.
- Gateway evaluates the fallback chain in order: subscription → pass → budget → per-request 402.
- If a client has an active subscription covering the endpoint, the request is served without checking passes or budget.
7. PaymentGate System Actor
Address: 0x0013
The PaymentGate is a system actor that manages all payment-related state: policies, budgets, passes, and subscriptions. It is deployed at genesis and is not upgradeable except through protocol upgrades.
7.1 Payment Policy
Actors register their payment policy via the PaymentGate. The policy is stored on-chain and cached by Gateways.
PaymentPolicy {
actor: Address,
enabled: bool,
default_mode: "client_paid" | "actor_funded" | "free",
price_table: [PriceRule],
budget_config: BudgetConfig | null,
epoch_config: EpochConfig | null,
pass_config: PassConfig | null,
accepted_assets: [AssetConfig],
treasury: Address,
}
PriceRule — maps request patterns to payment models and prices:
PriceRule {
path_pattern: string, // glob: "/api/*", exact: "/api/inference"
methods: [string], // ["GET"], ["POST"], ["*"]
model: "client_paid" | "actor_funded" | "pass" | "epoch",
amount: u256, // price in atomic units of default asset
asset: Address | null, // override asset (null = actor's default)
}
BudgetConfig — controls actor-funded budget behavior:
BudgetConfig {
rate_limit_rps: u32, // max free requests per second
daily_cap: u256, // max daily spend from budget
fallback: "402" | "503", // behavior when budget is depleted
auto_refill: bool, // auto-refill from actor's account balance
}
EpochConfig — controls epoch subscription parameters:
EpochConfig {
fee_per_epoch: u256, // price per epoch in default asset
epoch_blocks: u32, // blocks per epoch
min_purchase: u32, // minimum epochs per purchase
max_purchase: u32, // maximum epochs per purchase
}
PassConfig — controls prepaid pass parameters:
PassConfig {
min_credits: u32, // minimum credits per purchase
max_credits: u32, // maximum credits per purchase
expiry_blocks: u64, // pass validity window in blocks
}
AssetConfig — describes an accepted payment asset:
AssetConfig {
asset: Address, // token address (0x0 = native CBY)
scheme: string, // "cowboy:exact", "exact"
network: string, // CAIP-2 chain ID: "cowboy:1", "eip155:8453"
decimals: u8,
symbol: string,
}
Price table rules are evaluated in order. The first matching rule determines the payment model and price. If no rule matches, the default_mode applies. Actors MUST NOT have more than MAX_PRICE_TABLE_ENTRIES rules.
7.2 PaymentGate API
| Method | Args | Returns | Description |
|---|
set_policy | PaymentPolicy | void | Set or update the actor’s payment policy. Caller MUST be the actor owner. |
get_policy | actor: Address | PaymentPolicy | null | Read an actor’s payment policy. Public. |
deposit_budget | actor: Address, amount: u256 | BudgetBalance | Deposit CBY into the actor’s serving budget. |
withdraw_budget | actor: Address, amount: u256 | BudgetBalance | Withdraw from serving budget. Caller MUST be the actor owner. |
budget_balance | actor: Address | BudgetBalance | Query current budget balance. Public. |
purchase_pass | actor: Address, credits: u32, beneficiary: Address | Pass | Purchase a prepaid pass for an actor. Payment transferred from caller. |
pass_balance | pass_id: bytes32 | Pass | Query pass details and remaining credits. |
purchase_epoch | actor: Address, epochs: u32, beneficiary: Address, payer: Address | EpochEntitlement | Purchase an epoch subscription. Uses rolling window (see §6.4). |
epoch_status | actor: Address, account: Address | EpochEntitlement | Query subscription status for an account. |
verify_payment | payload: PaymentPayload, requirements: PaymentRequirements | VerifyResponse | Verify a client payment authorization without settling. |
settle_payment | payload: PaymentPayload, requirements: PaymentRequirements | SettleResponse | Execute payment settlement. Transfers funds and consumes nonce atomically. |
deduct_budget | actor: Address, amount: u256, request_id: string | void | Deduct from an actor’s budget. Caller MUST be a registered Gateway. |
8.1 Gateway 402 Response
When a request to a gated endpoint lacks valid payment, the Gateway returns:
HTTP/1.1 402 Payment Required
PAYMENT-REQUIRED: base64(PaymentRequired JSON)
X-Cowboy-Block: {block_height}
The PAYMENT-REQUIRED header contains a base64-encoded JSON object following the x402 v2 schema. The accepts array contains one or more payment scheme descriptors, extended with Cowboy-specific fields.
Example PaymentRequired payload:
{
"accepts": [
{
"scheme": "cowboy:exact",
"network": "cowboy:1",
"maxAmountRequired": "1000000",
"resource": "https://myactor.cowboy.network/api/data",
"description": "Query the data API",
"maxTimeoutSeconds": 30,
"asset": "0x0000000000000000000000000000000000000000",
"extra": {
"actor": "0x1234...abcd",
"treasury": "0x5678...ef01",
"protocol_fee_bps": 500
}
}
],
"version": "2"
}
8.2 Cowboy Payment Schemes
8.2.1 cowboy:exact — Native CBY or CIP-20 Token Transfer
The client signs a Cowboy-native transfer authorization:
payload: {
signature: bytes, // Cowboy Ed25519 signature over authorization
authorization: {
from: Address, // payer account
to: Address, // actor treasury
amount: u256, // total amount (actor_fee + protocol_fee + gateway_recovery)
asset: Address, // 0x0 for native CBY, token address for CIP-20
valid_after: u64, // block height (authorization not valid before)
valid_before: u64, // block height (authorization expires after)
nonce: bytes32, // unique nonce for replay protection
actor: Address, // target actor address (cross-actor replay protection)
request_hash: bytes32, // hash of request envelope (request binding)
}
}
The request_hash binds the payment to a specific request, preventing an attacker from replaying a payment authorization against a different endpoint.
8.2.2 exact (EVM) — Standard x402 ERC-20 Scheme
For bridged stablecoins, the standard x402 exact scheme is supported using EIP-3009 transferWithAuthorization. Settlement requires a bridge relay:
- Client signs an EIP-3009 authorization for the EVM-side token.
- Gateway or external facilitator submits the transfer on the EVM chain.
- Bridge credits the equivalent amount on the Cowboy side.
- PaymentGate settles the Cowboy-side distribution.
The bridge relay mechanism is out of scope for this CIP — it assumes a functioning bridge exists.
8.3 Client Payment Retry
For per-request client-paid endpoints:
GET /api/data HTTP/1.1
Host: myactor.cowboy.network
PAYMENT-SIGNATURE: base64(PaymentPayload JSON)
For prepaid passes:
GET /api/data HTTP/1.1
Host: myactor.cowboy.network
X-Cowboy-Pass: {pass_id}
Epoch subscribers need no special headers. The Gateway derives client identity (see §10) and checks the on-chain entitlement directly.
8.4 Settlement Response
On successful payment and request execution:
HTTP/1.1 200 OK
PAYMENT-RESPONSE: base64(SettleResponse JSON)
X-Cowboy-Block: {block_height}
The PAYMENT-RESPONSE header contains settlement confirmation including the on-chain transaction hash and final amounts distributed.
9. Gateway Integration
This section extends the CIP-14 Gateway behavior with payment enforcement.
9.1 Request Flow (Updated)
The CIP-14 request flow is augmented with a payment check step:
- Gateway receives an HTTP request for a registered actor (CIP-14 §7 Route Registry).
- Payment check (NEW): Gateway reads the actor’s PaymentPolicy from its local state cache.
- If the endpoint is free (no matching price rule and
default_mode: "free") → proceed to dispatch.
- If
default_mode: "actor_funded" and budget has sufficient balance → deduct and proceed.
- If the client has an active epoch subscription covering this endpoint → proceed.
- If the request includes
X-Cowboy-Pass → verify pass, check remaining credits, deduct, and proceed.
- If the request includes
PAYMENT-SIGNATURE → verify payment via PaymentGate → proceed.
- Otherwise → return
402 Payment Required with payment requirements.
- Dispatch via query path (GET/HEAD) or command path (POST/PUT/PATCH/DELETE) per CIP-14 §8.
9.2 Query Path Payment
Query-path requests with payment are handled entirely by the Gateway without consensus:
- Gateway verifies the payment authorization locally (reads PaymentGate state from its committed state view).
- Gateway executes the actor’s query handler via
queryActor.
- Gateway submits a settlement transaction asynchronously (fire-and-forget to the mempool).
- If settlement fails (e.g., nonce already consumed due to double-spend attempt), the Gateway absorbs the cost. This incentivizes correct verification.
9.3 Command Path Payment
Command-path requests with payment go through consensus:
- Gateway verifies the payment authorization.
- Gateway constructs a
GatewayRegistry.dispatch() transaction (CIP-14 §9.2) with payment context attached.
- The PaymentGate settles the payment atomically with request execution within the same transaction.
- Revenue distribution:
actor_fee → treasury, protocol_fee → protocol treasury, gas cost → Gateway (via existing CIP-14 gas recovery).
9.4 Payment Policy Caching
Gateways MUST cache actor PaymentPolicy in their local state view. The cache is refreshed on every committed block — policy changes take effect in the block following commitment. This uses the same cache infrastructure that already holds Route Registry and entitlement data.
10. Client Identity
Payment models that maintain per-client state (passes, subscriptions) require a mechanism to identify the client. CIP-18 defines three identity mechanisms:
10.1 Cowboy Account Signature
The client signs the request with their Cowboy account key. The Gateway extracts the client’s account address from two headers:
X-Cowboy-Account: {account_address}
X-Cowboy-Signature: {signature_over_request}
This is the primary identity mechanism for pass and subscription models.
10.2 Payment-Derived Identity
For per-request client-paid requests, the payer address from the PAYMENT-SIGNATURE payload serves as the client identity. No additional headers are needed.
10.3 Session Token
Deferred to a follow-on CIP. Would enable browser-friendly sessions without per-request signing, useful for web applications consuming gated actor APIs.
11. Reserved Paths
The following paths are added to the /_cowboy/ reserved namespace (extending CIP-14 §8.6):
| Path | Method | Description |
|---|
/_cowboy/payment/policy | GET | Actor’s payment policy (public, no authentication required) |
/_cowboy/payment/quote | POST | Price quote for a specific request (accepts request metadata in body) |
/_cowboy/payment/pass/{pass_id} | GET | Pass balance and status |
/_cowboy/payment/subscription | GET | Subscription status for the authenticated client |
/_cowboy/payment/budget | GET | Actor’s serving budget balance (public) |
These paths are intercepted by the Gateway before dispatch and do not invoke the actor’s http.request handler. They do not conflict with the existing CIP-14 reserved paths (/_cowboy/requests/{request_id}, /_cowboy/health, /_cowboy/info).
12. Revenue Distribution
Per-request payment flow:
Client pays total_amount
├── actor_fee ──────────> Actor Treasury
├── protocol_fee ───────> Protocol Treasury (burned or governance-directed)
└── gateway_recovery ──> Gateway (command-path gas recovery only)
protocol_fee = floor(actor_fee × PROTOCOL_PAYMENT_FEE_BPS / 10_000)
gateway_recovery = estimated_gas_cost (command path only, 0 for query path)
total_amount = actor_fee + protocol_fee + gateway_recovery
For actor-funded budgets, the same fee structure applies but the actor pays from its budget rather than the client paying directly.
For prepaid passes and epoch subscriptions, fees are collected at purchase time:
Pass purchase:
total = credits × per_request_price
protocol_fee = floor(total × PROTOCOL_PAYMENT_FEE_BPS / 10_000)
actor_receives = total - protocol_fee
Epoch purchase:
total = epochs × fee_per_epoch
protocol_fee = floor(total × PROTOCOL_PAYMENT_FEE_BPS / 10_000)
actor_receives = total - protocol_fee
13. Protocol Constants
PAYMENT_GATE_ADDRESS = 0x0013
PROTOCOL_PAYMENT_FEE_BPS = 500 // 5% protocol fee
MAX_PRICE_TABLE_ENTRIES = 100
MIN_BUDGET_DEPOSIT = <governance-set>
MAX_EPOCH_BLOCKS = 2_592_000 // ~30 days at 1 block/s
DEFAULT_EPOCH_BLOCKS = 86_400 // ~1 day at 1 block/s
PASS_EXPIRY_BLOCKS = 31_536_000 // ~1 year at 1 block/s
MAX_PREPAID_CREDITS = 1_000_000
CBY_ASSET_ADDRESS = 0x0000000000000000000000000000000000000000
PAYMENT_POLICY_CACHE_TTL_BLOCKS = 1 // refresh every block
MAX_ACCEPTED_ASSETS = 10
14. Entitlement: payment.gate
A new entitlement grant for actors that use payment gating:
EntitlementGrant {
id: "payment.gate",
params: {
"accepted_schemes": ["cowboy:exact", "exact", "cowboy:pass", "cowboy:epoch"],
"max_price_per_request": u256,
}
}
| Param | Type | Description | Default |
|---|
accepted_schemes | array<string> | Payment schemes the actor is permitted to use | ["cowboy:exact"] |
max_price_per_request | u256 | Maximum per-request price in atomic CBY units (consumer protection) | <governance-set> |
Prerequisite: The actor MUST also hold the ingress.http entitlement (CIP-14). Payment gating without HTTP ingress has no effect.
15. Security Considerations
- Replay attacks. Payment authorizations include a unique
nonce consumed atomically on settlement, a request_hash binding the payment to a specific request, and valid_before / valid_after block-height bounds. An attacker cannot replay a captured payment authorization.
- Budget draining DoS. Actor-funded budgets are protected by configurable
rate_limit_rps and daily_cap values. Gateways enforce these limits before deducting from the budget.
- Cross-Gateway double-spend. On-chain settlement consumes the payment nonce atomically. If two Gateways attempt to settle the same payment authorization, only the first succeeds. The second Gateway absorbs the cost, incentivizing correct local verification.
- Stale payment authorization. The
valid_before block height bounds the authorization’s lifetime. Gateways MUST reject authorizations where current_block > valid_before.
- Price manipulation. Payment policy changes are committed on-chain and take effect only in the following block. A malicious actor cannot change prices between the 402 response and the client’s retry within the same block.
- Pass enumeration. Pass IDs are random
bytes32 values, not sequential integers. An attacker cannot enumerate valid passes by incrementing an ID.
- Protocol fee evasion. All payment flows route through the PaymentGate system actor. Actors cannot bypass the protocol fee because Gateways only accept settlements processed by the PaymentGate.
16. Rationale
Why x402 compatibility? The x402 protocol is becoming the standard for machine-to-machine HTTP payments. By adopting its wire format (402 Payment Required status code, PAYMENT-REQUIRED / PAYMENT-SIGNATURE headers), Cowboy actors are immediately accessible to any x402-compatible client or agent. This is critical for the agent economy: an autonomous agent that knows how to pay for x402 services can pay for Cowboy actor services without Cowboy-specific integration.
Why four payment models? Different use cases have fundamentally different payment ergonomics:
- Per-request is the most flexible but requires per-call signing, which is friction for high-frequency consumers.
- Actor-funded budgets enable free-tier access, onboarding flows, and freemium models.
- Prepaid passes reduce per-request overhead for bulk consumers and avoid repeated signing.
- Epoch subscriptions provide the simplest UX for regular consumers (subscribe once, access for a period).
No single model serves all needs. The hybrid fallback chain (§6.5) lets actors compose models without complexity for clients.
Why a system actor instead of entitlement-only? Payment gating requires persistent state: budget balances, pass allocations, subscription windows, and nonce tracking. An entitlement grant alone (which is a static capability declaration) cannot manage this state. The PaymentGate system actor provides the accounting surface while the payment.gate entitlement provides capability gating.
Why extend CIP-7’s epoch model? CIP-7 already solved rolling-window epoch billing with idempotent purchases and sponsored access. Rather than inventing a new subscription primitive, CIP-18 reuses the same semantics (rolling active_until_epoch, payer/beneficiary separation, protocol fee collection). This keeps the billing model consistent across streams and HTTP endpoints.
Why 0x0013? System actor addresses are allocated sequentially. CIP-7 defines the Stream Key Manager at 0x0006; CIP-14 reserves 0x0011 (Route Registry) and 0x0012 (Gateway Registry). Address 0x0013 is the next sequential allocation.
17. Future Work
- Fiat payment rails. Extend the
accepts array with fiat schemes (ACH, SEPA) using x402 network extensions.
- Session tokens. Browser-friendly authentication for subscriptions without per-request signing (§10.3).
- Actor-to-actor payment gating. Extend payment enforcement to internal
send_message calls between actors.
- Streaming metered billing. An
upto payment scheme for pay-as-you-consume billing within long-running requests (e.g., LLM token streaming).
- Cross-chain facilitator specification. Define the bridge relay protocol for EVM-side
exact scheme settlement.
- Discovery and Bazaar integration. Registry of gated actors with pricing metadata for agent discovery.
18. Backwards Compatibility
This CIP is fully additive to CIP-14:
- Actors without the
payment.gate entitlement are completely unaffected. Their endpoints remain free (or Gateway-subsidized) as before.
- Gateways continue to serve free requests for non-gated actors using the existing CIP-14 flow.
- The PaymentGate system actor is deployed at address
0x0013, which is previously unallocated.
- The new
/_cowboy/payment/* reserved paths do not conflict with existing CIP-14 reserved paths (/_cowboy/requests/*, /_cowboy/health, /_cowboy/info).
- The
payment.gate entitlement is a new entitlement ID that does not affect existing entitlement grants.
- No changes to the CIP-3 fee model, CIP-7 stream protocol, or CIP-20 token standard are required.