latestOpenAPI 3.1.02026-08-108094177.6 KB

087dcf516ce2

External Wallet Access Mode

Execute FX with permit

Executes an on-chain FX exchange using an EIP-2612 permit signature. Derive amountOutMinimum from the FX quote; permitValue must be at least inputAmount. Final status is trackable via txHash.

post/api/v1/fx-exchange-with-permit

Headers

tokenIdstring required

The user's URID (NFT token id).

networkstring required

Network identifier: 5000 for mainnet, 5003 for testnet.

signstring required

Signature generated by the user's wallet key (EIP-191).

hashstring required

SHA3/Keccak256 hash of the original request payload.

deadlinestring required

Signature expiry: server timestamp plus a validity window (max 20 minutes).

Request body

userAddressstring required

User's wallet address.

inputTokenstring required

Input fiat token contract address.

outputTokenstring required

Output fiat token contract address.

inputAmountstring required

Exact-in amount in smallest units.

amountOutMinimumstring required

Minimum acceptable output in smallest units, from the quote.

permitValuestring required

Permit value; must be greater than or equal to inputAmount.

permitDeadlineinteger required

Unix seconds until which the permit is valid.

permitVinteger required

EIP-2612 signature component v.

permitRstring required

EIP-2612 signature component r (32-byte hex).

permitSstring required

EIP-2612 signature component s (32-byte hex).

Response

Response envelope. For the user API, retCode 0 means success; for the partner API, code 0 means success. Business rejections return HTTP 200 with a non-zero code.

retCodeinteger required

0 on success; non-zero indicates failure.

retMsgstring required

Human-readable message; error details when retCode is non-zero.

{"stackTrail":"components:schemas:EwaEnvelope:properties:result","oasType":"schema","type":"unknown","description":"Business payload. Shape depends on the endpoint; some endpoints return it as a JSON-encoded string."}
timeNowinteger

Server timestamp in milliseconds.