# X402 Pay

> Pay one x402 challenge through Runx Hosted with approval and paid-resource readback.

- Skill: `runxhq/x402-pay` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add runxhq/x402-pay`
- Raw SKILL.md: https://api.skillmd.com/api/skills/runxhq/x402-pay/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: runxhq (https://skillmd.com/u/runxhq)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/runxhq/x402-pay

---


# X402 Pay

`x402-pay` is the public x402 buyer contract. `settle` submits the exact payment
signal once, and `readback` performs one observation of that durable payment and
resource. The default `pay` runner composes both and requires immediate terminal
readback, while durable callers compose `settle` once and re-enter `readback`
through Runx's external-job scheduler.

Runx Hosted owns challenge validation, authority attenuation and reservation,
wallet or facilitator credentials, payload signing, settlement recovery,
finality, and the private ledger. The connector never sleeps or polls; durable
continuation cadence belongs to Runx scheduling. OSS contains the public
v1 Runx contract and generic provider-effect gate only. References to x402
protocol version 2 in upstream conformance material describe the external
standard, not a Runx v2 contract.

## Operator guide

Use this skill for one exact HTTPS resource already named by a hosted x402 grant.
The resource request carries bounded inline control data or artifact references;
large documents and media never travel as oversized graph values. The hosted
buyer accepts external x402 V2 only, signs and stages the payload before the paid
POST, and reuses those exact bytes after an uncertain response.

Stop on malformed or expired requirements, amount/currency/payee/resource drift,
incomplete authority, missing approval, or inconsistent paid-resource readback.
Never pass wallet keys, seed phrases, bearer tokens, or facilitator credentials
in skill input. A 2xx response is not finality: the readback must return the
provider transaction, confirmed chain block, and the paid resource's terminal
Runx receipt reference.

