Skip to content
Start here

Monetization

ModelsExpand Collapse
class MonetizationAccountEligibilityCheckInput: …
accepted_terms_of_service: Literal[true]

Confirms acceptance of the Monetization Gateway terms of service.

class MonetizationAccountEligibilityCheckResponse: …
errors: List[Error]
code: Optional[int]
message: Optional[str]
messages: List[Message]
code: Optional[int]
message: Optional[str]
success: Literal[true]
class MonetizationEligibilityResponse: …
errors: List[Error]
code: Optional[int]
message: Optional[str]
messages: List[Message]
code: Optional[int]
message: Optional[str]
success: Literal[true]
class MonetizationEligibilityResult: …
status: Literal["pending", "approved", "rejected"]

Current monetization eligibility decision.

One of the following:
"pending"
"approved"
"rejected"
reasons: Optional[List[str]]

Public, human-readable reasons for a rejected decision, when available.

class MonetizationZoneEligibilityCheckResponse: …
errors: List[Error]
code: Optional[int]
message: Optional[str]
messages: List[Message]
code: Optional[int]
message: Optional[str]
result: Result
enabled: bool

Whether this check successfully enabled the zone entitlement. Only approved decisions can enable it.

status: Literal["pending", "approved", "rejected"]

Current monetization eligibility decision.

One of the following:
"pending"
"approved"
"rejected"
reasons: Optional[List[str]]

Public, human-readable reasons for a rejected decision, when available.

success: Literal[true]

MonetizationRules

List payment rules
monetization.rules.get(RuleGetParams**kwargs) -> MonetizationRuleCollection
GET/zones/{zone_id}/monetization/rules
Deploy payment ruleset
monetization.rules.update(RuleUpdateParams**kwargs) -> MonetizationRuleCollection
PUT/zones/{zone_id}/monetization/rules
Delete all payment rules
monetization.rules.delete(RuleDeleteParams**kwargs) -> MonetizationRuleCollection
DELETE/zones/{zone_id}/monetization/rules
Get a payment rule
monetization.rules.get_rule(strrule_id, RuleGetRuleParams**kwargs) -> MonetizationRule
GET/zones/{zone_id}/monetization/rules/{rule_id}
Update a payment rule
monetization.rules.edit_rule(strrule_id, RuleEditRuleParams**kwargs) -> MonetizationRuleCollection
PATCH/zones/{zone_id}/monetization/rules/{rule_id}
Delete a payment rule
monetization.rules.delete_rule(strrule_id, RuleDeleteRuleParams**kwargs) -> MonetizationRuleCollection
DELETE/zones/{zone_id}/monetization/rules/{rule_id}
ModelsExpand Collapse
Union[MonetizationRulesMonetizationRuleInputFixedPrice, MonetizationRulesMonetizationRuleInputOriginControlled]

Payment rule with a fixed price set at configuration time.

One of the following:
class MonetizationRulesMonetizationRuleInputFixedPrice: …

Payment rule with a fixed price set at configuration time.

id: str

The server-assigned unique ID of the payment rule. Stable across full-ruleset replacements.

maxLength32
class MonetizationRulesMonetizationRuleInputOriginControlled: …

Payment rule whose price the origin server sets dynamically. The rule carries no price and the price field must be omitted — any provided value, including “0”, is rejected because it would not be enforced.

id: str

The server-assigned unique ID of the payment rule. Stable across full-ruleset replacements.

maxLength32
class MonetizationRuleCollection: …

The zone’s payment rules. Mirrors the shape of the ruleset submitted to the deploy endpoint, so the response can be read back as the desired state.

rules: List[MonetizationRule]

The zone’s payment rules, in the order they are evaluated. Empty when the zone has no payment rules.

One of the following:
class MonetizationRulesMonetizationRuleInputFixedPrice: …

Payment rule with a fixed price set at configuration time.

id: str

The server-assigned unique ID of the payment rule. Stable across full-ruleset replacements.

maxLength32
class MonetizationRulesMonetizationRuleInputOriginControlled: …

Payment rule whose price the origin server sets dynamically. The rule carries no price and the price field must be omitted — any provided value, including “0”, is rejected because it would not be enforced.

id: str

The server-assigned unique ID of the payment rule. Stable across full-ruleset replacements.

maxLength32

Payment rule with a fixed price set at configuration time.

One of the following:
class MonetizationRuleInputFixedPrice: …

Payment rule with a fixed price set at configuration time.

address: str

0x-prefixed 20-byte hexadecimal Ethereum address. Mixed-case addresses must carry a valid EIP-55 checksum; all-lowercase or all-uppercase addresses are also accepted. The address must pass wallet screening whenever its rule is deployed or patched.

expression: str

Wirefilter expression identifying the requests that require payment. Forwarded verbatim to the Rulesets API, which validates its syntax.

price: str

Price in the smallest indivisible unit of the configured payment token, encoded as a decimal string. Must be a canonical decimal integer in [1000, 100000000]: no leading zeros, and a bare JSON number is rejected. The price is required for the fixed-price schemes (“exact” and “upto”) and must be at least 1000, the smallest amount the payment facilitator can settle ($0.001 for a 6-decimal token such as USDC), and at most 100000000 ($100 for a 6-decimal token). When the scheme is “origin_controlled” the origin server sets pricing dynamically and the rule carries no price: the field must be omitted — any provided value, including “0”, is rejected because it would not be enforced. Responses always encode this as a string and omit it for “origin_controlled” rules; the pattern matches exactly the set of values the server accepts.

scheme: Literal["exact", "upto"]

X402 payment scheme. “exact” requires the specified payment amount; “upto” permits a payment up to the specified amount. Both fixed-price schemes require the price field.

One of the following:
"exact"
"upto"
id: Optional[str]

Optional on input. Include the ID of an existing payment rule to update it in place, preserving its stable identity across the full-ruleset replacement; omit it to create a new rule. An ID that does not match an existing payment rule in the zone is rejected. Rules omitted from the request are deleted.

maxLength32
description: Optional[str]
maxLength512
enabled: Optional[bool]
class MonetizationRuleInputOriginControlled: …

Payment rule whose price the origin server sets dynamically. The rule carries no price and the price field must be omitted — any provided value, including “0”, is rejected because it would not be enforced.

address: str

0x-prefixed 20-byte hexadecimal Ethereum address. Mixed-case addresses must carry a valid EIP-55 checksum; all-lowercase or all-uppercase addresses are also accepted. The address must pass wallet screening whenever its rule is deployed or patched.

expression: str

Wirefilter expression identifying the requests that require payment. Forwarded verbatim to the Rulesets API, which validates its syntax.

scheme: Literal["origin_controlled"]

X402 payment scheme. “origin_controlled” lets the origin server set pricing dynamically; the rule carries no price and the price field must be omitted.

id: Optional[str]

Optional on input. Include the ID of an existing payment rule to update it in place, preserving its stable identity across the full-ruleset replacement; omit it to create a new rule. An ID that does not match an existing payment rule in the zone is rejected. Rules omitted from the request are deleted.

maxLength32
description: Optional[str]
maxLength512
enabled: Optional[bool]
class MonetizationRuleInputFixedPrice: …

Payment rule with a fixed price set at configuration time.

address: str

0x-prefixed 20-byte hexadecimal Ethereum address. Mixed-case addresses must carry a valid EIP-55 checksum; all-lowercase or all-uppercase addresses are also accepted. The address must pass wallet screening whenever its rule is deployed or patched.

expression: str

Wirefilter expression identifying the requests that require payment. Forwarded verbatim to the Rulesets API, which validates its syntax.

price: str

Price in the smallest indivisible unit of the configured payment token, encoded as a decimal string. Must be a canonical decimal integer in [1000, 100000000]: no leading zeros, and a bare JSON number is rejected. The price is required for the fixed-price schemes (“exact” and “upto”) and must be at least 1000, the smallest amount the payment facilitator can settle ($0.001 for a 6-decimal token such as USDC), and at most 100000000 ($100 for a 6-decimal token). When the scheme is “origin_controlled” the origin server sets pricing dynamically and the rule carries no price: the field must be omitted — any provided value, including “0”, is rejected because it would not be enforced. Responses always encode this as a string and omit it for “origin_controlled” rules; the pattern matches exactly the set of values the server accepts.

scheme: Literal["exact", "upto"]

X402 payment scheme. “exact” requires the specified payment amount; “upto” permits a payment up to the specified amount. Both fixed-price schemes require the price field.

One of the following:
"exact"
"upto"
id: Optional[str]

Optional on input. Include the ID of an existing payment rule to update it in place, preserving its stable identity across the full-ruleset replacement; omit it to create a new rule. An ID that does not match an existing payment rule in the zone is rejected. Rules omitted from the request are deleted.

maxLength32
description: Optional[str]
maxLength512
enabled: Optional[bool]
class MonetizationRuleInputOriginControlled: …

Payment rule whose price the origin server sets dynamically. The rule carries no price and the price field must be omitted — any provided value, including “0”, is rejected because it would not be enforced.

address: str

0x-prefixed 20-byte hexadecimal Ethereum address. Mixed-case addresses must carry a valid EIP-55 checksum; all-lowercase or all-uppercase addresses are also accepted. The address must pass wallet screening whenever its rule is deployed or patched.

expression: str

Wirefilter expression identifying the requests that require payment. Forwarded verbatim to the Rulesets API, which validates its syntax.

scheme: Literal["origin_controlled"]

X402 payment scheme. “origin_controlled” lets the origin server set pricing dynamically; the rule carries no price and the price field must be omitted.

id: Optional[str]

Optional on input. Include the ID of an existing payment rule to update it in place, preserving its stable identity across the full-ruleset replacement; omit it to create a new rule. An ID that does not match an existing payment rule in the zone is rejected. Rules omitted from the request are deleted.

maxLength32
description: Optional[str]
maxLength512
enabled: Optional[bool]
class MonetizationRulePatch: …

Partial update to a single payment rule. Only the fields present are modified; omitted fields keep their existing values.

address: Optional[str]

0x-prefixed 20-byte hexadecimal Ethereum address. Mixed-case addresses must carry a valid EIP-55 checksum; all-lowercase or all-uppercase addresses are also accepted. The effective address must pass wallet screening whenever the rule is patched.

description: Optional[str]
maxLength512
enabled: Optional[bool]
expression: Optional[str]

Wirefilter expression identifying the requests that require payment. Forwarded verbatim to the Rulesets API, which validates its syntax.

price: Optional[str]

Price in the smallest indivisible unit of the configured payment token, encoded as a decimal string. Must be a canonical decimal integer in [1000, 100000000]: no leading zeros, and a bare JSON number is rejected. The price is required for the fixed-price schemes (“exact” and “upto”) and must be at least 1000, the smallest amount the payment facilitator can settle ($0.001 for a 6-decimal token such as USDC), and at most 100000000 ($100 for a 6-decimal token). When the scheme is “origin_controlled” the origin server sets pricing dynamically and the rule carries no price: the field must be omitted — any provided value, including “0”, is rejected because it would not be enforced. Responses always encode this as a string and omit it for “origin_controlled” rules; the pattern matches exactly the set of values the server accepts.

scheme: Optional[Literal["exact", "upto", "origin_controlled"]]

X402 payment scheme. “exact” requires the specified payment amount; “upto” permits a payment up to the specified amount; “origin_controlled” lets the origin server set pricing dynamically, in which case the rule carries no price and the price field must be omitted.

One of the following:
"exact"
"upto"
"origin_controlled"
class MonetizationRulesetInput: …

Full desired Payment Required ruleset. An empty array clears all payment rules. The ruleset may contain at most 40 unique wallet addresses; address comparison is case-insensitive. Every address must pass wallet screening before deployment.

One of the following:
class MonetizationRuleInputFixedPrice: …

Payment rule with a fixed price set at configuration time.

address: str

0x-prefixed 20-byte hexadecimal Ethereum address. Mixed-case addresses must carry a valid EIP-55 checksum; all-lowercase or all-uppercase addresses are also accepted. The address must pass wallet screening whenever its rule is deployed or patched.

expression: str

Wirefilter expression identifying the requests that require payment. Forwarded verbatim to the Rulesets API, which validates its syntax.

price: str

Price in the smallest indivisible unit of the configured payment token, encoded as a decimal string. Must be a canonical decimal integer in [1000, 100000000]: no leading zeros, and a bare JSON number is rejected. The price is required for the fixed-price schemes (“exact” and “upto”) and must be at least 1000, the smallest amount the payment facilitator can settle ($0.001 for a 6-decimal token such as USDC), and at most 100000000 ($100 for a 6-decimal token). When the scheme is “origin_controlled” the origin server sets pricing dynamically and the rule carries no price: the field must be omitted — any provided value, including “0”, is rejected because it would not be enforced. Responses always encode this as a string and omit it for “origin_controlled” rules; the pattern matches exactly the set of values the server accepts.

scheme: Literal["exact", "upto"]

X402 payment scheme. “exact” requires the specified payment amount; “upto” permits a payment up to the specified amount. Both fixed-price schemes require the price field.

One of the following:
"exact"
"upto"
id: Optional[str]

Optional on input. Include the ID of an existing payment rule to update it in place, preserving its stable identity across the full-ruleset replacement; omit it to create a new rule. An ID that does not match an existing payment rule in the zone is rejected. Rules omitted from the request are deleted.

maxLength32
description: Optional[str]
maxLength512
enabled: Optional[bool]
class MonetizationRuleInputOriginControlled: …

Payment rule whose price the origin server sets dynamically. The rule carries no price and the price field must be omitted — any provided value, including “0”, is rejected because it would not be enforced.

address: str

0x-prefixed 20-byte hexadecimal Ethereum address. Mixed-case addresses must carry a valid EIP-55 checksum; all-lowercase or all-uppercase addresses are also accepted. The address must pass wallet screening whenever its rule is deployed or patched.

expression: str

Wirefilter expression identifying the requests that require payment. Forwarded verbatim to the Rulesets API, which validates its syntax.

scheme: Literal["origin_controlled"]

X402 payment scheme. “origin_controlled” lets the origin server set pricing dynamically; the rule carries no price and the price field must be omitted.

id: Optional[str]

Optional on input. Include the ID of an existing payment rule to update it in place, preserving its stable identity across the full-ruleset replacement; omit it to create a new rule. An ID that does not match an existing payment rule in the zone is rejected. Rules omitted from the request are deleted.

maxLength32
description: Optional[str]
maxLength512
enabled: Optional[bool]