Trigger a BRL1 Token Issuance
Issue BRL1 stablecoins by transferring Brazilian Reais (BRL) from your Bitso account through Juno.
This article walks you through the process of triggering a BRL1 token issuance, ensuring the operation is seamless, secure and aligned with your requirements.
Minting BRL1 stablecoins is initiated by transferring Brazilian Reais (BRL) from your Bitso account through Juno via Bitso Transfer. This method allows you to issue BRL1 tokens directly without the need for traditional bank deposits.
Note: At this time, BRL1 issuance is only available through the API. Manual minting from the Juno UI is not currently supported.
Prerequisites
To trigger an issuance, your transfer amount must meet the following requirements:
- Sufficient BRL balance: You must have enough Brazilian Reais (BRL) in your Bitso account to cover the issuance amount. If you do not yet have BRL in your account, you can deposit funds via Pix or other supported pay-in methods. For details, see Brazil Pay-Ins.
- Minimum amount: The minimum amount for a BRL issuance is 30 BRL. Any transfer below this will cause the issuance to fail.
Balance visibility
Your BRL1 stablecoin balance is visible in both the Juno UI and through the Juno API. This balance is mirrored from your underlying Bitso account.
Your BRL fiat balance is not displayed in Juno. To check your BRL balance, use the Bitso Trading API's Get Account Balance endpoint or log in directly at bitso.com.
Trigger a BRL1 Issuance
To issue BRL1 tokens, send the following HTTP request with the indicated parameters:
POST https://stage.buildwithjuno.com/mint_platform/v2/transactions
Body Parameters
type(string): The type of transaction. Must be ISSUANCE.external_ref(string, optional): An optional external reference identifier for your own tracking purposes.issuance(object): An object containing the issuance details:asset(string): The token to be issued. Must be BRL1.amount(string): The amount to be issued. This value should be a positive number.
Header Parameters
Idempotency-Key: Specifies a UUID that must be unique for each issuance attempt. Reusing the same idempotency key will prompt the system to return the status of the original transaction associated with that key. Therefore, ensuring the uniqueness of the key for every issuance request is of utmost importance. If your client application does not handle idempotency keys, you can safely omit this parameter from your request header.
The following JSON object exemplifies the body parameters used:
{
"type": "ISSUANCE",
"external_ref": "user-ref-12345",
"issuance": {
"asset": "BRL1",
"amount": "1000"
}
}A successful request returns a JSON object representing your BRL1 stablecoin issuance:
{
"id": "f915ffc7-70b3-4442-bc9e-d27cee2fbf5e",
"type": "ISSUANCE",
"status": "IN_PROGRESS",
"external_ref": "user-ref-12345",
"created_at": "2025-08-04T15:19:22Z",
"updated_at": "2025-08-04T15:19:22Z",
"issuance": {
"asset": "BRL1",
"amount": "1000"
}
}Retrieve Your Balance
Send the following HTTP request to verify your issuance via an API call. Ensure the "View balances" permission is enabled in your API keys.
GET https://stage.buildwithjuno.com/mint_platform/v1/balances
A successful call returns the following response object:
{
"success": true,
"payload": {
"balances": [
{
"asset": "brl1",
"total": 20000.00,
"on_hold": 0.00,
"available": 20000.00,
"locked": 0.00
}
]
}
}You can also track your transaction via the GET /transactions method. For further details, see the article List Transactions Made.
Updated 4 days ago
