What is Sandbox Mode?
Sandbox mode runs against BSC testnet (chain ID 97) with a test USDT token (sUSDT) deployed by Paychainly. The platform treasury wallet initiates transfers directly — no external listener required. Your webhooks fire with real events, but no real money moves.
Step 1 — Configure Sandbox in Dashboard
Navigate to Settings → Network and toggle Sandbox Mode. The dashboard will show a yellow "SANDBOX" banner.
Step 2 — Deploy the Test Token (Self-hosted)
If you are running Paychainly locally, deploy the sandbox USDT contract:
cd contracts/
npm run deploy:testnet
# Copy the contract address to .env:
# SANDBOX_USDT_CONTRACT_ADDRESS=0x...
Step 3 — Credit a Test Payment
In sandbox mode, trigger a synthetic payment via:
POST /api/sandbox/credit
{
"depositAddress": "0xYourDepositAddress",
"amount": "100.00"
}
This simulates a real USDT transfer and fires all downstream events: webhook, payment confirmation, and sweep.
Step 4 — Verify Webhook Delivery
Use a tool like webhook.site during development to inspect the payload structure before writing your handler.
Switching to Production
Toggle sandbox off, update SANDBOX_USDT_CONTRACT_ADDRESS to blank, and ensure GAS_WALLET_PK holds real BNB.