Get payment rail readiness. (read access required)
Changed onReports whether each payment rail is actually configured well enough to take payments, so setup UIs do not have to re-derive it from several list endpoints. Each rail returns isReady plus the individual checks behind it, each with a stable id the admin UI maps its setup steps onto. CardanoV2 also returns per-policy/contract PurchaseSources so read-auth consumers can gate outbound purchases against the exact source; these identifiers are public on-chain values. isReady covers blocking checks only: for x402 that means an enabled chain with a usable RPC URL and exactly one facilitator mode configured (a row with both a facilitator wallet and a facilitator URL fails at settle time), while the purchasing wallet is reported but optional. Only configuration presence is exposed — no keys or private wallet data.
Request
- Base URL: ./../api/v1/ (relative, and the document was published on a file host, not at the API’s origin)
- URL: ./../api/v1/rail-readiness
- Auth: API key in header token
Query parameters
Cardano environment to report on. x402 chains are grouped in by their testnet flag
Response
Rail readiness
Example response
{
"status": "success",
"data": {
"network": "Preprod",
"Rails": [
{
"rail": "CardanoV2",
"isReady": false,
"PurchaseSources": [
{
"policyId": "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"smartContractAddress": "addr_test1_v2_contract",
"isPurchaseReady": true,
"Checks": [
{
"id": "cardano.payment_source",
"label": "Payment source",
"isComplete": true,
"detail": "Active Web3CardanoV2 source found"
},
{
"id": "cardano.contract_current",
"label": "Current contract",
"isComplete": true,
"detail": null
},
{
"id": "cardano.rpc_provider",
"label": "Blockfrost API key",
"isComplete": true,
"detail": null
},
{
"id": "cardano.admin_signatures",
"label": "Admin wallets",
"isComplete": true,
"detail": null
},
{
"id": "cardano.purchasing_wallet",
"label": "Purchasing wallet",
"isComplete": true,
"detail": null
},
{
"id": "cardano.payments_enabled",
"label": "Payments enabled",
"isComplete": true,
"detail": null
}
]
}
],
"Checks": [
{
"id": "cardano.payment_source",
"label": "Payment source",
"isComplete": true,
"detail": "Active Web3CardanoV2 source found"
},
{
"id": "cardano.contract_current",
"label": "Current contract",
"isComplete": true,
"detail": null
},
{
"id": "cardano.rpc_provider",
"label": "Blockfrost API key",
"isComplete": true,
"detail": null
},
{
"id": "cardano.admin_signatures",
"label": "Admin wallets",
"isComplete": true,
"detail": null
},
{
"id": "cardano.selling_wallet",
"label": "Selling wallet",
"isComplete": false,
"detail": "No selling wallet — the source cannot receive payments"
},
{
"id": "cardano.purchasing_wallet",
"label": "Purchasing wallet",
"isComplete": true,
"detail": null
},
{
"id": "cardano.payments_enabled",
"label": "Payments enabled",
"isComplete": true,
"detail": null
}
]
},
{
"rail": "X402",
"isReady": true,
"Checks": [
{
"id": "x402.enabled_chain",
"label": "Enabled chain",
"isComplete": true,
"detail": "eip155:84532"
},
{
"id": "x402.rpc_url",
"label": "RPC endpoint",
"isComplete": true,
"detail": null
},
{
"id": "x402.facilitator",
"label": "Facilitator",
"isComplete": true,
"detail": "Self-hosted facilitator wallet"
},
{
"id": "x402.selling_wallet",
"label": "Selling wallet",
"isComplete": true,
"detail": null
},
{
"id": "x402.purchasing_wallet",
"label": "Purchasing wallet",
"isComplete": false,
"detail": "Optional — needed only to pay other agents"
}
]
}
]
}
}Changes
- info
removed the
x402.budgetenum value from the/////response property for the response status - info
removed the
x402.budgetenum value from the///////response property for the response status
- info
- info
added the optional property
///to the response with the status
- info