---
title: "Build the escrow open transaction for a lifi-intents quote"
method: POST
path: "/lifi-intents/transaction"
tags: ["Liquidity"]
---

# Build the escrow open transaction for a lifi-intents quote

`POST /lifi-intents/transaction`

Turns a quote into an unsigned `open` call on the LI.FI intents input settler escrow. When the quote carries a `quoteId` from the RFQ endpoint, the liquidity reservation is re-keyed to the resulting on-chain order id.

## Request body

- LifiintentsQuote
  - `preview` LifiintentsPreview, required
    - `inputs` LifiintentsInput[], required — Tokens escrowed on the origin chain. Every input must sit on the same origin chain.
      - `user` string, required — Payer, as an ERC-7930 interoperable address.
      - `asset` string, required — Input token, as an ERC-7930 interoperable address.
      - `amount` string, required — Amount in the smallest denomination.
    - `outputs` LifiintentsOutput[], required — Tokens delivered to the receiver.
      - `receiver` string, required — Recipient, as an ERC-7930 interoperable address.
      - `asset` string, required — Output token, as an ERC-7930 interoperable address.
      - `amount` string, required — Amount in the smallest denomination.
  - `quoteId` string — Identifier for the liquidity reservation backing this quote. Pass the quote back to /lifi-intents/transaction to keep it.
  - `validUntil` integer — Unix timestamp after which the quote and its reservation expire.
  - `eta` integer — Estimated fill duration in seconds.
  - `provider` string — Always `sprinter`.
  - `failureHandling` string — Always `refund-automatic` — an unfilled order is reclaimable on the escrow.
  - `partialFill` boolean — Whether the order may be partially filled. Sprinter quotes are all-or-nothing.
  - `metadata` LifiintentsMetadata
    - `exclusiveFor` string — Address granted exclusivity over the fill. Defaults to Sprinter's filler address.
  - `order` LifiintentsOrder — Optional overrides for the escrow open call. Any field left unset is derived by the transaction endpoint.
    - `nonce` string
    - `expires` integer — Unix timestamp after which the order can no longer settle.
    - `fillDeadline` integer — Unix timestamp after which the order can no longer be filled.
    - `inputOracle` string
  - `transactionRequest` LifiintentsTransactionRequest — Unsigned transaction calling open() on the input settler escrow. Send it from the user's wallet.
    - `from` string, required
    - `to` string, required — The LI.FI input settler escrow contract.
    - `chainId` integer, required
    - `data` string, required
    - `value` string, required — Hex-encoded native value; `0x0` unless an input is the native token.
    - `gasPrice` string
    - `gasLimit` string

## Response `200`

The same quote with transactionRequest populated

- LifiintentsQuote
  - `preview` LifiintentsPreview, required
    - `inputs` LifiintentsInput[], required — Tokens escrowed on the origin chain. Every input must sit on the same origin chain.
      - `user` string, required — Payer, as an ERC-7930 interoperable address.
      - `asset` string, required — Input token, as an ERC-7930 interoperable address.
      - `amount` string, required — Amount in the smallest denomination.
    - `outputs` LifiintentsOutput[], required — Tokens delivered to the receiver.
      - `receiver` string, required — Recipient, as an ERC-7930 interoperable address.
      - `asset` string, required — Output token, as an ERC-7930 interoperable address.
      - `amount` string, required — Amount in the smallest denomination.
  - `quoteId` string — Identifier for the liquidity reservation backing this quote. Pass the quote back to /lifi-intents/transaction to keep it.
  - `validUntil` integer — Unix timestamp after which the quote and its reservation expire.
  - `eta` integer — Estimated fill duration in seconds.
  - `provider` string — Always `sprinter`.
  - `failureHandling` string — Always `refund-automatic` — an unfilled order is reclaimable on the escrow.
  - `partialFill` boolean — Whether the order may be partially filled. Sprinter quotes are all-or-nothing.
  - `metadata` LifiintentsMetadata
    - `exclusiveFor` string — Address granted exclusivity over the fill. Defaults to Sprinter's filler address.
  - `order` LifiintentsOrder — Optional overrides for the escrow open call. Any field left unset is derived by the transaction endpoint.
    - `nonce` string
    - `expires` integer — Unix timestamp after which the order can no longer settle.
    - `fillDeadline` integer — Unix timestamp after which the order can no longer be filled.
    - `inputOracle` string
  - `transactionRequest` LifiintentsTransactionRequest — Unsigned transaction calling open() on the input settler escrow. Send it from the user's wallet.
    - `from` string, required
    - `to` string, required — The LI.FI input settler escrow contract.
    - `chainId` integer, required
    - `data` string, required
    - `value` string, required — Hex-encoded native value; `0x0` unless an input is the native token.
    - `gasPrice` string
    - `gasLimit` string

## Other responses

- `400` — Bad request due to invalid input
- `500` — Internal server error

---

[API](https://skmtc.net/sprintertech/apis/untitled-api.md) · [All operations](https://skmtc.net/sprintertech/apis/untitled-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sprintertech/untitled-api/revisions/1713381f8993/schema)
