Skip to main content
All three return at once; the money lands asynchronously. Poll GET /me, or GET /me/activity, whose inFlight lists payments and payouts not onchain yet.

Top up

  • Needs a verified account.
  • Minimum RM 5.00 ("500") or Rp 10,000 ("10000").
  • method: "card" limits the checkout to cards; anything else shows every channel.
  • After paying, Xendit sends the user back to https://app.matocard.xyz.

When it shows in GET /me

The hold follows the channel Xendit actually charged, not method.

Settle

Charges the whole debt (drawn) converted at the quote, rounded up. Once paid, the relayer calls repayFor, which closes the cycle and moves the score. 400 nothing is owed when drawn is 0.

Cash out

The user signs an ERC-3009 transfer to the treasury, then the backend takes the AUSD and pays rupiah to the bank.
  • Only a USD/IDR quote; at least Rp 10,000.
  • signTransfer is in Gasless sends.
  • The payout shows in inFlight until Xendit confirms it.

Testing

Xendit runs in test mode on both accounts:

Webhooks (operators)

Both Xendit accounts post to https://api.matocard.xyz/webhooks/xendit. The x-callback-token header says which account is calling. Each delivery is recorded once; replays answer duplicate.