Reloadpi — Order status and refund schema
Reloadpi — Order status and refund schema. Returns the fulfillment state machine, polling URL, and refund endpoint for any paid order.
1000 (raw units)
price
8
calls / 30d
3
unique payers
2026-09-11
updated
Provider
api.reloadpi.com · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x8a598A28a435Fe44D31854251b1c88d0781ea822",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "1000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {
"orderId": "uuid-here"
},
"type": "http"
},
"output": {
"example": {
"delivery": {
"iccid": "8943108167002078039",
"qrCodeUrl": "data:image/png;base64,..."
},
"fulfillment_deadline": "2026-05-09T13:35:00Z",
"orderId": "550e8400-e29b-41d4-a716-446655440000",
"poll_again": false,
"poll_url": null,
"productType": "esim",
"refund_contract": {
"auth_model": "txHash proves payment origin — only the original payer received it",
"description": "POST refund_url with txHash to prove you are the original payer. txHash is returned in the purchase response.",
"error_cases": {
"403": "txHash missing or does not match order",
"409": "Order not in refundable state (FULFILLED orders cannot be refunded)",
"410": "Refund window expired",
"409 duplicate": "Refund already requested for this order"
},
"example_request": {
"body": {
"txHash": "0xdeaed418b8b052da65969d9c299d341681bfc314cb6731344d7d4d3fac0622a8"
},
"headers": {
"Idempotency-Key": "9c2f1a3b-4d5e-6f7a-8b9c-0d1e2f3a4b5c"
},
"method": "POST",
"url": "/api/catalog/orders/:orderId/refund"
},
"example_response": {
"ok": true,
"refund_amount_usdc": 2.59,
"refund_deadline": "2026-05-10T13:35:00Z",
"refund_status": "pending"
},
"required_body": {
"txHash": "0x... (from purchase response)"
},
"required_headers": {
"Idempotency-Key": "your-unique-uuid"
},
"security_model": "txHash + state gate — FULFILLED orders cannot be refunded regardless of txHash"
},
"refund_deadline": null,
"refund_eligible": false,
"refund_policy": "auto_on_fail",
"refund_url": null,
"status": "FULFILLED",
"txHash": "0xdeaed418b8b052da65969d9c299d341681bfc314cb6731344d7d4d3fac0622a8"
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"orderId": {
"description": "Order ID returned in purchase response",
"type": "string"
},
"txHash": {
"description": "On-chain tx hash for lost-200 recovery",
"type": "string"
}
},
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://api.reloadpi.com/api/catalog/esims/orders/info" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://api.reloadpi.com/api/catalog/esims/orders/info");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://api.reloadpi.com/api/catalog/esims/orders/info")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/4902.json, and this resource appears in /discovery/resources and /discovery/search.