---
title: "Create or recover an execution job"
method: POST
path: "/v1/execute"
tags: ["Execution Preparations"]
---

# Create or recover an execution job

`POST /v1/execute`

## Request

- Base URL: `https://api.arbital.xyz` (the document declares no server; this is the origin it was published from)
- URL: `https://api.arbital.xyz/v1/execute`
- Auth: HTTP bearer

Enabled only in configured local or staging execution cohorts. With quote-ID admission configured, accepts only {quote_id} and Idempotency-Key. The engine resolves and verifies the signed quote; the API atomically stores its immutable snapshot, accepted limits and signed submission deadline before queueing. Only eligible fee-aware DFlow Solana USDC routes are executable. Same accepted quote recovers its job even after expiry or Redis loss. An Idempotency-Key already bound to a different quote conflicts; alternate recovery keys are not stored as aliases. Legacy {quote_token} and raw preparation contracts retain their existing behavior.

## Headers

- `Idempotency-Key` string, required

## Request body

- union
  - ExecutionPreparationInput: Local preparation test terms, not an accepted trading quote. Exactly one mint is Solana USDC (6 decimals); native/wrapped SOL excluded. Atomic values are bounded to u64 and input to i64::MAX. Wallet/user are derived from authentication.
    - `input_mint` string, required
    - `input_decimals` integer, required
    - `output_mint` string, required
    - `output_decimals` integer, required
    - `amount_atomic` string, required
    - `minimum_output_atomic` string, required
    - `maximum_slippage_bps` integer, required
    - `maximum_application_fee_usdc_atomic` string, required
    - `execution_mode` 'prepare_only' | 'trade': Raw trade is a local test interface only when signed quotes are disabled. Defaults to prepare_only.
  - ExecuteSignedQuoteInput
    - `quote_token` string, required: Opaque signed accepted terms. Never log; submit to /v1/execute while fresh.
  - ExecuteQuoteIdInput
    - `quote_id` string, required: Quote ID returned by /v3/quote. The client cannot override signed execution terms.

## Response `202`

Existing or newly created job; acceptance is not trade success

- union
  - ExecutionPreparation: Public preparation status only. Prepared means unsigned bytes were saved, not transaction safety approval or successful execution.
    - `job_id` string, uuid, required
    - `status` 'pending' | 'executing' | 'prepared' | 'failed' | 'needs_attention', required
    - `step` 'unprepared' | 'prepared', required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `error_code` string, nullable, required
    - `signing_attempted` false, required
    - `broadcast_attempted` false, required
  - ExecutionTradeJob: Local trade job. Confirmed chain success is succeeded; background finality may still hold funds.
    - `job_id` string, uuid, required
    - `status` 'pending' | 'executing' | 'confirming' | 'succeeded' | 'failed' | 'needs_attention', required
    - `step` 'unprepared' | 'prepared' | 'signing_requested' | 'signed' | 'submission_committed' | 'observing' | 'resolved', required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `error_code` string, nullable, required
    - `signing_attempted` boolean, required
    - `broadcast_attempted` boolean, required
    - `execution_mode` 'trade', required
    - `transaction_id` string, nullable, required

## Other responses

- `400`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `401`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `403`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `404`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `409`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `413`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `503`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.

---

[API](https://skmtc.dev/arbital/apis/arbital-api.md) - [All operations](https://skmtc.dev/arbital/apis/arbital-api/llms.txt) - [OpenAPI document](https://skmtc.dev/arbital/apis/arbital-api/revisions/bb0185edf43a?raw)
