---
title: "Submit a setup transaction"
method: POST
path: "/setup-transaction"
tags: ["Flash"]
---

# Submit a setup transaction

`POST /setup-transaction`

Broadcast a funder-signed pre-trade setup transaction from `QuoteResponse.setupTxs` — no RPC provider needed. `status: "pending"` means broadcast but not yet confirmed, which is normal on slower chains: poll the transaction you signed rather than re-signing it. A `FAILED_PRECONDITION` error means the transaction went stale (expired blockhash, spent nonce, stale fees): request a new quote and re-sign.

## Request body

- SubmitSetupTransactionRequest
  - `signedSetupTx` string, required — One fully funder-signed entry from `QuoteResponse.setupTxs`: 0x-prefixed hex for EVM, base64 for Solana. Submit entries one per call, in order.

## Response `200`

Setup transaction accepted

- SubmitSetupTransactionResponse
  - `status` 'confirmed' | 'pending', required — `confirmed` — the transaction reached the chain (Solana: confirmed commitment; EVM: included in a block), so the next setup transaction or the order can be submitted. `pending` — broadcast but not confirmed within the wait window, which is normal on slower chains: poll the transaction you signed, do not re-sign it.

## Other responses

- `400` — Invalid request parameters
- `401` — Authentication failed
- `403` — Permission denied
- `404` — Resource not found
- `422` — Resource state prevents the requested operation
- `429` — Rate limit exceeded
- `500` — Internal server error
- `503` — Service temporarily unavailable
- `504` — Gateway timeout

---

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