Skip to main content
POST
/
stablecoin-provider-accounts
Link a stablecoin provider account
curl --request POST \
  --url https://api.lightspark.com/grid/2025-10-13/stablecoin-provider-accounts \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: <idempotency-key>' \
  --data '
{
  "provider": "BRALE",
  "apiClientId": "provider_client_123",
  "apiClientSecret": "provider_secret_456",
  "providerAccountId": "2VcUIonJeVQzFoBuC7LdFT0dRe4"
}
'
const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Basic <encoded-value>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
provider: 'BRALE',
apiClientId: 'provider_client_123',
apiClientSecret: 'provider_secret_456',
providerAccountId: '2VcUIonJeVQzFoBuC7LdFT0dRe4'
})
};

fetch('https://api.lightspark.com/grid/2025-10-13/stablecoin-provider-accounts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n \"provider\": \"BRALE\",\n \"apiClientId\": \"provider_client_123\",\n \"apiClientSecret\": \"provider_secret_456\",\n \"providerAccountId\": \"2VcUIonJeVQzFoBuC7LdFT0dRe4\"\n}")
val request = Request.Builder()
.url("https://api.lightspark.com/grid/2025-10-13/stablecoin-provider-accounts")
.post(body)
.addHeader("Idempotency-Key", "<idempotency-key>")
.addHeader("Authorization", "Basic <encoded-value>")
.addHeader("Content-Type", "application/json")
.build()

val response = client.newCall(request).execute()
{
  "id": "StablecoinProviderAccount:019542f5-b3e7-1d02-0000-000000000001",
  "provider": "BRALE",
  "providerAccountId": "2VcUIonJeVQzFoBuC7LdFT0dRe4",
  "createdAt": "2026-05-20T16:35:00Z",
  "updatedAt": "2026-05-20T16:35:00Z",
  "lastVerifiedAt": "2026-05-20T16:35:00Z"
}
{
"status": 400,
"message": "<string>",
"details": {}
}
{
"status": 401,
"message": "<string>",
"details": {}
}
{
"status": 409,
"message": "<string>",
"details": {}
}
{
"status": 500,
"message": "<string>",
"details": {}
}

Authorizations

Authorization
string
header
required

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

Headers

Idempotency-Key
string
required

Idempotency key for retrying this request safely. Replays return the prior result; conflicting payloads are rejected.

Maximum string length: 255

Body

application/json
provider
enum<string>
required

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

Available options:
BRALE
apiClientId
string
required

Provider API client id used to verify and link the provider account.

Example:

"provider_client_123"

apiClientSecret
string
required
write-only

Provider API client secret. Grid verifies and stores this secret encrypted; it is never returned.

Example:

"provider_secret_456"

providerAccountId
string

Provider account id. Optional when the submitted credentials expose exactly one provider account.

Example:

"2VcUIonJeVQzFoBuC7LdFT0dRe4"

Response

Stablecoin provider account linked

id
string
required

System-generated stablecoin provider account link identifier.

Example:

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

provider
enum<string>
required

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

Available options:
BRALE
providerAccountId
string
required

Provider account id.

Example:

"2VcUIonJeVQzFoBuC7LdFT0dRe4"

providerEnvironment
enum<string>
required

Provider environment derived from the authenticated Grid platform mode.

Available options:
SANDBOX,
PRODUCTION
status
enum<string>
required

Status of the linked stablecoin provider account credentials.

Available options:
ACTIVE,
INVALID,
REVOKED
createdAt
string<date-time>
required

Creation timestamp.

Example:

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

updatedAt
string<date-time>
required

Last update timestamp.

Example:

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

lastVerifiedAt
string<date-time>

Timestamp of the last successful provider credential verification.

Example:

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