Build against Blink on testnet using the public sandbox environment.
The Blink sandbox is a fully separate environment that runs on testnet. It has its own API, hosted flow, and merchant registry, and settles deposits on Base Sepolia and Sepolia instead of mainnet. Use it when you want to develop without real funds — for example during a hackathon or early prototyping.
Mainnet remains the recommended way to verify your integration. The sandbox runs on test networks with test liquidity, so it cannot prove production readiness. Before going live, complete the Testing flow with a small real deposit and work through the Production Checklist.
Pass environment: 'sandbox' when constructing the SDK. This points the hosted flow at https://pay-sandbox.blink.cash. An explicit webviewBaseUrl always takes precedence over environment.
import { Deposit } from '@swype-org/deposit';const deposit = new Deposit({ signer: '/api/sign-payment', environment: 'sandbox',});
Sandbox merchants are registered with the same flow as production, but against the sandbox API. Generate a key pair following Key Generation — use a dedicated key pair for sandbox, never your production key — and submit it to:
curl -X POST "https://api-sandbox.blink.cash/v1/merchants/applications" \ -H "Content-Type: application/json" \ -d '{ "email": "dev@yourapp.com", "domain": "yourapp.com", "publicKey": "-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----\n", "description": "Testing our Blink integration on the sandbox before going live." }'
Sandbox applications are approved automatically — the returned merchantId is active immediately, so you can wire it into your signer and start depositing right away.
One-tap deposits (connected wallet): Base Sepolia and Sepolia only. Cross-chain routing between the two works — for example, depositing Sepolia USDC to a Base Sepolia destination.
Manual transfers (send from an exchange or wallet): same-chain deposits only, on Base Sepolia and Sepolia. Cross-chain manual transfers are not supported on testnet.
There is no testnet USDT. Tether does not maintain official testnet deployments, so USDC stands in for all stablecoin flows in the sandbox — the integration surface is identical, and switching to mainnet USDT is a config change.
Sandbox deposits are significantly slower than mainnet. Testnet routing depends on test-network block times and solver liquidity, so expect completion times well beyond what you will see in production.