Using x402 on Keeta
How x402 works on Keeta
2
Server responds with 402
{
"x402Version": 2,
"error": "Payment required",
"resource": {
"url": "https://facilitator.x402.keeta.com/weather",
"description": "Get current weather data (demo endpoint)",
"mimeType": "application/json"
},
"accepts": [
{
"scheme": "exact",
"network": "keeta:1413829460",
"amount": "1000000",
"asset": "keeta_anyiff4v34alvumupagmdyosydeq24lc4def5mrpmmyhx3j6vj2uucckeqn52",
"payTo": "keeta_aab7jq4fx7fl24qk36qpowlyasu3jekv4gdadrz6lhnda3n2upnj2dga7rxjf5a",
"maxTimeoutSeconds": 300,
"extra": {}
},
{
"scheme": "exact",
"network": "keeta:1413829460",
"amount": "1000",
"asset": "keeta_apna75yhhvnv4ei7ape55hndk4yepno7a7i2mhtiwahiygixjcnmvswxhnmnk",
"payTo": "keeta_aab7jq4fx7fl24qk36qpowlyasu3jekv4gdadrz6lhnda3n2upnj2dga7rxjf5a",
"maxTimeoutSeconds": 300,
"extra": {}
}
]
}3
Client signs a block (but doesn't publish it)
{
"x402Version": 2,
"payload": {
"block": "MIH8AgEAAgRURVNUBQAYEzIwMjYwNzAyMTIwMTQwLjY5OVoEIgADAm6dCFFcNSQH4W8GXVEtN6TOPnKi0E8H989NDaWNL2kFAAQgJgvfwf+ZA9wHkB1phDyzxBjbk4PvTHbbtFrAfOEKqN4wUKBOMEwEIgAD9MOFv8q9cgrfoPdZeASptJFV4YYBxz5Z2jBtuqPanQwCAw9CQAQhA3CCl5XfALrRlHgMweHSwMkNcWLgyF6yL2Mwe+0+qnVKBEAGXojraVbFTUlN001p6XXlHpGeEtTsJGuPbCGWgoMLzksWivjcoyk0ZT/kaPFQICd8wa/m9jQIucYCR3B2xvZz"
},
"resource": {
"url": "https://facilitator.x402.keeta.com/weather",
"description": "Get current weather data (demo endpoint)",
"mimeType": "application/json"
},
"accepted": {
"scheme": "exact",
"network": "keeta:1413829460",
"amount": "1000000",
"asset": "keeta_anyiff4v34alvumupagmdyosydeq24lc4def5mrpmmyhx3j6vj2uucckeqn52",
"payTo": "keeta_aab7jq4fx7fl24qk36qpowlyasu3jekv4gdadrz6lhnda3n2upnj2dga7rxjf5a",
"maxTimeoutSeconds": 300,
"extra": {}
}
}5
Prerequisites
npm install @keetanetwork/keetanet-client @x402/core @x402/keeta @x402/fetch @x402/expressUsing x402 as a client
Using x402 as a server
Fee sponsoring on the Keeta facilitator
Facilitators
Third-Party Service Notice
Further reading
Last updated