Refund flow

Created by Mayank Singhal, Modified on Sat, 11 Jul at 6:22 PM by Mayank Singhal

Question:


Is there a refund/reversal API? How does the flow work when:

  • The payout fails after we've already received the user's funds;

  • Client fraud occurs;

  • The reference is wrong or missing;

  • Disputes or chargebacks arise.

Also:

  • Under what conditions does a refund happen automatically vs. requiring manual trigger? (e.g., automatic on bank rejection, manual via API, manual via support)

  • When a refund occurs, what happens to the crypto/stablecoin side of the transaction? Are the tokens automatically credited back to our account, or do we need to request that separately?

  • Is there an API endpoint to trigger a refund manually?

  • What are the possible failure/refund reasons returned? (e.g., wrong account, bank rejection, compliance hold, beneficiary name mismatch)

Why this matters for us: we need to understand the exact refund behavior to design our recovery flow and avoid double-crediting the end user on our side.


Answer:


Failed or returned payouts (invalid account, bank rejection): funds automatically return to the originating account and a failed/returned webhook fires with the bank's reason code (e.g. ACH return codes). Because fiat payouts are funded from your USDC balance, a failed fiat payout re-credits the stablecoin side automatically — no separate request needed.

Manual cases (client fraud, wrong/missing reference, disputes): refunds are triggered via API as a payout back to the originator, with a support/compliance escalation path for held funds. Surfaced reasons include bank return codes, compliance_hold, invalid_account, and beneficiary name mismatch. 

Note there is no card-style chargeback exposure on these rails — ACH pull is intentionally not enabled.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article