π₯ Burn AUDD
How to remove AUDD from circulation and redeem the equivalent amount of AUD.
Burning AUDD is the process of removing AUDD from the ecosystem in exchange for the equivalent value in AUD. Once burned, the AUDD supply decreases, and the redeemed AUD becomes available in your virtual account for withdrawal or reuse.
π³ Funding your Burn Wallet
Because the AUDD Mint is non-custodial, you must first send AUDD from your own external wallet to a burn wallet within the AUDD Mint. This ensures we can confirm with certainty your intention to burn.
External Wallet Validation:The AUDD Mint will only recognise AUDD sent from an external wallet that has been previously registered to your Company. Visit the External Wallet Management guide for more information.
To obtain your burn wallet, make a GET /trades/burn-wallet/{assetId}?walletId={WalletId} request to retrieve the burn wallet public address with the following request body parameters:
| Field | Type | Required | Description |
|---|---|---|---|
assetId | string | β | Public ID of the asset to burn |
walletId | string | β | Public ID of the external wallet you will be sending AUDD from |
The API response will include the wallet address you will be required to send your AUDD to. This can be lodged as a standard withdrawal or transfer with your wallet service provider. Once the transaction has been successfully submitted, ensure that you save the transaction hash or transaction ID of the transfer, as this will be required for the next step.
π Initiating the Burn Request
Once your AUDD has been successfully transferred, initiate the burn by making a POST /trades/sell request with the following JSON body:
| Field | Type | Required | Description |
|---|---|---|---|
bankAccountId | string | β | Public ID of the virtual account where fiat AUD will be settled |
currency | string | β | Only "AUD" is supported |
walletId | string | β | Public ID of the external wallet used in the transfer |
assetId | string | β | Public ID of the AUDD asset |
assetAmount | float | β | Amount of AUDD transferred |
blockchainTxId | string | β | Transaction Hash of the AUDD transfer |
Burn timing depends on the blockchain and may take from a few seconds to several minutes, depending on network congestion.
π€ Example Request
curl -X POST https://distributor-api-staging.audd.digital/trades/sell \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
--data '{
"bankAccountId": "bank_account_id",
"walletId": "wallet_id",
"assetId": "asset_id",
"assetAmount": 1,
"currency": "AUD",
"blockchainTxId": "blockchain_tx_hash"
}'const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "β’β’β’β’β’β’");
const raw = JSON.stringify({
"bankAccountId": "bank_account_id",
"walletId": "wallet_id",
"assetId": "asset_id",
"assetAmount": 1,
"currency": "AUD",
"blockchainTxId": "blockchain_tx_hash"
});
const requestOptions = {
method: "POST",
headers: myHeaders,
body: raw,
redirect: "follow"
};
fetch("https://distributor-api-staging.audd.digital/trades/sell", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));π₯ Example Response
{
"id": "trade_id",
"type": "SELL",
"distributorCompany": {
"id": "company_id",
"name": "company_name",
"types": "type"
},
"totalPrice": 1,
"currency": "AUD",
"payment": {
"id": "payment_id",
"source": {
"id": "source_wallet_id",
"nickname": "source_wallet_nickname",
"publicKey": "source_wallet_public_key_on_chain",
"company": {
"id": "source_wallet_company_id",
"name": "source_wallet_company_name",
"types": null
},
"status": "ACTIVE",
"network": "STELLAR_TESTNET",
"link": null,
"type": null,
"custody": null,
"reference": "reference"
},
"destination": {
"id": "destination_wallet_id",
"nickname": "destination_wallet_nickname",
"publicKey": "destination_wallet_public_key_on_chain",
"company": {
"id": "destination_wallet_company_id",
"name": "destination_wallet_company_name",
"types": null
},
"status": "ACTIVE",
"network": "STELLAR_TESTNET",
"link": "destination_wallet_on_chain",
"type": null,
"custody": null,
"reference": "reference"
},
"asset": {
"id": "asset_id",
"code": "AUDD",
"description": null,
"type": null,
"issuer": {
"id": "issuer_wallet_id",
"nickname": "issuer_nickname",
"publicKey": "issuer_public_key_on_chain",
"company": {
"id": "issuer_company_id",
"name": "Dexah Advisory",
"types": null
},
"status": "ACTIVE",
"network": "STELLAR_TESTNET",
"link": null,
"type": null,
"custody": null,
"reference": "reference"
},
"decimal": null,
"reference": null
},
"amount": 1,
"status": "PENDING"
},
"transactionId": "transaction_id"
}
Error Handling:Your request may return a 400 response if you have specified the incorrect virtual account (
Bank account not found), wallet ID (Wallet not found), or asset ID (Trade asset not found). If this occurs, it is safe to amend your request and try again.
β
Burn Validation
To check the status of your burn request, you can query the GET /transaction/{id} endpoint, or use the webhook notification system. A transaction status of DONE signifies that the burn was successful, with the equivalent AUD balance credited to the specified Virtual Account. From here, you can withdraw the AUDD to an external bank account, or submit a ne mint request for AUDD (if you are swapping chains).
Fail Responses:In the rare case your burn request returns a
FAILEDresponse, please contact our support team immediately for further instructions.
Updated 3 months ago
