πŸ”₯ 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:

FieldTypeRequiredDescription
assetIdstringβœ…Public ID of the asset to burn
walletIdstringβœ…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:

FieldTypeRequiredDescription
bankAccountIdstringβœ…Public ID of the virtual account where fiat AUD will be settled
currencystringβœ…Only "AUD" is supported
walletIdstringβœ…Public ID of the external wallet used in the transfer
assetIdstringβœ…Public ID of the AUDD asset
assetAmountfloatβœ…Amount of AUDD transferred
blockchainTxIdstringβœ…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 FAILED response, please contact our support team immediately for further instructions.