> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ravn.exchange/llms.txt
> Use this file to discover all available pages before exploring further.

# POST /execute

> Turn a quote into an actionable execution payload.

Takes the opaque `quoteToken` from [`/quote`](/api-reference/quote) and returns one of three
shapes tagged by `executionType`. See [Execution Types](/execution-types) for the branch logic.

## Request

<ParamField body="quoteToken" type="string" required>The opaque token from `/quote`.</ParamField>
<ParamField body="destinationAddress" type="string">Recipient, if not supplied at quote time.</ParamField>
<ParamField body="refundAddress" type="string">Refund address, if not supplied at quote time.</ParamField>

```bash theme={null}
curl -s -X POST https://app.ravn.exchange/api/v1/execute \
  -H 'content-type: application/json' \
  -d '{ "quoteToken": "<from /quote>" }'
```

## Response

One of three payloads:

<CodeGroup>
  ```json TRANSACTION theme={null}
  { "executionType": "TRANSACTION",
    "transaction": { "to": "0x…", "data": "0x…", "value": "0", "chainId": 1 } }
  ```

  ```json SIGNATURE theme={null}
  { "executionType": "SIGNATURE",
    "typedData": { }, "approvalData": { },
    "submit": { "url": "/api/v1/submit-signature" } }
  ```

  ```json DEPOSIT theme={null}
  { "executionType": "DEPOSIT",
    "deposit": { "address": "0x…", "amount": "1000000000000000000", "chainId": 1 },
    "statusRef": "0x…" }
  ```
</CodeGroup>

<Warning>
  Returns `410 QUOTE_EXPIRED` if the quote has expired, or `400 QUOTE_INVALID` if the token is
  malformed or tampered with. Request a fresh quote and retry.
</Warning>
