pub struct X402PaymentPayload {
pub network: X402PaymentPayloadNetwork,
pub payload: X402ExactEvmPayload,
pub scheme: X402PaymentPayloadScheme,
pub x402_version: X402Version,
}
Expand description
The x402 protocol payment payload that the client attaches to x402-paid API requests to the resource server in the X-PAYMENT header.
JSON schema
{
"description": "The x402 protocol payment payload that the client attaches to x402-paid API requests to the resource server in the X-PAYMENT header.",
"examples": [
{
"network": "base",
"payload": {
"authorization": {
"from": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"nonce": "0x1234567890abcdef1234567890abcdef12345678",
"to": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"validAfter": "1716150000",
"validBefore": "1716150000",
"value": "1000000000000000000"
},
"signature": "0xf3746613c2d920b5fdabc0856f2aeb2d4f88ee6037b8cc5d04a71a4462f13480"
},
"scheme": "exact",
"x402Version": 1
}
],
"type": "object",
"required": [
"network",
"payload",
"scheme",
"x402Version"
],
"properties": {
"network": {
"description": "The network of the blockchain to send payment on.",
"examples": [
"base"
],
"type": "string",
"enum": [
"base-sepolia",
"base"
]
},
"payload": {
"description": "The payload of the payment depending on the x402Version, scheme, and network.",
"examples": [
{
"authorization": {
"from": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"nonce": "0x1234567890abcdef1234567890abcdef12345678",
"to": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"validAfter": "1716150000",
"validBefore": "1716150000",
"value": "1000000000000000000"
},
"signature": "0xf3746613c2d920b5fdabc0856f2aeb2d4f88ee6037b8cc5d04a71a4462f13480"
}
],
"type": "object",
"oneOf": [
{
"$ref": "#/components/schemas/x402ExactEvmPayload"
}
]
},
"scheme": {
"description": "The scheme of the payment protocol to use. Currently, the only supported scheme is `exact`.",
"examples": [
"exact"
],
"type": "string",
"enum": [
"exact"
]
},
"x402Version": {
"$ref": "#/components/schemas/X402Version"
}
}
}
Fields§
§network: X402PaymentPayloadNetwork
The network of the blockchain to send payment on.
payload: X402ExactEvmPayload
The payload of the payment depending on the x402Version, scheme, and network.
scheme: X402PaymentPayloadScheme
The scheme of the payment protocol to use. Currently, the only supported scheme is exact
.
x402_version: X402Version
Implementations§
Source§impl X402PaymentPayload
impl X402PaymentPayload
pub fn builder() -> X402PaymentPayload
Trait Implementations§
Source§impl Clone for X402PaymentPayload
impl Clone for X402PaymentPayload
Source§fn clone(&self) -> X402PaymentPayload
fn clone(&self) -> X402PaymentPayload
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for X402PaymentPayload
impl Debug for X402PaymentPayload
Source§impl<'de> Deserialize<'de> for X402PaymentPayload
impl<'de> Deserialize<'de> for X402PaymentPayload
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<&X402PaymentPayload> for X402PaymentPayload
impl From<&X402PaymentPayload> for X402PaymentPayload
Source§fn from(value: &X402PaymentPayload) -> Self
fn from(value: &X402PaymentPayload) -> Self
Converts to this type from the input type.
Source§impl From<X402PaymentPayload> for X402PaymentPayload
impl From<X402PaymentPayload> for X402PaymentPayload
Source§fn from(value: X402PaymentPayload) -> Self
fn from(value: X402PaymentPayload) -> Self
Converts to this type from the input type.
Source§impl Serialize for X402PaymentPayload
impl Serialize for X402PaymentPayload
Source§impl TryFrom<X402PaymentPayload> for X402PaymentPayload
impl TryFrom<X402PaymentPayload> for X402PaymentPayload
Source§type Error = ConversionError
type Error = ConversionError
The type returned in the event of a conversion error.
Source§fn try_from(value: X402PaymentPayload) -> Result<Self, ConversionError>
fn try_from(value: X402PaymentPayload) -> Result<Self, ConversionError>
Performs the conversion.
Auto Trait Implementations§
impl Freeze for X402PaymentPayload
impl RefUnwindSafe for X402PaymentPayload
impl Send for X402PaymentPayload
impl Sync for X402PaymentPayload
impl Unpin for X402PaymentPayload
impl UnwindSafe for X402PaymentPayload
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more