# System map

ShipW3 is one Cloudflare Worker on the free plan. The hostname chooses the job when ROLE is auto.

## Hosts

- shipw3.com is the showroom.
- pay.shipw3.com is checkout.
- demo.shipw3.com is the public demo. Payments stay off.
- A purchased store sets ROLE to store and STORE_ID to tradingview, telegram, boilerplates, or luts.

That choice lives in src/destination.ts.

```
ROLE=auto
```

## Orders and mail

Orders and the receipt queue live in D1. Matching an exact USDC transfer is in src/orders.ts. Receipts are queued in src/mail.ts and sent through the Resend free plan. The idempotency key is receipt/{orderId}. A cron check runs every minute. The pay page also checks while it is open.

> The USDC contract is the token mint. It is not a receiving wallet.

## Files and wallets

Product ZIPs ship as Static Assets under public/releases/v1. Do not enable R2. Enabling it asks for a payment method.

Solana checkout uses the operator wallet. Base stays hidden until SELLER_EVM is a wallet you control.

## Agents

Read this page before changing a store. The Cloudflare Docs MCP at https://docs.mcp.cloudflare.com/mcp is read-only platform knowledge. The Cloudflare API MCP at https://mcp.cloudflare.com/mcp uses OAuth, and a person confirms production changes. This product does not ship its own MCP server.