Skip to main content
There is no manual refund endpoint — refunds on Tribridge are fully automatic. When a customer pays the wrong amount, Tribridge detects the mismatch, notifies you via webhook, and sends the refundable amount straight back to the payer’s wallet on-chain. You do nothing.

When refunds happen

Refunds always move the same asset that was received: SPL tokens for stablecoin payments on Solana (e.g. USDC), the same coin type on Sui, or the native SOL/SUI for native payments.

How it works, step by step

1

Mismatch detected

The detection engine matches the deposit against the expected amount. If it doesn’t match exactly, the payment is flagged and a payment.underpaid or payment.overpaid webhook fires with both the received and expected amounts.
2

Refund queued

Tribridge records the refund on the payment (refund_status: pending, plus the reason and amount) and fires it from the one-time deposit wallet back to the payer’s address.
3

Gas covered by the relayer

You and your customer never think about gas. For token refunds the deposit wallet’s native balance covers fees; for native SOL/SUI refunds a tiny gas buffer is kept back (5,000 lamports on Solana, ~0.003 SUI on Sui) and the rest is refunded. If the amount is too small to cover its own gas, the refund is marked failed rather than burning the funds.
4

Completion recorded

On success the payment stores refund_status: completed with the refund transaction hash. Failures are retried automatically (up to 5 attempts) — a stuck refund recovers on its own once the wallet can pay gas.

Tracking refund status

Each payment carries refund fields you can inspect from the dashboard, activity log (refund.requested, refund.completed, refund.failed events), and your webhooks:

What you should build

  • Handle payment.underpaid and payment.overpaid in your order logic — never assume the received amount equals the invoiced amount.
  • Treat a mismatch as “not paid”: don’t fulfill the order on an underpaid event; on an overpaid event, fulfill for the invoiced amount and let the surplus refund run.
  • Show customers their refund transaction hash from the dashboard if they ask where their money went.