---
title: "Send Transaction"
method: POST
path: "/v1/transaction/send"
---

# Send Transaction

`POST /v1/transaction/send`

Submit a signed, serialized transaction. Use the `sendTo` value returned by a build endpoint (deposit / transfer / withdraw / stealth-pool) to route the transaction to the base layer or the ephemeral RPC. Accepts an optional `Authorization: Bearer <token>` header for ephemeral submissions that require it.

## Request body

- object
  - `transactionBase64` string, required — The signed, serialized transaction encoded as base64.
  - `sendTo` 'base' | 'ephemeral', required — Where to submit. Use the `sendTo` value returned by the build endpoint.
  - `sendRpcEndpoint` string, uri — Optional. Explicit ephemeral RPC endpoint. Only valid when `sendTo` is `ephemeral`.
  - `cluster` union — Optional. Cluster selector or custom http(s) RPC URL.
    - 'mainnet' | 'devnet' | 'mainnet-private' | 'devnet-private'
    - string
  - `confirm` boolean — Optional. Defaults to `false`. When `true`, the API confirms the transaction and requires `recentBlockhash` and `lastValidBlockHeight`.
  - `recentBlockhash` string — Required when `confirm` is `true`.
  - `lastValidBlockHeight` integer — Required when `confirm` is `true`.
  - `skipPreflight` boolean — Optional. Skip preflight checks on submission.
  - `maxRetries` integer — Optional. Maximum number of send retries.

## Response `200`

Submission result

- object
  - `signature` string, required
  - `sendTo` 'base' | 'ephemeral', required
  - `confirmed` boolean, required
  - `confirmationRpcEndpoint` string, uri, required
  - `confirmationRequiresAuthToken` boolean, required

## Other responses

- `400` — Send error
- `422` — Validation error

---

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