What is SDP?

One API for tokenization, custody, payments, and compliance on Solana.

SDP gives organizations project-scoped access to tokenization, custody, payments, and compliance through one stable API in front of interchangeable providers. Integrate against the API once; swap or add providers without changing your integration code.

ModuleWhat it does
IssuanceDeploy, mint, burn, freeze, pause, and seize tokens built on Token-2022
CustodyProvision and operate Solana wallets through interchangeable custody providers
PaymentsMove funds onchain — transfers, batches, recurring payments, payment requests, and ramps
ComplianceScreen wallets and transactions against your regulatory program

Background

Institutional capital is moving onchain: $35 billion in tokenized real-world assets across public blockchains, $3.2 billion of it on Solana, and tokenized stocks — where Solana settles most trading volume — as the fastest-growing slice.

Assets at this scale need regulated custody, enforceable compliance, and auditable controls. SDP provides them as one API, so bringing an asset onchain does not require a team of Solana developers.

Core Features

Unified Programming Interface

SDP puts one stable API in front of the Solana ecosystem's providers, so you integrate once and swap or add providers without changing your code. The same onramp call works for every ramp provider. The provider field is the only thing that changes.

onramp-quote.js
const response = await fetch(
  "https://api.solana.com/v1/payments/ramps/onramp/quote",
  {
    method: "POST",
    headers: {
      Authorization: "Bearer sk_test_...",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      provider: "moonpay",
      counterpartyId: "cp_...",
      destinationWallet: "wal_...",
      cryptoToken: "USDC",
      fiatCurrency: "USD",
      fiatAmount: "100.00",
    }),
  },
);
const quote = await response.json();

Wallet Custody

Provision signing wallets through integrated custody providers, so your team never handles private keys. Hosted keys never leave the provider's MPC or TEE infrastructure and SDP only handles the signed transaction. Local development keys are encrypted at rest with AES-256-GCM using per-organization derived keys, and every signing request passes policy and permission checks before it executes.

  • Built on @solana/keychain

    The unified Solana signing interface. Every custody backend is a keychain adapter behind the same signing API, which is what makes providers interchangeable.

  • Wallet policies

    Constrain how a wallet can move funds. Destination controls, amount limits, operation permissions, approval requirements, and audit visibility, enforced before any operation executes.

  • Scoped custody configuration

    Custody settings resolve per project, then organization, then environment, so different teams can run different providers side by side.

Issuance and Compliance with Token-2022

Create tokens from pre-built templates (stablecoin, tokenized security) or configure your own using Token-2022 extensions. Deploy, mint, burn, and manage supply through the dashboard or API.

Those same extensions are what make compliance enforceable onchain. Freeze individual accounts, pause token activity, seize tokens, and manage each token's Token Access Control list for regulated issuance flows. Selected compliance actions accept reason or memo fields for audit trails. Every enforcement action is one POST on the same token surface.

compliance-action.js
const response = await fetch(
  "https://api.solana.com/v1/issuance/tokens/tok_abc123/freeze",
  {
    method: "POST",
    headers: {
      Authorization: "Bearer sk_test_...",
      "Content-Type": "application/json",
    },
    body: JSON.stringify(operationParams),
  },
);
const result = await response.json();

Ramps and Onchain Transfers

SDP exposes unified endpoints for onchain transfers and ramps across providers, built on official Solana program implementations like Subscriptions and Solana Pay. These power Recurring Payments, Payment Requests, and Batch Transfers within SDP.

Terminal
curl -X POST https://api.solana.com/v1/payments/recurring-payments \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "sourceCustodyWalletId": "cwlt_123",
    "counterpartyId": "cp_...",
    "counterpartyAccountId": "cpa_...",
    "token": "USDC",
    "amount": "25.00",
    "periodHours": 720
  }'

The same API extends to on/offramps: rate estimates, quotes, and settlement work identically across every provider and corridor, so money can enter as fiat, live onchain as a token you issued, and exit back to fiat: a complete lifecycle from issuance through circulation to redemption, without stitching together provider-specific integrations. See Payments for transfers and Ramps for supported providers, currencies, and corridors.

Audit Trails

Every sensitive operation is recorded automatically. Each entry captures the acting user or API key, the resource touched, success or failure, client IP, user agent, request id, and secret-redacted metadata, and is queryable per organization.

AreaRecorded events
API keysCreate, revoke, and rotate, for both organization and project-scoped keys
Token issuanceDeploy, mint, burn, force-burn, supply changes, and authority updates
Compliance actionsFreeze, unfreeze, pause, unpause, seize, and Token Access Control changes
CustodyProvider configuration, wallet provisioning, and credential lifecycle changes
Transactions & signingSigning requests, submissions, and failed submissions
Organization & accessMembers, invitations, projects, project membership, and login sessions
Counterparties & assetsCounterparty and Counterparty Account changes, asset profile changes
Is this page helpful?