Skip to main content
POST
Create a stablecoin mint operation

Authorizations

Authorization
string
header
required

API token authentication using format <api token id>:<api client secret>

Headers

Idempotency-Key
string
required

Required idempotency key for retrying this mint request safely.

Maximum string length: 255

Path Parameters

stablecoinId
string
required

System-generated stablecoin identifier

Body

application/json
amount
string
required

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

Pattern: ^[0-9]+$
Example:

"1000000"

fundingSource
Wire · object
required

Wire funding source. The issuer wires fiat to the provider using the returned funding instructions.

destination
object
required

Account that receives the minted stablecoin. External and Grid-managed accounts are represented as a single account reference, matching the accountId pattern used elsewhere in the API; the id prefix (ExternalAccount: or InternalAccount:) determines which. In the initial Brale-backed flow this must reference an active Spark external account.

description
string

Optional platform-provided operation description.

Maximum string length: 1024
Example:

"Initial program funding mint"

Response

Mint operation created

id
string
required

System-generated stablecoin issuer operation identifier.

Example:

"StablecoinOperation:019542f5-b3e7-1d02-0000-000000000301"

stablecoinId
string
required

Stablecoin this operation belongs to.

Example:

"Stablecoin:019542f5-b3e7-1d02-0000-000000000002"

operationType
enum<string>
required

Stablecoin issuer operation type.

Available options:
MINT,
BURN
status
enum<string>
required

Stablecoin issuer operation lifecycle status.

Available options:
CREATED,
PENDING_FUNDING,
PENDING_PROVIDER,
PROCESSING,
COMPLETED,
FAILED,
EXPIRED
amount
string
required

Operation amount in the stablecoin's smallest unit.

Example:

"1000000"

provider
enum<string>
required

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

Available options:
BRALE
providerEnvironment
enum<string>
required

Provider environment derived from the authenticated Grid platform mode.

Available options:
SANDBOX,
PRODUCTION
stablecoinProviderAccountId
string
required

Stablecoin provider account link used for the operation.

Example:

"StablecoinProviderAccount:019542f5-b3e7-1d02-0000-000000000001"

createdAt
string<date-time>
required

Creation timestamp.

Example:

"2026-05-20T16:40:00Z"

updatedAt
string<date-time>
required

Last update timestamp.

Example:

"2026-05-20T17:10:00Z"

source
object

Source of a stablecoin operation, as reported on a StablecoinOperation. A single merged shape (superset of the mint funding source and burn source request variants) so the field is unambiguously deserializable regardless of operation type: externalAccountId is present for external-account funded mints and external-account burns, accountId for Grid internal account sources, and sourceTokenIdentifier/cryptoNetwork for provider internal balance sources.

fundingInstructions
object

Provider funding instructions safe to show publicly. Present for wire-funded mint operations and external-source burn operations when available. The common fields below are always declared; the exact set of remaining fields is rail- and provider-specific (for example, wire instructions carry bank beneficiary/account/routing details while Spark and on-chain instructions carry a deposit address), so additionalProperties stays open to pass those through without a spec change per rail.

Example:
destination
object

Destination of a stablecoin operation, as reported on a StablecoinOperation. A single merged (flat) shape so the field is unambiguously deserializable regardless of operation type: accountId identifies the receiving account (its ExternalAccount: / InternalAccount: prefix disambiguates external vs Grid-managed), and rail is present for burn (fiat payout) destinations and absent for mint destinations.

estimatedDelivery
object

Static rail timing estimate for fiat redemption delivery. This is guidance, not a guaranteed arrival time.

Example:
expiresAt
string<date-time>

Expiry for operations awaiting external funding.

Example:

"2026-05-27T16:40:00Z"

providerStatus
string

Sanitized provider status when available.

Example:

"pending"

failureReason
string

Stable internal failure code for terminal failed operations.

Example:

"PROVIDER_TRANSFER_FAILED"

description
string

Platform-provided operation description.

Example:

"Initial program funding mint"