---
title: "Submit signed transaction"
method: POST
path: "/v1/transactions/{transactionId}/submit"
tags: ["Transactions", "Transactions"]
---

# Submit signed transaction

`POST /v1/transactions/{transactionId}/submit`

Submit a signed transaction. Provide signedPayload to have us broadcast it to the blockchain, or transactionHash if already submitted by the client.

## Path parameters

- `transactionId` string, required

## Request body

- SubmitTransactionDto
  - `signedPayload` string — Signed transaction payload. Required if transactionHash is not provided.
  - `transactionHash` string — Transaction hash if already submitted. Required if signedPayload is not provided.

## Response `200`

Transaction submitted successfully

- SubmitTransactionResponseDto
  - `transactionHash` string — Transaction hash (if available)
  - `link` string, required — Link to view transaction on block explorer
  - `status` 'NOT_FOUND' | 'CREATED' | 'BLOCKED' | 'WAITING_FOR_SIGNATURE' | 'SIGNED' | 'BROADCASTED' | 'PENDING' | 'CONFIRMED' | 'FAILED' | 'SKIPPED', required — Transaction status after submission
  - `error` string — Error message if submission failed
  - `details` object — Additional details

## Other responses

- `401` — Invalid or missing API key
- `403` — Transaction does not belong to your project
- `404` — Transaction not found
- `429` — Rate limit exceeded

---

[API](https://skmtc.net/yield/apis/yield-xyz-api.md) · [All operations](https://skmtc.net/yield/apis/yield-xyz-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/yield/yield-xyz-api/revisions/acfa80015ca5/schema)
