Trigger a Token Issuance

The first step in managing and distributing digital assets.

This article walks you through the process of triggering an MXNB token issuance, ensuring the operation is seamless, secure and aligned with your requirements.

Minting a Juno-issued stablecoin starts by depositing Mexican pesos (MXN) in your Juno account via the SPEI® network. Figure 1 depicts the MXNB issuance flow.


Figure 1. MXNB Issuance

Figure 1. MXNB Issuance


To trigger an issuance, your deposit amount must meet the following requirements:

  • Minimum amount: 100 MXN. Deposits below this amount result in a failed issuance, transferring the funds back to the sending account.
  • Fiat Deposit Limits: The amount must fall within the deposit limits set for your account. You can verify these values in the Limits tab under Settings on the Mint Platform.

Follow the procedure outlined below to deposit MXN funds into your production Juno account, for an account in the testing environment, see Create Mock Deposits in MXN to learn how to simulate a deposit of MXN funds.

To complete an MXN transfer to your Juno account:

  1. Search for your account details. Refer to the section, Retrieve Your Account Details.
  2. Initiate an MXN transfer via SPEI® from your source account.
    Note: The transfer of funds must occur via SPEI®. Avoid using a Bitso Transfer because this transaction type does not trigger an issuance.
  3. When Juno receives the funds, it automatically issues a matching amount of MXNB.
  4. The Mint Platform reports the issuance status on the Home page or on your account's Transactions tab. You can also verify the transaction via an API call. For details, see the section, Retrieve Your Balance.

Retrieve Your Account Details

To retrieve your Juno account data, send the HTTP request specified below, applying a filter for CLABEs of type AUTO_PAYMENT. Only deposits made to this CLABE type trigger an issuance. You can complete the deposit using any AUTO_PAYMENT CLABE listed in the response.

GET https://stage.buildwithjuno.com/spei/v1/clabes?clabe_type=AUTO_PAYMENT

A successful request returns your account data:

{
    "success": true,
    "payload": {
        "total_items": "2",
        "total_pages": "1",
        "current_page": "1",
        "page_size": "25",
        "response": [
            {
                "clabe": "710969000000324311",
                "type": "AUTO_PAYMENT",
                "status": "ENABLED",
                "deposit_minimum_amount": null,
                "deposit_maximum_amounts": {
                    "operation": null,
                    "daily": null,
                    "weekly": null,
                    "monthly": null
                },
                "created_at": "2025-01-14T23:38:03",
                "updated_at": null
            }
        ]
    }
}

You can also retrieve your Juno account data via the Mint Platform in the following way:

  1. Log into your account.
  2. Click Deposit on the upper corner of the left sidebar menu.
  3. Select the Bank Transfer card.
    The Transfer Money page appears.
  4. Copy the account details shown. The Mint Platform reports only CLABEs of type AUTO_PAYMENT.

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. The only balance reported is your MXNB balance.

GET https://stage.buildwithjuno.com/mint_platform/v1/balances

A successful call returns the following response object:

{
    "success": true,
    "payload": {
        "balances": [
            {
                "asset": "mxnbj",
                "balance": 2000.00
            }
        ]
    }
}

You can also track your transaction via the GET /transactions method. For further details, see the article List Transactions Made.

Create Mock Deposits in MXN

The POST spei/test/deposits method enables you to simulate deposits in MXN into your Juno testing account. This endpoint is accessible exclusively in Juno's testing environment (stage). Refer to the section Retrieve Your Account Details above to learn how to obtain the receiver_clabe value.

To simulate a deposit and increase your MXNB balance, send the following HTTP request with the specified body parameters:

POST https://stage.buildwithjuno.com/spei/test/deposits

Body Parameters

  • amount (string): The amount to be deposited in MXN. This value should be a positive number representing the monetary amount to be deposited into the given CLABE.
  • receiver_clabe (string): The 18-digit Juno CLABE that receives the funds. The CLABE must belong to the user calling the endpoint.
  • receiver_name (string): The business name registered in the account linked to the CLABE (stored in Deposit > Bank Transfer (SPEI) : Beneficiary).
  • sender_name (string): The business name registered in the account linked to the CLABE (stored in Deposit > Bank Transfer (SPEI) : Beneficiary).

Note: Both given names must match the business name registered in your account (beneficiary); otherwise, the deposit might fail. This restriction applies only to the mock deposits endpoint. In a production environment, third-party deposits are possible, and in the issuance flow, any deposit from any sender will trigger an issuance if directed to an AUTO_PAYMENT CLABE.

The following object exemplifies the required body parameters to include in the HTTP request for simulating a deposit to a Juno CLABE.

{
   "amount": "2000",
   "receiver_clabe": "710969123456324311",
   "receiver_name": "Acme",
   "sender_name": "Acme"
 }

A successful mock deposit returns the object shown below:

{
    "success": true,
    "payload": {
        "amount": "2000",
        "tracking_code": "TESTSPEI674421737992990076",
        "tracking_key": "TESTSPEI674421737992990076",
        "sender_clabe": "",
        "sender_name": "Acme",
        "sender_curp": "",
        "receiver_clabe": "710969123456324311",
        "receiver_name": "Acme",
        "receiver_curp": "",
        "created_at": "2025-01-27T15:49:50"
    }
}

You can retrieve your account balance to verify your simulated deposit, followed by an issuance.