Cryout

API

Base: http://127.0.0.1:43127. Machine index: GET /api. Full markdown: docs/API.md

  1. Admin: add receive wallets (one default per asset you accept)
  2. POST /api/shop/checkout with cart fiat — with asset (shop chose) or without (buyer chooses on Cryout)
  3. Redirect buyer to checkoutUrl
  4. Poll GET /api/shop/checkout/:id until status: completed — save confirmationId
MethodPathWhat
GET/apiCatalog + enums
POST/api/shop/checkoutShop pay session → checkoutUrl (no walletId)
GET/api/shop/checkoutList shop sessions + accept assets
GET/api/shop/checkout/:idShop session + QR / mint
POST/api/shop/checkout/:id/assetBuyer picks crypto (Mode B)
POST/api/shop/checkout/:id/verifyVerify shop payment on-chain
POST/api/admin/loginAdmin login
GET/api/admin/sessionAdmin session
GET/api/providersList providers
GET/api/tokensToken mints (Solana USDT/USDC…)
POST/api/quoteQuote (auto / manual / all)
GET/api/walletsList receive wallets
POST/api/walletsCreate receive wallet
GET/api/wallets/:idGet wallet
PATCH/api/wallets/:idUpdate wallet
DELETE/api/wallets/:idDelete wallet
GET/api/settingsGet email settings
PUT/api/settingsSet email (required ops contact)
GET/api/ordersList orders
POST/api/ordersCard on-ramp order (ops)
GET/api/orders/:idGet order + outcome
POST/api/orders/:id/verifyVerify card on ephemeral address
POST/api/webhooks/onrampIndexer: ephemeral credit
GET/api/ephemeral/:id/sweepSweep fee + margin quote
POST/api/ephemeral/:id/sweepSweep to main wallet
PATCH/api/orders/:idAdmin force status
GET/api/confirmations/:idEsito by confirmationId
POST/api/depositsLow-level crypto pay (needs walletId)
GET/api/deposits/:idDeposit + QR
POST/api/deposits/:id/verifyVerify on-chain deposit
POST/api/webhooks/depositChain watcher webhook
PATCH/api/deposits/:idAdmin force status
GET/api/swaps/providersSwap providers (off by default)
POST/api/swaps/quoteSwap quote
GET/api/swapsList swaps
POST/api/swapsCreate swap → depositUrl
GET/api/swaps/:idGet swap + outcome
PATCH/api/swaps/:idUpdate swap status
curl -X POST http://127.0.0.1:43127/api/shop/checkout \
  -H 'Content-Type: application/json' \
  -d '{
    "fiatAmount": 49.99,
    "fiat": "EUR",
    "asset": "USDT",
    "email": "buyer@shop.com",
    "externalOrderId": "ORD-1001",
    "returnUrl": "https://yoursite.com/thanks"
  }'