Clotho Quickstart — first payment in 5 minutes

Clotho is non-custodial: your keys never leave your hands. The server only ever sees your account xpub and derives per-order deposit addresses from it.

1. Register and set up your wallet (~2 min)

  1. Sign up at app.clotho.moira-e.com (email + verification).
  2. Open wallet-setup.clotho.moira-e.com — it generates a 24-word mnemonic in your browser (nothing is sent anywhere — the generator is open source, MIT; audit it or build it yourself). Write the words down, pass the confirmation quiz, and copy the two account xpubs (TRON + BSC).
  3. Dashboard → Wallets → register each xpub for the test environment.

Import the same mnemonic into TronLink or Trust Wallet at any time — every deposit lands in addresses your wallet controls.

2. Mint an API key

Dashboard → API keys → create a test key with scopes orders:write, orders:read. The full key (ck_test_...) is shown once.

3. Add a webhook endpoint

Dashboard → Webhooks → add your HTTPS endpoint. Store the whsec_... signing secret and verify every delivery — see the Webhooks guide.

4. Create an order

curl -s https://api.clotho.moira-e.com/api/v1/orders \
  -H "Authorization: Bearer ck_test_..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-0001" \
  -d '{
    "external_id": "order-0001",
    "chain": "tron",
    "amount_micro": 5000000,
    "metadata": {"player_id": "p_42"}
  }'

The response carries deposit_address and pay_url — send your customer to pay_url (hosted checkout with QR + countdown), or render the address yourself.

5. Get paid

When the transfer reaches finality depth (TRON: 19 blocks, ~1 minute) you receive payment.confirmed followed by order.paid webhooks, and GET /api/v1/orders/{id} shows "status": "paid".

Amounts are always micro-USDT integers (1 USDT = 1,000,000) on every chain — no decimals, no float surprises.

Going live

Live keys require KYB approval: Dashboard → submit your business details; once approved you can register live wallets and keys. The test environment indexes the public testnets (TRON Nile / BSC chapel), so the full flow is rehearsable with faucet funds.

Full API reference: openapi.yaml.