LIVE · STATUS
USDC/USD 1.0000 GATEWAY ▲ ONLINE PAYOUTS ▲ INSTANT KYC ✕ NONE KYB ✕ NONE CHARGEBACKS ✕ DISABLED NETWORKS POLYGON · ETH · BSC · TRC20 CARDS ▲ VISA · MC · AMEX USDC/USD 1.0000 GATEWAY ▲ ONLINE PAYOUTS ▲ INSTANT KYC ✕ NONE KYB ✕ NONE CHARGEBACKS ✕ DISABLED NETWORKS POLYGON · ETH · BSC · TRC20 CARDS ▲ VISA · MC · AMEX
Open access · No signup · No KYC · No API keys · Drop in your USDC Polygon wallet and start accepting cards today.
ON-CHAIN NO LOGIN REAL-TIME

Track payouts.

Paste your USDC payout wallet (the same one you put into the gateway settings or payment-link generator) to see every settlement land on-chain. No login, no API key — payouts are public on the block explorer.

Check your payout wallet

Pick the network your wallet receives on (Polygon by default for USDC), paste the wallet address, and we'll open it on the right block explorer.

Explorer link will appear here.
— WHAT YOU'LL SEE

Every settlement, on-chain.

  • Incoming USDC transfers — each customer order shows up as a separate transfer to your wallet.
  • Sender address — the temporary tracking address Risksless used to forward the funds.
  • Tx hash & timestamp — verifiable, immutable, and final.
  • Balance — your running USDC total in real time.
Want event-driven tracking? Pass a callback URL when you mint the tracking address — Risksless will GET your URL with the settlement details the moment payment confirms. See the API docs.
Payment not showing yet? Confirmations take seconds on Polygon/BSC/Solana, a couple of minutes on Ethereum or Bitcoin. Refresh the explorer page after the appropriate wait.

What arrives at your URL.

When the tracking address receives funds and the required confirmations clear, we GET your callback URL with these query params. Persist them — this is your source of truth.

GEThttps://yoursite.com/webhook?order=42                  # your own query params pass through
  &address_in=0x8f2a91c84e3d…   # the tracking address
  &address_out=0xYourWallet
  &value_coin=99.00         # amount received in the coin denomination
  &coin=usdc
  &txid_in=0x9af2c1…        # customer → address_in
  &txid_out=0xbc77d2…       # address_in → your wallet
  &confirmations=3

Return 2xx within 10 seconds or the callback will be retried. Always verify address_out matches the wallet you expected — it protects against replay or misrouting.

Correlate orders on your side.

Because tracking is event-driven, you own the status table. Two patterns work well.

Pattern 1 — Query-string correlation

// When creating the tracking address, embed your order ID in the callback URL
const callback = encodeURIComponent(`https://yoursite.com/webhook?order=${orderId}`);
const res = await fetch(
  `https://api.risksless.com/control/wallet.php?address=${payoutWallet}&callback=${callback}`
);
const { address_in } = await res.json();
// Store (orderId, address_in) so you can mark the order paid when the callback fires.

Pattern 2 — address_in as the key

// Index orders by address_in directly — the callback always includes it
app.get('/webhook', (req, res) => {
  const { address_in, value_coin, coin, txid_out } = req.query;
  const order = db.orders.findOne({ address_in });
  if (!order) return res.status(404).send('unknown');
  order.markSettled({ amount: value_coin, coin, txHash: txid_out });
  res.status(200).send('ok');
});

Callback not arriving?

Common causes: your callback URL isn't publicly reachable, it returned non-2xx, or it wasn't URL-encoded when passed to /control/wallet.php. WhatsApp support can pull a specific address_in and confirm whether it saw a payment and what it tried to call back.

OPEN WHATSAPP SUPPORT