API flow
Four REST steps: quote, create order, deposit and status. Or one SDK function that runs all four end to end.
A simple REST API: quote → order → status. Integrate with npm install @vkx/bridge and, if anything fails, the amount returns to the source wallet on its own.
You call the API; VKX handles routing, liquidity, gas and settlement. Quote, order, deposit and status — no contract, no node, no bridge to operate.
Four REST steps: quote, create order, deposit and status. Or one SDK function that runs all four end to end.
Leaving from Polygon, the deposit is gasless: your user only signs, with no MATIC needed for gas.
Normal delivers in 1 to 3 minutes; fast mode, via solver, delivers in under 1 minute. You choose per order or per key.
If an order cannot be completed, the amount returns to the source wallet on its own — no ticket to open.
The partner just plugs in: one API key, one call, and the USDT lands on the destination network.
No vague promises. These are the routes live in production today: sources on BSC and Polygon, with destinations across the main EVM networks.
| Source | Available destinations |
|---|---|
| BNB Chain (BSC) | Polygon · Arbitrum · Avalanche · Optimism · Ethereum · Base |
| Polygon | BNB Chain · Arbitrum · Avalanche · Optimism |
All routes move USDT, except the Base destination, which delivers USDC. Leaving from Polygon, the deposit is gasless. Minimum amount per order: about US$ 2.04 (US$ 10.12 when the destination is Ethereum, because of network gas).
Install the @vkx/bridge package, run init to store your key and use send to move USDT. The API key stays in an environment variable and never reaches client code.
npm install @vkx/bridge
npx @vkx/bridge init
npx @vkx/bridge send --from POL --to BSC --amount 100 --dest 0x...
One function does everything: creates the order, deposits and waits for completion. The signer is an ethers.Wallet connected to the source network.
const { bridge } = require('@vkx/bridge');
const { ethers } = require('ethers');
const signer = new ethers.Wallet(process.env.WALLET_KEY,
new ethers.JsonRpcProvider('https://polygon-bor-rpc.publicnode.com'));
const r = await bridge({
apiKey: process.env.VKX_API_KEY,
signer,
from: 'POL', to: 'BSC',
amount: '100',
toAddress: '0x...',
});
console.log(r.success, r.destinationTxHash);
You pay per completed order — the fee is already taken from the delivered amount. Two modes: normal and fast. No subscription, no monthly minimum.
The default: settlement in 1 to 3 minutes after the deposit is confirmed.
Via solver, for when time matters. Enable it per order (--speed express) or per key.
The fee is deducted from the delivered amount, not charged separately. Minimum amount per order: about US$ 2.04 — or US$ 10.12 when the destination is Ethereum, because of the network's higher gas.
Straight answers for anyone evaluating a USDT bridge via API.
Sign in with your Google account and the key is issued right away — no forms, no waiting. Still have questions? Talk to the team.