Skip to main content
GET
/
platform
/
internal-accounts
cURL
curl --request GET \
  --url https://api.lightspark.com/grid/2025-10-13/platform/internal-accounts \
  --header 'Authorization: Basic <encoded-value>'
import LightsparkGrid from '@lightsparkdev/grid';

const client = new LightsparkGrid({
username: process.env['GRID_CLIENT_ID'], // This is the default and can be omitted
password: process.env['GRID_CLIENT_SECRET'], // This is the default and can be omitted
});

const platformInternalAccountListResponse = await client.platform.listInternalAccounts();

console.log(platformInternalAccountListResponse.data);
package com.lightspark.grid.example

import com.lightspark.grid.client.LightsparkGridClient
import com.lightspark.grid.client.okhttp.LightsparkGridOkHttpClient
import com.lightspark.grid.models.platform.PlatformInternalAccountListResponse
import com.lightspark.grid.models.platform.PlatformListInternalAccountsParams

fun main() {
val client: LightsparkGridClient = LightsparkGridOkHttpClient.fromEnv()

val platformInternalAccountListResponse: PlatformInternalAccountListResponse = client.platform().listInternalAccounts()
}
{
  "data": [
    {
      "id": "InternalAccount:12dcbd6-dced-4ec4-b756-3c3a9ea3d123",
      "status": "ACTIVE",
      "balance": {
        "amount": 12550,
        "currency": {
          "code": "USD",
          "name": "United States Dollar",
          "symbol": "$",
          "decimals": 2
        }
      },
      "totalBalance": {
        "amount": 12550,
        "currency": {
          "code": "USD",
          "name": "United States Dollar",
          "symbol": "$",
          "decimals": 2
        }
      },
      "fundingPaymentInstructions": [
        {
          "accountOrWalletInfo": {
            "accountType": "USD_ACCOUNT",
            "accountNumber": "1234567890",
            "routingNumber": "021000021"
          },
          "instructionsNotes": "Please ensure the reference code is included in the payment memo/description field",
          "isPlatformAccount": true
        }
      ],
      "createdAt": "2025-10-03T12:30:00Z",
      "updatedAt": "2025-10-03T12:30:00Z",
      "customerId": "Customer:019542f5-b3e7-1d02-0000-000000000001",
      "privateEnabled": true
    }
  ]
}
{
"status": 400,
"message": "<string>",
"details": {}
}
{
"status": 401,
"message": "<string>",
"details": {}
}
{
"status": 500,
"message": "<string>",
"details": {}
}

Authorizations

Authorization
string
header
required

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

Query Parameters

currency
string

Filter by currency code

type
enum<string>

Filter by internal account type. Use EMBEDDED_WALLET to find the self-custodial wallet provisioned for a customer, or INTERNAL_FIAT / INTERNAL_CRYPTO for the platform-managed holding accounts. Classification of an internal account.

  • INTERNAL_FIAT: A Grid-managed fiat holding account (for example, the USD holding account used as the source for Payouts flows).
  • INTERNAL_CRYPTO: A Grid-managed crypto holding account denominated in a stablecoin such as USDC.
  • EMBEDDED_WALLET: A self-custodial Embedded Wallet provisioned for the customer. Outbound transfers require a session signature produced by the customer's device — see the Embedded Wallets guide.
Available options:
INTERNAL_FIAT,
INTERNAL_CRYPTO,
EMBEDDED_WALLET

Response

Successful operation

data
object[]
required

List of internal accounts matching the filter criteria