Stablecoins

Create a stablecoin mint operation

Changed on

Create a provider-backed mint operation for a registered stablecoin. Funding and destination accounts are normal Grid ExternalAccount objects; any provider-specific Brale address linkage is managed internally by Grid. Wire-funded mints return funding instructions and remain pending until the provider reports funds received.

post/stablecoins/{stablecoinId}/mints

Request

  • Base URL: https://api.lightspark.com/grid/2025-10-13
  • URL: https://api.lightspark.com/grid/2025-10-13/stablecoins/{stablecoinId}/mints
  • Auth: HTTP basic

Headers

Idempotency-Keystring required

Required idempotency key for retrying this mint request safely.

Request body

amountstring required

Amount to mint in the stablecoin's smallest unit. The amount must convert exactly to a whole fiat cent for the token decimals.

descriptionstring

Optional platform-provided operation description.

Example request

{
  "amount": "1000000",
  "fundingSource": {
    "type": "WIRE"
  },
  "destination": {
    "accountId": "ExternalAccount:019542f5-b3e7-1d02-0000-000000000201"
  },
  "description": "Initial program funding mint"
}

Response

Mint operation created

idstring required

System-generated stablecoin issuer operation identifier.

stablecoinIdstring required

Stablecoin this operation belongs to.

operationType'MINT' | 'BURN' required

Stablecoin issuer operation type.

status'CREATED' | 'PENDING_FUNDING' | 'PENDING_PROVIDER' | 'PROCESSING' | 'COMPLETED' | 'FAILED' | 'EXPIRED' required

Stablecoin issuer operation lifecycle status.

amountstring required

Operation amount in the stablecoin's smallest unit.

provider'BRALE' required

Stablecoin provider backing the linked account, stablecoin, or operation.

providerEnvironment'SANDBOX' | 'PRODUCTION' required

Provider environment derived from the authenticated Grid platform mode.

stablecoinProviderAccountIdstring required

Stablecoin provider account link used for the operation.

expiresAtstring date-time

Expiry for operations awaiting external funding.

providerStatusstring

Sanitized provider status when available.

failureReasonstring

Stable internal failure code for terminal failed operations.

descriptionstring

Platform-provided operation description.

createdAtstring date-time required

Creation timestamp.

updatedAtstring date-time required

Last update timestamp.

Example response

{
  "id": "StablecoinOperation:019542f5-b3e7-1d02-0000-000000000301",
  "stablecoinId": "Stablecoin:019542f5-b3e7-1d02-0000-000000000002",
  "amount": "1000000",
  "stablecoinProviderAccountId": "StablecoinProviderAccount:019542f5-b3e7-1d02-0000-000000000001",
  "source": {
    "type": "ACH_DEBIT",
    "externalAccountId": "ExternalAccount:019542f5-b3e7-1d02-0000-000000000101",
    "accountId": "InternalAccount:019542f5-b3e7-1d02-0000-000000000102",
    "sourceTokenIdentifier": "USDC",
    "cryptoNetwork": "SOLANA"
  },
  "fundingInstructions": {
    "rail": "SPARK",
    "network": "SPARK",
    "address": "spark1...",
    "valueType": "ACME"
  },
  "destination": {
    "accountId": "ExternalAccount:019542f5-b3e7-1d02-0000-000000000205"
  },
  "estimatedDelivery": {
    "rail": "ACH_CREDIT",
    "amount": "100",
    "currency": "USD",
    "timing": "1-3 business days"
  },
  "expiresAt": "2026-05-27T16:40:00Z",
  "providerStatus": "pending",
  "failureReason": "PROVIDER_TRANSFER_FAILED",
  "description": "Initial program funding mint",
  "createdAt": "2026-05-20T16:40:00Z",
  "updatedAt": "2026-05-20T17:10:00Z"
}

Changes

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • warning

      added the new ACCOUNT_NOT_FOUND enum value to the response property for the response status

    • warning

      added the new AUTH_METHOD_NOT_FOUND enum value to the response property for the response status

    • warning

      added the new CUSTOMER_NOT_FOUND enum value to the response property for the response status

    • warning

      added the new DOCUMENT_ALREADY_EXISTS enum value to the response property for the response status

    • warning

      added the new DOCUMENT_HOLDER_NOT_FOUND enum value to the response property for the response status

    • warning

      added the new DUPLICATE_EXTERNAL_ACCOUNT enum value to the response property for the response status

    • warning

      added the new DUPLICATE_PAY_REQUEST enum value to the response property for the response status

    • warning

      added the new INSUFFICIENT_FUNDS enum value to the response property for the response status

    • warning

      added the new NOT_FOUND enum value to the response property for the response status

    • warning

      added the new PAYMENT_URL_NOT_FOUND enum value to the response property for the response status

    • warning

      added the new PLATFORM_NOT_FOUND enum value to the response property for the response status

    • warning

      added the new QUOTE_EXPIRED enum value to the response property for the response status

    • warning

      added the new QUOTE_RATE_UNAVAILABLE enum value to the response property for the response status

    • warning

      added the new REQUEST_NOT_FOUND enum value to the response property for the response status

    • warning

      added the new SESSION_NOT_FOUND enum value to the response property for the response status

    • warning

      added the new SMS_OTP_CREDENTIAL_SET_CHANGED enum value to the response property for the response status

    • warning

      added the new SMS_OTP_PHONE_NUMBER_ALREADY_EXISTS enum value to the response property for the response status

    • warning

      added the new STABLECOIN_AMOUNT_NOT_REPRESENTABLE enum value to the response property for the response status

    • warning

      added the new STABLECOIN_BURN_SOURCE_NOT_SUPPORTED enum value to the response property for the response status

    • warning

      added the new STABLECOIN_EXTERNAL_ACCOUNT_LINK_FAILED enum value to the response property for the response status

    • warning

      added the new STABLECOIN_EXTERNAL_ACCOUNT_LINK_METHOD_REQUIRED enum value to the response property for the response status

    • warning

      added the new STABLECOIN_EXTERNAL_ACCOUNT_NOT_FOUND enum value to the response property for the response status

    • warning

      added the new STABLECOIN_EXTERNAL_ACCOUNT_NOT_LINKED enum value to the response property for the response status

    • warning

      added the new STABLECOIN_EXTERNAL_ACCOUNT_NOT_SUPPORTED enum value to the response property for the response status

    • warning

      added the new STABLECOIN_EXTERNAL_ACCOUNT_PROVIDER_LINK_FAILED enum value to the response property for the response status

    • warning

      added the new STABLECOIN_EXTERNAL_ACCOUNT_PROVIDER_LINK_REQUIRED enum value to the response property for the response status

    • warning

      added the new STABLECOIN_GRID_OPERATIONS_NOT_ENABLED enum value to the response property for the response status

    • warning

      added the new STABLECOIN_NOT_FOUND enum value to the response property for the response status

    • warning

      added the new STABLECOIN_NOT_PROVISIONED enum value to the response property for the response status

    • warning

      added the new STABLECOIN_OPERATION_NOT_FOUND enum value to the response property for the response status

    • warning

      added the new STABLECOIN_OPERATION_NOT_SUPPORTED enum value to the response property for the response status

    • warning

      added the new STABLECOIN_PROVIDER_ERROR enum value to the response property for the response status

    • warning

      added the new STABLECOIN_PROVIDER_SOURCE_NOT_LINKED enum value to the response property for the response status

    • warning

      added the new STABLECOIN_SYMBOL_ALREADY_EXISTS enum value to the response property for the response status

    • warning

      added the new STABLECOIN_TOKEN_IDENTIFIER_ALREADY_EXISTS enum value to the response property for the response status

    • warning

      added the new STABLECOIN_VERIFICATION_FAILED enum value to the response property for the response status

    • warning

      added the new VERIFICATION_NOT_FOUND enum value to the response property for the response status

    • warning

      added the new WALLET_NOT_PROVISIONED enum value to the response property for the response status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • warning

      added the new BANK_ACCOUNT_VALIDATION_PENDING enum value to the response property for the response status