Skip to main content
My Crypto Server is non-custodial — you provide the seed phrase that generates all deposit addresses, and you control where funds are swept after payment.

Setup wizard

After creating your owner account at /setup (see Authentication) and signing in, you’ll be guided through the onboarding wizard:
  1. Generate or import a seed — generate a new BIP-39 mnemonic in the wizard, or import an existing one from a hardware wallet.
  2. Verify addresses — the wizard derives the first 3 addresses and shows them. Verify these match your hardware wallet or MetaMask for the same mnemonic.
  3. Configure payout addresses — set the destination address for each chain type.
On a demo deployment (IS_DEMO_SITE=true), payout addresses are fixed and read-only. See Authentication → Demo mode.

Security

Your seed phrase is:
  • Never stored in plaintext. The wizard encrypts it with AES-256-GCM using a key derived from your MASTER_PASSPHRASE.
  • Only decrypted on the server, in memory, when needed for address derivation or transaction signing.
  • Never sent to the frontend.

MASTER_PASSPHRASE

MASTER_PASSPHRASE is the encryption key for your seed. Set it in your environment variables as a strong random string (32+ characters).
Back this up securely. If you lose MASTER_PASSPHRASE, you cannot decrypt the seed and will lose access to all deposit addresses and their funds.

Payout addresses

After setup, configure a payout address for each chain type you want to accept. Funds swept from deposit addresses go here. You can use a hardware wallet address, a multi-sig, or any address you control. The payout address is validated before each sweep — a malformed address causes the sweep to fail with a payout_misconfigured notification rather than silently sending to a wrong address. For mainnet, use a hardware wallet (Ledger, Trezor) to hold the seed. Import the seed into the setup wizard, then verify the derived addresses on the device. The seed remains encrypted in the database; sweeps sign transactions in-memory on the server.

Changing the payout address

You can update payout addresses at any time in Settings → Wallet. The change takes effect for the next sweep. In-flight sweeps (stage broadcasting or later) use the address that was set when they started.

After entering the seed

  • Create a payment link and open the checkout URL.
  • Pay a small test amount on testnet.
  • Confirm the session reaches paid in the dashboard.
  • Verify the sweep lands in your payout wallet.