Page cover
For the complete documentation index, see llms.txt. This page is also available as Markdown.

POST /transaction/redeem-request

Use this API to request a IDRX redeem transaction.

Check out this page to see the list of chains where IDRX is available and this page to see the list of supported other stablecoins.

  • Minimum transaction:

    • Redeeming IDRX is Rp20,000 IDR

    • Redeeming other stablecoins are $2 USD

  • Maximum transaction:

    • Redeeming other stablecoins are 5,555 USD

    • For large IDRX amounts, send your request to support@idrx.co to be processed.

  • bankAccount must belong to the account holder of the API key, or, when memberId is sent, be an account registered on that organization user. IDRX is not responsible if a redeem error occurs due to an incorrect bank/e-wallet account number.

How a redeem is processed

  1. You burn IDRX on-chain from your own wallet and submit the transaction hash together with the destination bank account.

  2. IDRX confirms the burn on-chain (status PENDING → REQUESTED). A burn that cannot be confirmed within 2 hours is marked FAILED; no IDR is sent.

  3. The payout is released by IDRX after review, not automatically at burn time. Until it is released the redeem stays in REQUESTED (or ACTION_REQUIRED). This is normal and needs no action from you.

  4. Once released, the bank transfer is sent in real-time through BI-FAST (below Rp250,000,000) or through RTGS during banking hours (Rp250,000,000 and above). See Fees for the fee per rail.

Payouts are released within 24 hours of the burn being confirmed. A burn cannot be cancelled or reversed after it is sent.

Parameters

  1. txHash (String):

    This parameter is the transaction hash for the burning transaction of the token.

  2. networkChainId (String):

    This parameter identifies the blockchain network on which the redemption transaction occurred.

  3. amountTransfer (String):

    This parameterspecifies the amount of fiat currency that was transferred as part of the redemption process. It represents the monetary value equivalent to the redeemed stable tokens.

  4. bankAccount (String):

    This parameter is the bank account number provided by the user or recipient, where the fiat funds are received after the redemption process.

  5. bankCode (String):

    This parameter represents the code associated with the recipient's bank. It is used to identify the specific bank where the provided bankAccount is held. Please use the Get Methods API to get a list of bank codes and bank names

  6. bankName (String):

    This parameter refers to the name of the recipient's bank. Please use the Get Methods API to get a list of bank codes and bank names

  7. bankAccountName (String):

    This parameter represents the name associated with the recipient's bank account. It specifies the legal or account holder's name for the provided bank account number.

  8. walletAddress (String):

    This parameter is the recipient's blockchain wallet address. While the fiat funds are sent to the bank account, this parameter provides the corresponding blockchain wallet address, allowing cross-verification and transparency.

  9. notes (String):

    When redeeming to a bank account with a different account holder name than your IDRX account, please fill in this parameter to describe the reason or purpose of the transaction.

  10. memberId (Number, optional):

    Organization keys only. The id of one of your organization users (from Onboarding). The redeem request is submitted for that user: the burn must come from that user's wallet, and bankAccount + bankCode must match a bank account registered on that user through Add Bank Account; the registered account is used for the payout, whatever bankName and bankAccountName say. An account that is not registered on the user is rejected with 400 bank account is not registered on this member, and a user that is not a verified user of your organization with 400 memberId is not a member of your organization. Omit memberId to redeem for the key holder.

Example Request

Payload

Response

If the request is successful, the response will be as shown below:

Retrying safely

Each burn transaction can only be redeemed once. If you submit a txHash that has already been redeemed, the request does not fail and does not create a second redeem — it returns 200 with a different shape:

This makes retries safe: if a request times out and you are unsure whether it went through, resubmit the same txHash. Check for data.alreadyExists to tell a fresh redeem (201) from a replay (200), and use redeemRequestId to look up the original.

To check the status of your transaction, you can use the Transaction History API.

Last updated