Stablecoin Checkout docs
v1.0.0
Live demoOperator console demo Get help
● Start · 15 minutes

Quick start
a devnet payment on your computer.

The shortest way from the ZIP to a paid demo invoice on Solana devnet, with the operator console open next to it. It assumes Node.js and pnpm are installed; if not, do Requirements first.

01Before you start

  • node -v prints 20.6 or newer (22 recommended).
  • pnpm -v prints 10.x. If pnpm is missing, run corepack enable.
  • You have a Solana wallet on devnet (Phantom or Solflare, switched to Devnet). Its public address will receive the demo fee.
  • A second devnet address that receives the demo payments (a second account in the same wallet is fine).
Devnet only

Everything on this page uses Solana devnet and test tokens. No real money moves. https://api.devnet.solana.com is Solana's public, keyless devnet endpoint: rate-limited, fine for a trial.

02The fifteen minutes

  1. Install packagesFrom the project folder:
    pnpm install
  2. Write the server settingsThe setup script writes apps/server/.env (mode 0600) and prints the generated operator key once. Keep it.
    pnpm run setup -- --target local --demo --port 8787 \
      --solana-rpc https://api.devnet.solana.com \
      --operator-solana <YOUR devnet wallet address> \
      --web-origin http://127.0.0.1:4173 --yes
  3. Build everythingThis also compiles the Solidity router; Hardhat downloads the solc compiler on first use.
    pnpm run build
  4. Start the serverLeave this terminal open.
    pnpm start                # API on http://127.0.0.1:8787
  5. Build and serve the checkoutIn a second terminal:
    VITE_API_URL=http://127.0.0.1:8787 pnpm run build:web -- --out web-local
    npx serve -s web-local/checkout -l tcp://127.0.0.1:4173
  6. Create the demo merchantIn a third terminal. --credit 50 adds demo fee credit so the checkout also offers exchange pay. The script reads the operator key from apps/server/.env.
    pnpm run demo:reset seed --merchant-solana <a devnet address that receives demo payments> --credit 50
  7. PayOpen http://127.0.0.1:4173/demo, add items, press pay and approve in your devnet wallet. You need devnet SOL (faucet.solana.com) and devnet USDC (faucet.circle.com, choose Solana Devnet).
Why pnpm run setup and not pnpm setup?

pnpm setup and pnpm licenses are pnpm's own built-in commands. Always type run for this project's setup and licenses scripts.

03What you should see

  • curl -s http://127.0.0.1:8787/health answers {"ok":true,"chains":[...]} with solana-devnet in the list.
  • The first server log lines list what is disabled and why (for example Base without an RPC, and sanctions screening without a list). That is expected on a trial.
  • The checkout shows a DEMO banner, the amount, a countdown, and the tabs Pay with wallet and Pay from exchange.
  • After you approve, the status goes pending → confirming → paid, and the public status page links to the transaction in the explorer.
Checkout on a phone: amount due, network Solana devnet, Pay with wallet
Wallet pay
Checkout on a phone: exact amount to send from an exchange
Exchange pay
Checkout on a phone: payment confirmed
Paid
Public status page on a phone
Status page

04Open the operator console

The server also serves the console at http://127.0.0.1:8787/admin/. On the first start the server log prints a one-time setup code: "No owner account yet. Open /admin and create it with this one-time setup code". Use it to create the owner account. Restarting the server before you use it issues a new code.

Next

Continue with Installation for a proper setup on a server, or read Operator console to see every section.