Get the text the paying wallet signs to authorize another destination

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.

post/destination/challenge

Request

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

Request body

walletstring required

The wallet that pays and signs.

receiverstring required

The full destination address. Solana base58 is case-sensitive.

Response

Text to sign

noncestring
messagestring

Sign exactly this text: EIP-191 personal_sign on EVM, ed25519 signMessage on Solana. It names the full receiver, the chain and the expiry.

expiresAtinteger
proofTransactionstring

Solana only: base64 unsigned memo transaction with the same text, for wallets that cannot sign messages.

typedDataobject

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.

Changes

No recorded changes to this operation across all 1 revision of this API.