---
updatedAt: 2026-08-07T01:39:03.000Z
agentTools:
  projectIndex: https://docs.onechain.nexus/llms.txt
---

# ONE Shop

Buy in-game items with one sentence. Drives the cross.shop game web-shop (rohan2 / seal-m / rom) and pays on-chain in CROSS or BNB.

<br />

<Callout icon="✨" theme="default">
  ### **Buy in-game items with one sentence.**

  Drives the [cross.shop](https://www.cross.shop) game web-shop platform and its per-game subdomains `rohan2.cross.shop`, `seal-m.cross.shop`, `rom.cross.shop`. Browse catalogs, log in with a Game UUID, and pay on-chain in CROSS or BNB.
</Callout>

***

## 1. Install

The block below is a **natural-language prompt to paste into your AI agent** — not a terminal command.

```text Paste-into-agent prompt
Clone https://github.com/to-nexus/skill-cross-shop into a temporary directory and run the install.sh script inside it to install the cross-shop skill into my environment. Tell me the result in one line when you're done.
```

<Callout icon="🚧" theme="warn">
  ### **Bash execution required.**

  Browser-only agents can't run the on-chain payment leg. See §2.
</Callout>

<Callout icon="📘" theme="info">
  ### **Most subcommands need a one-time capture.**

  `games` runs end-to-end today. `products` / `login` / `quote` / `purchase` / `orders` / `status` short-circuit with `phase_1_not_captured` until you (or your agent) follow `skills/cross-shop/references/cross-shop.md` to populate `references/games.json`.
</Callout>

### Install all ONE skills at once

```text Paste-into-agent prompt
Clone https://github.com/to-nexus/cross-skills-suite into a temporary directory and run the bootstrap.sh script inside it to install every ONE skill into my environment. Tell me which skills succeeded and which failed.
```

***

## 2. Where it runs

### ✅ Supported · CLI agents with Bash access

Claude Code (CLI) · OpenClaw · Cursor Composer · Codex CLI · Aider · Goose · Gemini CLI · OpenInterpreter · any other Bash-capable CLI.

### ❌ Not supported · Browser / hosted only

Claude.ai (web) · ChatGPT (web) · Gemini (web) · Copilot Chat (web). The on-chain payment leg uses `viem` and cannot run in those environments.

***

## 3. What you can do

### Read

| Subcommand    | What it does                                            |
| ------------- | ------------------------------------------------------- |
| 🟢 `games`    | List supported game shops (rohan2, seal-m, rom).        |
| 🟢 `products` | Browse a game's product catalog.                        |
| 🟡 `orders`   | Read your order history (auth required).                |
| 🟡 `status`   | Poll a single order to terminal delivery state.         |
| 🟢 `quote`    | Quote a purchase against a payment rail before signing. |

### Auth & write

| Subcommand    | What it does                                                                    |
| ------------- | ------------------------------------------------------------------------------- |
| 🟣 `login`    | Exchange a Game UUID for a session token (persisted at rest as `sha256(uuid)`). |
| 🔴 `purchase` | Execute purchase end-to-end on `--pay CROSS` or `--pay BNB`.                    |

<Callout icon="✅" theme="okay">
  ### **Auth bands.** 🟢 Read · 🟡 Read · auth — 🔴 Write · signs tx — 🟣 Write · off-chain auth.
</Callout>

***

## 4. Try it

<Callout icon="💬" theme="default">
  ### **Any natural language works.** Examples below are in English; phrase your intent in whichever language you prefer — the agent forwards your intent, not the wording.
</Callout>

```text Example prompts
List available games on cross.shop
Show me rohan2 products
Buy weekly costume from seal-m with BNB
Pay with CROSS for this ROM item
Show my cross.shop order history for rohan2
Poll order 7891 until it ships
```

***

## 5. Command reference

| command    | args                                                | auth         | mutation        | description                   |
| ---------- | --------------------------------------------------- | ------------ | --------------- | ----------------------------- |
| `games`    | —                                                   | —            | read            | List supported games.         |
| `products` | `<game>`                                            | —            | read            | Catalog for one game.         |
| `login`    | `<game> --uuid <UUID> [--persist]`                  | UUID         | off-chain write | Exchange UUID for session.    |
| `quote`    | `<game> <productId> --pay <CROSS\|BNB>`             | session      | read            | Back-end quote — no signing.  |
| `purchase` | `<game> <productId> --pay <CROSS\|BNB> [--confirm]` | PK + session | tx              | Full purchase + on-chain pay. |
| `orders`   | `<game> [--limit N]`                                | session      | read            | Your order history.           |
| `status`   | `<game> <orderId> [--watch <sec>]`                  | session      | read            | Poll a single order.          |

Exit codes: `0` ok · `1` runtime · `2` user error · `3` `phase_1_not_captured`.

***

## 6. Safety & credentials

<Callout icon="🛑" theme="error">
  ### **This skill signs on-chain transactions.**
</Callout>

| Rail                      | What it does                                                                                                    |
| ------------------------- | --------------------------------------------------------------------------------------------------------------- |
| **Required credentials**  | `PRIVATE_KEY` (EOA) for `purchase`. Game `UUID` for `login` / authenticated reads. Both are treated as secrets. |
| **Chain-id check**        | `--pay CROSS` → chain `612055`. `--pay BNB` → chain `56`. Mismatch → abort.                                     |
| `MAX_PURCHASE_NOTIONAL`   | Per-purchase USD cap (default `100`). Aborts above.                                                             |
| `CONFIRM_THRESHOLD`       | Purchases above this USD value (default `10`) require explicit `--confirm`.                                     |
| `MIN_GAS_NATIVE`          | Payment-chain native floor (default `0.001`). Set `0` to skip.                                                  |
| `RECEIPT_TIMEOUT`         | Seconds to poll delivery after on-chain confirm (default `120`).                                                |
| **Fresh-quote binding**   | Refuses to sign with a stale `paymentTarget`.                                                                   |
| **Phase-1 capture guard** | Aborts with `phase_1_not_captured` instead of fabricating a fake call.                                          |

<Callout icon="💡" theme="default">
  ### **Hosted-agent tip.** Use a disposable wallet. Session tokens are written to `~/.claude/skills/cross-shop/.sessions/<game>.json` at mode `0600` — readable only by your user.
</Callout>

***

## 7. Troubleshooting

<Accordion title="phase_1_not_captured on every command except games." icon="fa-info-circle">
  Your agent hasn't filled `references/games.json` yet. Ask the agent: _"Open_`skills/cross-shop/references/cross-shop.md`_&#x20;and walk me through the Phase-1 capture for rohan2"_.
</Accordion>

<Accordion title="unknown_game" icon="fa-info-circle">
  The slug isn't in the registry. Currently registered: `rohan2`, `seal-m`, `rom`.
</Accordion>

<Accordion title="unsupported_rail_v0_1 on --pay CARD." icon="fa-info-circle">
  Hosted-checkout / 3DS card payment is deferred to v0.2. For now, finish a card purchase in the browser.
</Accordion>

<Accordion title="Payment confirmed but delivery is still pending." icon="fa-info-circle">
  The skill returns `{ok:true, deliveryStatus:"pending", txHash, orderId}` with an explorer link. The back-end usually delivers within `RECEIPT_TIMEOUT` seconds; if not, re-poll with `status <game> <orderId>`.
</Accordion>

<Accordion title="The agent says awaiting_confirm." icon="fa-info-circle">
  You hit `CONFIRM_THRESHOLD` (default $10 USD). Re-issue with explicit confirmation.
</Accordion>