exactGET /health โ Health checkUse this lightweight probe to confirm the facilitator is up and reporting the current UTC timestamp.
curl -s https://solidusx402.com/health | jq
Sample response
{
"status": "healthy",
"timestamp": "2024-05-01T12:34:56.789000000+00:00",
"service": "solidus"
}
GET /supported โ List supported payment kindsDiscover which x402 schemes, networks, and fee payer accounts the facilitator can process.
curl -s https://solidusx402.com/supported | jq
Sample response
{
"kinds": [
{
"x402Version": 1,
"scheme": "exact",
"network": "solana-mainnet",
"extra": {
"feePayer": "Ds1QXjX3J7XYtu6SWfgjEWhqEWKyLNXGEqUXNhJRNgoP"
}
},
{
"x402Version": 1,
"scheme": "exact",
"network": "solana-devnet",
"extra": {
"feePayer": "Ds1QXjX3J7XYtu6SWfgjEWhqEWKyLNXGEqUXNhJRNgoP"
}
}
]
}
POST /verify โ Verify a paymentSend the signed payment payload and the facilitator requirements you received from the paywall to validate authorization before settlement.
curl -X POST https://solidusx402.com/verify \
-H 'Content-Type: application/json' \
--data @verify-request.json
Sample request body
{
"x402Version": 1,
"paymentPayload": {
"x402Version": 1,
"scheme": "exact",
"network": "solana-devnet",
"payload": {
"transaction": "BASE64_ENCODED_SOLANA_TX=="
}
},
"paymentRequirements": {
"scheme": "exact",
"network": "solana-devnet",
"maxAmountRequired": "1000000",
"resource": "https://solidusx402.com/gated",
"description": "Demo premium feed",
"mimeType": "application/json",
"outputSchema": null,
"payTo": "Ds1QXjX3J7XYtu6SWfgjEWhqEWKyLNXGEqUXNhJRNgoP",
"maxTimeoutSeconds": 120,
"asset": "So11111111111111111111111111111111111111112",
"extra": {
"referenceId": "demo-session-1"
}
}
}
Successful response
{
"isValid": true,
"payer": "F2yi7VHx1ZRh6r6gkoigqwKUPqyZmWiJczn9hh7nL8A5"
}
POST /settle โ Settle a paymentCall this after a successful verification to request on-chain settlement; the request payload matches /verify.
curl -X POST https://solidusx402.com/settle \
-H 'Content-Type: application/json' \
--data @settle-request.json
Sample success response
{
"success": true,
"payer": "F2yi7VHx1ZRh6r6gkoigqwKUPqyZmWiJczn9hh7nL8A5",
"transaction": "5YpZiqoX1iWexZL3PHgYf6R9MXTix7XUK2rThA3M3Ere1rJpcus7xM6wQpMY7z9uKzsfLrH3wUnXj9mYJ3nZsyi",
"network": "solana-devnet"
}
If settlement fails, success is false and errorReason explains the rejection (for example, "insufficient_funds").