pub struct X402V1PaymentPayload {
pub network: X402v1Network,
pub payload: X402v1PaymentPayloadPayload,
pub scheme: X402v1PaymentPayloadScheme,
pub x402_version: X402Version,
}Expand description
The x402 v1 protocol payment payload. Uses human-readable network names and requires scheme and network alongside the inner payload object.
JSON schema
{
"title": "x402V1PaymentPayload",
"description": "The x402 v1 protocol payment payload. Uses human-readable network names and requires `scheme` and `network` alongside the inner `payload` object.",
"examples": [
{
"network": "base",
"payload": {
"authorization": {
"from": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"nonce": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"to": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"validAfter": "1716150000",
"validBefore": "1716150000",
"value": "1000000000000000000"
},
"signature": "0xf3746613c2d920b5fdabc0856f2aeb2d4f88ee6037b8cc5d04a71a4462f134801234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1b"
},
"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"
],
"allOf": [
{
"$ref": "#/components/schemas/X402V1Network"
}
]
},
"payload": {
"description": "The payload of the payment depending on the x402Version, scheme, and network.",
"examples": [
{
"authorization": {
"from": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"nonce": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"to": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"validAfter": "1716150000",
"validBefore": "1716150000",
"value": "1000000000000000000"
},
"signature": "0xf3746613c2d920b5fdabc0856f2aeb2d4f88ee6037b8cc5d04a71a4462f134801234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1b"
}
],
"type": "object",
"oneOf": [
{
"$ref": "#/components/schemas/x402ExactEvmPayload"
},
{
"$ref": "#/components/schemas/x402ExactEvmPermit2Payload"
},
{
"$ref": "#/components/schemas/x402ExactSolanaPayload"
}
]
},
"scheme": {
"description": "The scheme of the payment protocol to use. Currently, the only supported scheme is `exact`.",
"examples": [
"exact"
],
"type": "string",
"enum": [
"exact"
]
},
"x402Version": {
"description": "The x402 protocol version. Must be `1` for this payload shape.",
"allOf": [
{
"$ref": "#/components/schemas/X402Version"
}
]
}
}
}Fields§
§network: X402v1NetworkThe network of the blockchain to send payment on.
payload: X402v1PaymentPayloadPayloadThe payload of the payment depending on the x402Version, scheme, and network.
scheme: X402v1PaymentPayloadSchemeThe scheme of the payment protocol to use. Currently, the only supported scheme is exact.
x402_version: X402VersionThe x402 protocol version. Must be 1 for this payload shape.
Implementations§
Source§impl X402V1PaymentPayload
impl X402V1PaymentPayload
pub fn builder() -> X402V1PaymentPayload
Trait Implementations§
Source§impl Clone for X402V1PaymentPayload
impl Clone for X402V1PaymentPayload
Source§fn clone(&self) -> X402V1PaymentPayload
fn clone(&self) -> X402V1PaymentPayload
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 X402V1PaymentPayload
impl Debug for X402V1PaymentPayload
Source§impl<'de> Deserialize<'de> for X402V1PaymentPayload
impl<'de> Deserialize<'de> for X402V1PaymentPayload
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<&X402V1PaymentPayload> for X402V1PaymentPayload
impl From<&X402V1PaymentPayload> for X402V1PaymentPayload
Source§fn from(value: &X402V1PaymentPayload) -> Self
fn from(value: &X402V1PaymentPayload) -> Self
Converts to this type from the input type.
Source§impl From<X402V1PaymentPayload> for X402PaymentPayload
impl From<X402V1PaymentPayload> for X402PaymentPayload
Source§fn from(value: X402V1PaymentPayload) -> Self
fn from(value: X402V1PaymentPayload) -> Self
Converts to this type from the input type.
Source§impl From<X402V1PaymentPayload> for X402V1PaymentPayload
impl From<X402V1PaymentPayload> for X402V1PaymentPayload
Source§fn from(value: X402V1PaymentPayload) -> Self
fn from(value: X402V1PaymentPayload) -> Self
Converts to this type from the input type.
Source§impl Serialize for X402V1PaymentPayload
impl Serialize for X402V1PaymentPayload
Source§impl TryFrom<X402V1PaymentPayload> for X402V1PaymentPayload
impl TryFrom<X402V1PaymentPayload> for X402V1PaymentPayload
Source§type Error = ConversionError
type Error = ConversionError
The type returned in the event of a conversion error.
Source§fn try_from(value: X402V1PaymentPayload) -> Result<Self, ConversionError>
fn try_from(value: X402V1PaymentPayload) -> Result<Self, ConversionError>
Performs the conversion.
Auto Trait Implementations§
impl Freeze for X402V1PaymentPayload
impl RefUnwindSafe for X402V1PaymentPayload
impl Send for X402V1PaymentPayload
impl Sync for X402V1PaymentPayload
impl Unpin for X402V1PaymentPayload
impl UnsafeUnpin for X402V1PaymentPayload
impl UnwindSafe for X402V1PaymentPayload
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