---
title: "Prepare Solana Delegate"
method: POST
path: "/v1/instances/{instance_id}/prepare-delegate-solana"
tags: ["Solana"]
---

# Prepare Solana Delegate

`POST /v1/instances/{instance_id}/prepare-delegate-solana`

Prepares a delegation transaction for Solana token transfers. You can either provide a `quote_id` (recommended) to automatically use the correct token amount and address from the quote, or manually provide `owner_address`, `token_address`, and `amount`.

## Path parameters

- `instance_id` string, required

## Headers

- `Idempotency-Key` string — Optional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

## Request body

- object
  - `owner_address` string, required — The Solana wallet address that owns the tokens
  - `quote_id` string — The quote ID. When provided, the API will automatically use the sender_amount and token_address from the quote. This is the recommended approach.
  - `token_address` string — The SPL token mint address. Required if quote_id is not provided.
  - `amount` string — The token amount to delegate in USDC/USDT units (e.g., "10.5" for 10.5 USDC). Required if quote_id is not provided. Note: This should be the TOKEN amount, not the local currency amount.

## Response `200`

Prepare delegation transaction

- object
  - `success` boolean, required
  - `transaction` string
  - `debug` unknown

## Other responses

- `400` — Possible error codes: `BLOCKCHAIN_NETWORK_NOT_SUPPORTED`, `QUOTES_EXPIRED`, `VALIDATION_FAILED`, `VALIDATION_MISSING_REQUIRED_FIELDS`. See the Error responses section for retry semantics.
- `401` — Possible error codes: `AUTH_UNAUTHORIZED`. See the Error responses section for retry semantics.
- `403` — Possible error codes: `AUTH_FORBIDDEN`. See the Error responses section for retry semantics.
- `404` — Possible error codes: `QUOTES_NOT_FOUND`. See the Error responses section for retry semantics.
- `429` — Possible error codes: `AUTH_RATE_LIMITED`. See the Error responses section for retry semantics.
- `500` — Possible error codes: `INTERNAL_ERROR`. See the Error responses section for retry semantics.

---

[API](https://skmtc.dev/blindpay/apis/blindpay-api.md) · [All operations](https://skmtc.dev/blindpay/apis/blindpay-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/blindpay/blindpay-api/revisions/470de27afb7b/schema)
