---
title: "Get the text the paying wallet signs to authorize another destination"
method: POST
path: "/destination/challenge"
---

# Get the text the paying wallet signs to authorize another destination

`POST /destination/challenge`

## Request

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

Destination lock. Any build whose `receiver` differs from the signing wallet (swap, double, N:N, on EVM and Solana) is refused with 403 destination_not_authorized unless the paying wallet signed this text. Returns a one-time code, valid 30 minutes, bound to wallet, receiver and chain. On Solana it also returns `proofTransaction`, a memo transaction that can never land, for wallets (Ledger) that cannot sign messages. Paying an invoice does not need this: pass `invoiceId` on the quote and the invoice recipient is the destination.

## Request body

- object
  - `wallet` string, required: The wallet that pays and signs.
  - `receiver` string, required: The full destination address. Solana base58 is case-sensitive.
  - `chainId` union, required
    - integer
    - 'solana-mainnet'

## Response `200`

Text to sign

- object
  - `nonce` string
  - `message` string: Sign exactly this text: EIP-191 personal_sign on EVM, ed25519 signMessage on Solana. It names the full receiver, the chain and the expiry.
  - `expiresAt` integer
  - `proofTransaction` string: Solana only: base64 unsigned memo transaction with the same text, for wallets that cannot sign messages.
  - `typedData` object: EVM only: the same authorization as EIP-712 typed data ({domain, types, primaryType, message}), which @vurto/sign-tx and prepare_signing sign as a `signature` step.

## Other responses

- `400`: invalid_wallet, invalid_receiver, destination_is_wallet or unsupported_chain
- `429`: rate_limited

---

[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)
