---
title: "Submit Gasless Transaction"
method: POST
path: "/submitTx"
---

# Submit Gasless Transaction

`POST /submitTx`

Submits signed executions obtained from a gasless `GET /getAction` response for relay broadcast. The backend validates each signature, simulates the transactions, then broadcasts them via the configured relay provider.

Call this endpoint only when `executionsType` is `GASLESS` in the `getAction` response. Sign all items in the `executions` array in order before submitting.

## Request body

- SubmitTxRequest
  - `txId` string, required — The `txId` from the `GET /getAction` quote response. Used to correlate the signed executions with the original action on the relay.
  - `chainId` integer, required — Chain ID. Find in the list of supported networks.
  - `executions` Execution[], required — All execution steps from the `getAction` response, each with a `signature` field populated by the user's wallet. Must be in the same order as returned by `getAction`.
    - union — A single signing step returned in the `executions` array of a gasless `getAction` response. Only available for Tron same-chain swaps. The client must sign each item in order and include the signatures when calling `POST /submitTx`.
      - EvmTransactionSignExecution
        - `txType` 'evmTransactionSign', required
        - `data` string, required — JSON string of an unsigned Tron transaction (TronWeb `raw_data` shape)
        - `signature` string — Hex-encoded signature from TronLink or compatible Tron wallet
      - EvmSignTypedDataExecution
        - `txType` 'evmSignTypedData', required
        - `data` union, required — EIP-712 typed data to sign. Accepted as either a JSON string (same format returned by `GET /getAction`) or a parsed object — both are equivalent.
          - string — JSON-encoded EIP-712 typed data
          - Eip712Data
            - `domain` Eip712Domain, required
              - …
            - `types` object, required — EIP-712 type definitions (field name → array of {name, type} pairs)
            - `message` object, required — The typed data message payload
        - `signature` string — Hex-encoded EIP-712 signature

## Response `200`

Transaction accepted for relay broadcast

- SubmitTxResponse
  - `success` boolean, required — Whether the relay broadcast was accepted.
  - `txId` string — Internal transaction ID. Pass this to `GET /getStatus` to poll for completion — the status endpoint will return the on-chain transaction hash once the relay broadcast confirms.
  - `error` string — Error message when `success` is `false`.

## Other responses

- `400` — Bad request — invalid signature, unknown txId, or malformed executions
- `401` — Unauthorized — missing or invalid API key

---

[API](https://skmtc.dev/swaps/apis/prediction-market-data-api.md) · [All operations](https://skmtc.dev/swaps/apis/prediction-market-data-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/swaps/prediction-market-data-api/revisions/03e917d60cb7/schema)
