---
title: "Record a sent transaction into swap history"
method: POST
path: "/executions"
---

# Record a sent transaction into swap history

`POST /executions`

## Request

- Base URL: `https://swap.vurto.cc/v1`
- URL: `https://swap.vurto.cc/v1/executions`
- Auth: none required

For the swap's `type: transaction` step only — never submit an approve transaction here. CoW orders record themselves via POST /orders. Confirms the transaction actually exists on-chain (via rpc.vurto.cc) and its calldata hash matches a build for the declared wallet before writing anything. Plain and N:N builds are both supported.

## Request body

- object
  - `wallet` string, required: EVM address that sent the transaction.
  - `txHash` string, required
  - `quoteId` string, required

## Response `201`

Created

- object
  - `id` string
  - `status` 'submitted' | 'confirmed' | 'failed'

## Other responses

- `400`: invalid_tx_hash | quote_id_required
- `409`: build_expired | tx_owned_by_another_wallet | tx_not_found_yet | transaction_build_mismatch | build_not_simulated

---

[API](https://skmtc.dev/vurto/apis/vurto-swap-public-api.md) · [All operations](https://skmtc.dev/vurto/apis/vurto-swap-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/vurto/apis/vurto-swap-public-api/revisions/423be3a193b5?raw)
