> Solana Developer Platform docs, served as Markdown. The [docs index](https://platform-beta.solana.com/docs.md) lists every page and [llms.txt](https://platform-beta.solana.com/docs/ai/llms.txt) the key ones; [SKILL.md](https://platform-beta.solana.com/SKILL.md) has the rules for building on SDP.

# Get started

Build on Solana with one dashboard and REST API, from devnet to mainnet.

- [Get started](/docs): Build on Solana with one dashboard and REST API, from devnet to mainnet.
- [Go to mainnet](/docs/guides/go-to-mainnet): Request mainnet access, connect your own custody account, and go live.

## Learn

- [Tutorials](/docs/tutorials): Follow a complete SDP workflow, from setup to a finished request.
- [Core concepts](/docs/developing-with-sdp): The interfaces, environments, and conventions you build against.

## Modules

- [Wallets](/docs/wallet-operations): Create a custody wallet, check balances, and scope access.
- [Payments](/docs/payments): Send, accept and reconcile Solana payments from your SDP custody wallets.

## Earn

- [Earn](/docs/earn): Offer stablecoin yield in your app, from your customers' own wallets, through one API.
- [Quickstart](/docs/earn/quickstart): Deposit test USDC into a strategy from a sandbox wallet, then read the position, in about ten minutes.
- [How Earn works](/docs/earn/concepts): Strategies, positions and shares, who signs, and how each deposit and withdrawal settles.
- [Strategies](/docs/earn/strategies): Find a strategy your project can deposit into, then check its slippage policy, rate, eligibility, and withdrawal terms.
- [Deposit funds](/docs/earn/deposits): Preview, build, sign, submit, and track a deposit request by request, in cURL or TypeScript.
- [Balances and earnings](/docs/earn/balances): Show each customer's live positions, movement history, and exact earnings, and never show a missing value as zero.
- [Withdraw funds](/docs/earn/withdrawals): Choose a live withdrawal route, withdraw instantly or by request, and confirm the payout reached the customer's wallet.

### Integrate

- [Embedded Yield](/docs/guides/embedded-yield): Build customer-signed deposits, balances, and withdrawals into your app, from first request to go-live.
- [Integration details](/docs/earn/integration-details): Slippage floors, fees and sponsorship, swap-funded deposits, retries, errors, and polling for a production Earn integration.

## Resources

- [Self-hosting](/docs/self-hosting): Run the Solana Developer Platform on your own infrastructure with Docker Compose.

## API Reference

- [API Reference](/docs/reference/api): Choose an API family to explore its endpoints.

### Health

- [Health](/docs/reference/api/health): Service health and readiness endpoints.
- [Health check](/docs/reference/api/health/health-check): Returns service health and build metadata.
- [Readiness check](/docs/reference/api/health/health-readiness): Performs readiness checks for downstream dependencies.

### Wallets

- [Wallets](/docs/reference/api/wallets): Wallet signing provider configuration and wallet management.
- [Create wallet](/docs/reference/api/wallets/create-wallet): Provisions a new wallet under exactly one provider account: the project's Managed config for provider, or the Custody Connection named by connectionId.
- [Delete wallet](/docs/reference/api/wallets/delete-wallet): Deletes the wallet from its exact owning custody target when that Provider supports wallet deletion.
- [List wallets](/docs/reference/api/wallets/list-wallets): Lists active wallets under active Config and Connection owners, oldest first.
- [List wallet signing configs](/docs/reference/api/wallets/list-wallet-configs): Returns the active Config-owned wallet signing configurations for the requested scope, one per provider.
- [Aggregate wallet balances](/docs/reference/api/wallets/aggregate-wallet-balances): Aggregates tracked balances for active wallets under the same owner-aware inclusion rules as the wallet list, without exposing one aggregate-level owner or runtime-admission value.
- [Get wallet public key](/docs/reference/api/wallets/get-wallet-public-key): Returns the persisted public key for an exact active walletId. walletId is required (400 without it); an API key with selected wallets gets 404 for a wallet it does not list.
- [Check signer via simulated memo transaction](/docs/reference/api/wallets/check-wallet-signer): Signs a server-authored memo message with the named wallet, verifies the signature, and simulates the transaction.
- [Get wallet by ID](/docs/reference/api/wallets/get-wallet-by-id): Returns active wallet metadata, exact Config or Connection ownership, runtime execution admission, Provider, public key, and by default the current SOL balance.
- [Update wallet](/docs/reference/api/wallets/update-wallet): Updates the display label of an active wallet under its exact Config or Connection owner.

### Projects

- [Projects](/docs/reference/api/projects): Projects and their provider availability. Project members and keys are managed in the dashboard.
- [List projects](/docs/reference/api/projects/list-projects): Lists projects in the organization.
- [Get project](/docs/reference/api/projects/get-project): Gets project details.
- [Get project provider availability](/docs/reference/api/projects/get-project-provider-availability): Lists every provider this deployment's release channel publishes, with whether this project can use it, counting the deployment's provider credentials for the project's environment.
- [List project integrations](/docs/reference/api/projects/list-project-integrations): Lists the project's integrations and how each reaches the project.

### Payments

- [Payments](/docs/reference/api/payments): Wallet balances, transfers, and payment flows.

#### Balances and transactions

- [Get wallet balances](/docs/reference/api/payments/get-payment-wallet-balances): Retrieves balances for a custody wallet.
- [List transactions](/docs/reference/api/payments/list-unified-transactions): Lists the project's transactions across SDP modules with stable cursor pagination.

#### Transfers

- [Execute transfer (custody)](/docs/reference/api/payments/create-payment-transfer): Executes an on-chain transfer using the exact SDP Wallet ID (id from /v1/wallets) and server-side custody signing.
- [List transfers](/docs/reference/api/payments/list-payment-transfers): Lists persisted payment transfers for the authenticated scope.
- [Get transfer](/docs/reference/api/payments/get-payment-transfer): Retrieves details for a specific transfer.

#### Transfer batches

- [Estimate transfer batch](/docs/reference/api/payments/estimate-payment-transfer-batch): Validates an exact-wallet transfer batch request and estimates transaction chunking and fees.
- [Create transfer batch](/docs/reference/api/payments/create-payment-transfer-batch): Executes an outbound transfer batch from one exact SDP Wallet ID, chunks recipients into Solana transactions, and returns the batch, recipient, and transfer records.
- [List transfer batches](/docs/reference/api/payments/list-payment-transfer-batches): Lists transfer batches for the authenticated organization or project scope.
- [Retry a transfer batch's failed recipients](/docs/reference/api/payments/retry-payment-transfer-batch): Sends the batch's failed recipients again, from the same source wallet, and no other recipient.
- [Get transfer batch](/docs/reference/api/payments/get-payment-transfer-batch): Retrieves a transfer batch with recipient rows and chunk transfer summaries.

#### Recurring payments

- [Create recurring payment](/docs/reference/api/payments/create-payment-recurring-payment): Creates an SDP-custody outbound recurring payment intent from a custody wallet to a counterparty crypto-wallet account.
- [List recurring payments](/docs/reference/api/payments/list-payment-recurring-payments): Lists SDP-custody outbound recurring payments for the authenticated organization or project scope.
- [Update recurring payment](/docs/reference/api/payments/update-payment-recurring-payment): Updates an SDP-custody recurring payment.
- [Get recurring payment](/docs/reference/api/payments/get-payment-recurring-payment): Retrieves an SDP-custody outbound recurring payment record.
- [Activate recurring payment](/docs/reference/api/payments/activate-payment-recurring-payment): Activates a pending SDP-custody recurring payment by creating the Solana subscriptions plan, authorizing the subscription, and storing the resulting on-chain identifiers and signatures.
- [Cancel recurring payment](/docs/reference/api/payments/cancel-payment-recurring-payment): Permanently stops an active or paused SDP-custody recurring payment by submitting the Solana subscriptions immediate cancellation, which ends its on-chain subscription at once rather than at the end of the billing period.
- [Collect recurring payment](/docs/reference/api/payments/collect-payment-recurring-payment): Manually starts a due active SDP-custody recurring payment collection, creating a linked payment transfer and collection attempt.
- [Resume recurring payment](/docs/reference/api/payments/resume-payment-recurring-payment): Resumes a paused SDP-custody recurring payment.
- [List recurring payment collection attempts](/docs/reference/api/payments/list-payment-recurring-payment-collection-attempts): Lists every collection attempt a recurring payment has made over its whole history, newest first: its current subscription and every subscription an edit replaced.

#### Payment requests

- [Create payment request](/docs/reference/api/payments/create-payment-request): Creates a payment request: an amount of one token for a payer to send to a custody wallet in the caller's project, through the request's hosted payment link.
- [List payment requests](/docs/reference/api/payments/list-payment-requests): Lists the caller's project's payment requests, newest first.
- [Get payment request](/docs/reference/api/payments/get-payment-request): Retrieves one payment request in the caller's project; another project's request returns 404.
- [Get payment request link](/docs/reference/api/payments/get-payment-request-link): Returns the token behind a payment request's hosted payment link, /pay/{publicToken}.
- [Cancel payment request](/docs/reference/api/payments/cancel-payment-request): Cancels an open payment request, so its payment link stops building and sponsoring transactions.

#### Subscription plans

- [Create subscription plan](/docs/reference/api/payments/create-payment-subscription-plan): Creates a recurring-payment subscription plan record.
- [List subscription plans](/docs/reference/api/payments/list-payment-subscription-plans): Lists recurring-payment subscription plans.
- [Prepare subscription plan creation](/docs/reference/api/payments/prepare-payment-subscription-plan-create): Prepares an unsigned Solana subscriptions program create-plan transaction from an SDP subscription plan.
- [Get subscription plan](/docs/reference/api/payments/get-payment-subscription-plan): Retrieves a recurring-payment subscription plan record.
- [Update subscription plan](/docs/reference/api/payments/update-payment-subscription-plan): Updates mutable subscription plan fields and on-chain identifiers.

#### Subscriptions

- [Create subscription](/docs/reference/api/payments/create-payment-subscription): Creates a recurring-payment subscription record tied to a counterparty.
- [List subscriptions](/docs/reference/api/payments/list-payment-subscriptions): Lists recurring-payment subscriptions.
- [Prepare subscription authorization](/docs/reference/api/payments/prepare-payment-subscription-authorization): Prepares the subscriber-signed Solana transaction that initializes the subscription authority and subscribes to the plan.
- [Prepare subscription cancellation](/docs/reference/api/payments/prepare-payment-subscription-cancel): Prepares the subscriber-signed Solana transaction that cancels a subscription.
- [Prepare subscription resume](/docs/reference/api/payments/prepare-payment-subscription-resume): Prepares the subscriber-signed Solana transaction that resumes a canceled subscription before revocation.
- [Prepare subscription collection](/docs/reference/api/payments/prepare-payment-subscription-collection): Prepares the collector-signed Solana subscriptions transfer transaction for an active subscription.
- [Get subscription](/docs/reference/api/payments/get-payment-subscription): Retrieves a recurring-payment subscription record.
- [List subscription collection attempts](/docs/reference/api/payments/list-payment-subscription-collection-attempts): Lists collection attempts for a recurring-payment subscription.

### Counterparties

- [Counterparties](/docs/reference/api/counterparties): A counterparty is a person or business you pay or get paid by. You save their details and payment accounts once, then reuse them in payments.

#### Profiles

- [Get counterparty field options](/docs/reference/api/counterparties/get-counterparty-field-options): Returns the enum option sets and country list needed to build a counterparty form.
- [List counterparties](/docs/reference/api/counterparties/list-counterparties): Lists counterparties for the authenticated organization.
- [Create counterparty](/docs/reference/api/counterparties/create-counterparty): Creates a counterparty.
- [Get counterparty](/docs/reference/api/counterparties/get-counterparty): Gets counterparty details by id.
- [Update counterparty](/docs/reference/api/counterparties/update-counterparty): Updates counterparty attributes.
- [Archive counterparty](/docs/reference/api/counterparties/archive-counterparty): Archives a counterparty and its active accounts and provider links atomically.

#### Accounts

- [List counterparty accounts](/docs/reference/api/counterparties/list-counterparty-accounts): Lists payment accounts for a counterparty.
- [Create counterparty account](/docs/reference/api/counterparties/create-counterparty-account): Creates a payment account for a counterparty.
- [Get counterparty account](/docs/reference/api/counterparties/get-counterparty-account): Gets a counterparty payment account by id.
- [Update counterparty account](/docs/reference/api/counterparties/update-counterparty-account): Updates a counterparty payment account.
- [Archive counterparty account](/docs/reference/api/counterparties/archive-counterparty-account): Archives a counterparty payment account.

### Earn

- [Earn](/docs/reference/api/earn): Strategy reads, previews, withdrawal-route discovery, unsigned builds, submission, queued actions, and tenant tracking. Availability follows the deployment's release channel.

#### Discovery

- [List strategies](/docs/reference/api/earn/list-earn-strategies): Lists the strategies your project can see, largest first by total value locked.
- [Get a strategy](/docs/reference/api/earn/get-earn-strategy): Gets one strategy by ID, on either cluster.
- [Preview a deposit](/docs/reference/api/earn/create-earn-vault-deposit-preview): Quotes how many shares a deposit would receive right now, from the provider's live accounting.

#### Embedded Yield

- [Get position totals](/docs/reference/api/earn/get-earn-external-wallet-position-summary): Gets live position totals across every customer wallet in your project, grouped by strategy and token.
- [List positions](/docs/reference/api/earn/list-earn-external-wallet-positions): Lists one customer wallet's live positions, one page at a time.
- [List movements](/docs/reference/api/earn/list-earn-external-wallet-movements): Lists one customer wallet's deposits and withdrawals, newest first, one page at a time.
- [Get a movement](/docs/reference/api/earn/get-earn-external-wallet-movement): Gets one deposit or withdrawal and refreshes its onchain status when it can.
- [Get earnings](/docs/reference/api/earn/get-earn-external-wallet-earnings): Gets one customer wallet's live balance and earnings per deposit token.
- [Build a deposit transaction](/docs/reference/api/earn/create-earn-external-wallet-deposit-transaction): Builds an unsigned deposit transaction for the customer's wallet to sign.
- [Submit a deposit](/docs/reference/api/earn/create-earn-external-wallet-deposit): Submits a deposit transaction signed by the customer's wallet.
- [Preview a withdrawal](/docs/reference/api/earn/create-earn-external-wallet-withdrawal-preview): Quotes what withdrawing these shares would pay right now, from the strategy's live accounting.
- [Build a withdrawal transaction](/docs/reference/api/earn/create-earn-external-wallet-withdrawal-transaction): Builds an unsigned withdrawal transaction for a position, for the customer's wallet to sign.
- [Submit a withdrawal](/docs/reference/api/earn/create-earn-external-wallet-withdrawal): Submits a withdrawal transaction signed by the customer's wallet.
- [List withdrawal options](/docs/reference/api/earn/get-earn-external-wallet-withdrawal-options): Lists the withdrawal routes a position supports right now: instant, provider order, solver queue and operator redemption, each read from live provider state.
- [Preview a withdrawal request](/docs/reference/api/earn/create-earn-external-wallet-queued-withdrawal-preview): Previews a withdrawal request: a solver queue's discounted payout and timing, or an operator redemption's intermediate-token conversion and payout.
- [Build a withdrawal request transaction](/docs/reference/api/earn/create-earn-external-wallet-withdrawal-request-transaction): Builds an unsigned withdrawal request transaction for a position, for the customer's wallet to sign.
- [Submit a withdrawal request](/docs/reference/api/earn/create-earn-external-wallet-withdrawal-request): Submits a withdrawal request transaction signed by the customer's wallet.
- [List withdrawal requests](/docs/reference/api/earn/list-earn-external-wallet-withdrawal-requests): Lists one customer wallet's withdrawal requests, one page at a time.
- [Get a withdrawal request](/docs/reference/api/earn/get-earn-external-wallet-withdrawal-request): Gets one withdrawal request with its latest recorded status.
- [Build a cancellation transaction](/docs/reference/api/earn/create-earn-external-wallet-withdrawal-request-cancel-transaction): Builds an unsigned transaction that cancels a withdrawal request, for the customer's wallet to sign.
- [Submit a cancellation](/docs/reference/api/earn/create-earn-external-wallet-withdrawal-request-cancellation): Submits a cancellation transaction signed by the customer's wallet.
- [AI resources](/docs/reference/docs-for-ai): Machine-readable SDP docs, the agent skill, and setup for coding agents.
