Discover Ghost payment requirements, execute real x402 calls, report x402 settlements, and run GhostWire quote/prepare/status flows for direct escrow.
Scanned 9/9/2026
Install to Claude Code
npx -y skills add Lord1Egypt/awesome-skill-forge --skill openclaw-ghost-pay --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Openclaw Ghost Pay?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/lord1egypt-openclaw-ghost-pay)More formats (shields.io, HTML) on the badges page.
---
name: openclaw-ghost-pay
description: Discover Ghost payment requirements, execute real x402 calls, report x402 settlements, and run GhostWire quote/prepare/status flows for direct escrow.
version: 1.5.0
metadata: {"clawdis":{"homepage":"https://github.com/Ghost-Protocol-Infrastructure/GHOST_PROTOCOL/tree/main/integrations/openclaw-ghost-pay","os":["darwin","linux","win32"],"requires":{"env":["GHOST_SIGNER_PRIVATE_KEY"],"bins":["node"]},"primaryEnv":"GHOST_SIGNER_PRIVATE_KEY","install":[{"id":"viem","kind":"node","package":"viem","label":"Install viem (required for settlement reporting)"}]}}
---
# OpenClaw Ghost Pay
Use this skill when an OpenClaw agent must:
1. Discover Ghost payment requirements for a service.
2. Execute a real `x402` request against a merchant endpoint.
3. Report a verified `x402` settlement back to Ghost for GhostRank.
4. Optionally run GhostWire quote/prepare/status flows.
This published skill bundle includes the helper scripts it references. Use `{baseDir}` when invoking them so the commands work after `clawhub install openclaw-ghost-pay`.
## Required environment
- `GHOST_SIGNER_PRIVATE_KEY` (required): trusted signing key for `x402` calls and settlement reporting.
Optional:
- `GHOST_OPENCLAW_BASE_URL` (default: `https://ghostprotocol.cc`)
- `GHOST_OPENCLAW_CHAIN_ID` (default: `8453`)
- `GHOST_OPENCLAW_SERVICE_SLUG` (optional default service slug)
- `GHOST_OPENCLAW_AGENT_ID` (optional default agent id for settlement reporting)
- `GHOST_OPENCLAW_X402_URL` (optional default merchant endpoint URL for `call-x402.mjs`)
- `GHOST_OPENCLAW_TIMEOUT_MS` (default: `15000`)
- `GHOSTWIRE_PROVIDER_ADDRESS`
- `GHOSTWIRE_EVALUATOR_ADDRESS`
- `GHOSTWIRE_PRINCIPAL_AMOUNT`
- `GHOSTWIRE_CLIENT_ADDRESS`
- `GHOSTWIRE_SPEC_HASH` (optional explicit override; otherwise derive from request)
- `GHOSTWIRE_REQUEST_PROMPT`
- `GHOSTWIRE_REQUEST_JSON`
- `GHOSTWIRE_REQUEST_WALLET`
- `GHOSTWIRE_REQUEST_METADATA_JSON`
- `GHOSTWIRE_METADATA_URI`
- `GHOSTWIRE_APPROVAL_MODE`
Never put private keys in prompts, plaintext config screenshots, or frontend output.
## Flow
### 1. Get payment requirements
```bash
node {baseDir}/bin/get-payment-requirements.mjs --service agent-18755
```
This calls Ghost read-only MCP and resolves:
- Express gate endpoint
- chain id
- request cost credits
- Ghost's canonical `x402` metadata block
### 2. Dry run a real x402 request
```bash
node {baseDir}/bin/call-x402.mjs --url https://merchant.example.com/ask --method POST --body-json "{\"prompt\":\"hello\"}" --dry-run true
```
### 3. Execute a live x402 request
```bash
node {baseDir}/bin/call-x402.mjs --url https://merchant.example.com/ask --method POST --body-json "{\"prompt\":\"hello\"}"
```
This helper runs the real `402 -> payment -> retry` flow against the merchant endpoint.
### 4. Report the verified settlement back to Ghost
```bash
node {baseDir}/bin/report-x402-settlement.mjs --agent-id 18755 --service agent-18755 --request-id req_123 --payment-reference 0xabc123 --payer-identity 0xpayer --amount-atomic 1000000 --success true --status-code 200
```
This is the step that makes successful `x402` usage visible to GhostRank.
## GhostWire flow
### 5. Get a GhostWire quote
```bash
node {baseDir}/bin/get-wire-quote.mjs --client 0x... --provider 0x... --evaluator 0x... --principal-amount 1000000
```
### 6. Create a GhostWire job from a quote
```bash
node {baseDir}/bin/create-wire-job-from-quote.mjs --quote-id wq_... --client 0x... --provider 0x... --evaluator 0x... --request-prompt "Roast my wallet honestly."
```
### 7. Poll GhostWire job status
```bash
node {baseDir}/bin/get-wire-job-status.mjs --job-id wj_... --wait-terminal true
```
## Safe usage rules
- Use only against approved Ghost service slugs and merchant-approved GhostWire roles.
- Do not log signer private keys.
- Prefer `--dry-run true` before the first live paid request in a new runtime.
- Treat `402` as a payment challenge or policy failure, not a transport failure.
- Treat GhostWire prepare output as sensitive transaction-prep data for the client wallet.
- For GhostWire, put the consumer task in `--request-prompt` / `--request-json`; keep `--metadata-uri` for the merchant deliverable locator.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!