---
title: "POST /v2/relay/quote"
method: POST
path: "/v2/relay/quote"
tags: ["Relay"]
---

# POST /v2/relay/quote

`POST /v2/relay/quote`

Create one Relay deposit-address quote, optionally with the canonical ZKP2P app fee. Eligible stablecoin routes use capped fee sponsorship and a fixed 1:1 rate, with app fees omitted. Curator authenticates to Relay server-side; callers must never provide a Relay API key.

## Request body

- object
  - `user` string, required
  - `originChainId` integer, required
  - `originCurrency` string, required
  - `destinationChainId` 8453, required
  - `destinationCurrency` string, required
  - `amount` string, required
  - `tradeType` 'EXACT_INPUT' | 'EXACT_OUTPUT', required
  - `recipient` string, required
  - `useDepositAddress` true, required
  - `refundTo` string, required
  - `recoveryAddress` string
  - `referrer` 'zkp2p.xyz', required
  - `appFees` object[]
    - `recipient` '0xc5f63417FD8261e7219a0B51ef6e959EC0239e8E', required
    - `fee` '50', required

## Response `200`

Relay deposit-address quote

- object
  - `steps` object[], required
    - `id` string
    - `depositAddress` string
    - `requestId` string
    - `items` object[]
      - `requestId` string

## Other responses

- `400` — Invalid or rejected quote request
- `401` — Missing or invalid Privy bearer token
- `403` — Authenticated Privy user has no embedded EVM wallet
- `429` — Relay quote request rate limit exceeded
- `502` — Relay upstream failure
- `503` — Relay API key is not configured
- `504` — Relay upstream timeout

---

[API](https://skmtc.dev/peer/apis/swagger-api.md) · [All operations](https://skmtc.dev/peer/apis/swagger-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/peer/swagger-api/revisions/d5fcf4abb61a/schema)
