---
updatedAt: 2026-04-21T11:22:20.000Z
agentTools:
  projectIndex: https://docs.lmnl.app/v2/llms.txt
---

# Start or stop transaction execution

This API is a request to start or stop a job that automatically submits transactions for execution. The job is responsible for processing your v2 <<glossary:hot wallet>> transactions that are fully approved by Liminal Firewall. </br></br> To learn how to set up v2 hot wallets with Liminal Firewall, see [Set up v2 hot wallets with Liminal Firewall](https://docs.lmnl.app/v2/docs/set-up-v2-hot-wallets-with-liminal-firewall).

<Callout icon="📘" theme="info">
  Note

  1. Use the [Submit a Transaction API](https://docs.lmnl.app/v2/reference/submittransaction-1) to:
     1. Sign the transaction only after it has been approved manually when the firewall is **enabled**. Here, transactions must go through an approval process before they can be signed.
     2. Manually trigger the signing when the firewall is **disabled**. Here, transactions can be immediately signed after initiation.
     3. Set up a custom CRON job (e.g., every 30 seconds) to periodically check and manually sign transactions.
  2. The `Start or Stop Transaction Execution` API automates this process by automatically signing and broadcasting transactions once they are approved within a one-minute interval.
</Callout>

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "info": {
    "title": "API REFERENCES",
    "contact": {},
    "version": "8"
  },
  "servers": [
    {
      "url": "https://api-sdk.lmnl.dev",
      "variables": {}
    }
  ],
  "tags": [
    {
      "name": "Transactions"
    }
  ],
  "paths": {
    "/api/v2/jobs/submit-transaction-job/{action}": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "Start or stop transaction execution",
        "description": "This API is a request to start or stop a job that automatically submits transactions for execution. The job is responsible for processing your v2 <<glossary:hot wallet>> transactions that are fully approved by Liminal Firewall. </br></br> To learn how to set up v2 hot wallets with Liminal Firewall, see [Set up v2 hot wallets with Liminal Firewall](https://docs.lmnl.app/v2/docs/set-up-v2-hot-wallets-with-liminal-firewall).",
        "operationId": "Startorstoptransactionbroadcasting",
        "parameters": [
          {
            "schema": {
              "enum": [
                "start",
                "stop"
              ],
              "type": "string"
            },
            "description": "This is the type of action taken in the API.",
            "required": true,
            "name": "action",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {},
            "content": {
              "text/plain": {
                "schema": {
                  "type": "object",
                  "required": [
                    "success",
                    "data"
                  ],
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "description": "This indicates whether the transaction job was successfully started/stopped or not.",
                      "example": true
                    },
                    "data": {
                      "type": "string",
                      "description": "The details about the transaction job operation.",
                      "example": "Transaction broadcast stopped...."
                    }
                  },
                  "example": {
                    "success": true,
                    "data": "Transaction broadcast stopped...."
                  }
                },
                "example": {
                  "success": true,
                  "data": "Transaction broadcast stopped...."
                }
              }
            }
          },
          "400": {
            "description": "If action parameter is incorrect",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "Invalid flag": {
                    "value": {
                      "success": false,
                      "message": null,
                      "data": {
                        "errors": [
                          {
                            "value": "1",
                            "msg": "flag must be start or stop",
                            "param": "action",
                            "location": "params"
                          }
                        ]
                      },
                      "code": ""
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized access due to invalid or missing credentials.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Error response indicating an unauthorized request.",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "description": "This indicates the failure of the operation.",
                      "example": false
                    },
                    "data": {
                      "type": "object",
                      "description": "The additional details related to the error.",
                      "example": {}
                    },
                    "message": {
                      "type": "string",
                      "description": "A brief description of the error.",
                      "example": "UNAUTHORIZED"
                    },
                    "code": {
                      "type": "string",
                      "description": "An optional error code for further reference.",
                      "example": ""
                    }
                  }
                },
                "example": {
                  "success": false,
                  "data": {},
                  "message": "UNAUTHORIZED",
                  "code": ""
                }
              }
            }
          },
          "500": {
            "description": "Other errors other than input validation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "alreadyStarted": {
                    "description": "if job already started",
                    "value": {
                      "success": false,
                      "message": "Transaction Broadcast already started",
                      "data": {},
                      "code": ""
                    }
                  },
                  "failToStartOrStop": {
                    "description": "if any other errors like fail to start the job",
                    "value": {
                      "success": false,
                      "message": "Transaction Broadcast not started",
                      "data": {},
                      "code": ""
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [
          {
            "basic": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "This indicates whether the request was successful or not.",
            "example": false
          },
          "data": {
            "type": "object",
            "description": "Additional data related to the error, if any.",
            "example": {}
          },
          "message": {
            "type": "string",
            "description": "A message describing the error.",
            "example": "Transaction Broadcast not started."
          },
          "code": {
            "type": "string",
            "description": "An error code, if applicable.",
            "example": null
          }
        }
      }
    },
    "securitySchemes": {
      "basic": {
        "type": "http",
        "scheme": "basic"
      }
    }
  },
  "security": []
}
```