Skip to main content
POST
/
swap
/
usdc-e
/
build
Build USDC → USDC.e swap
curl --request POST \
  --url https://relayer.kuest.com/swap/usdc-e/build \
  --header 'Content-Type: application/json' \
  --data '
{
  "from": "0x0B2B3E6B323C0Cd7bEaf4B7cC73b983D4E9B12c7",
  "proxyWallet": "0x3f8Be6FC21f4a5127A42CE1aF58d8bCb8A94F3c1",
  "amount": "1000000",
  "slippageBps": 50
}
'
{
  "nonce": "12",
  "transaction": {
    "to": "0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",
    "value": "0",
    "data": "0x8d80ff0a0000000000000000000000000000000000000000000000000000000000000040",
    "operation": 1
  },
  "signatureParams": {
    "operation": "1",
    "safeTxnGas": "0",
    "baseGas": "0",
    "gasPrice": "0",
    "gasToken": "0x0000000000000000000000000000000000000000",
    "refundReceiver": "0x0000000000000000000000000000000000000000"
  },
  "amountIn": "1000000",
  "amountOutMinimum": "999000",
  "fee": 100,
  "deadline": 1711990000
}
Build a Safe multisend payload that approves native USDC and swaps it into USDC.e using Uniswap V3. The response includes the Safe transaction, nonce, and signatureParams required for signing.
POST to https://relayer.kuest.com/swap/usdc-e/build with the standard L2 headers. The relayer validates that from matches the authenticated account and that the Safe proxy is registered.

Request body

FieldTypeRequiredDescription
fromstringYesSafe owner address that must match KUEST_ADDRESS.
proxyWalletstringYesSafe proxy that will execute the swap.
amountstringYesUSDC amount in base units (6 decimals). Example: 1000000 = 1 USDC.
slippageBpsnumberNoSlippage tolerance in basis points. Default: 50 (0.5%).

Response fields

FieldTypeDescription
noncestringSafe nonce that must be signed.
transactionobjectSafe transaction payload pointing to the Safe multisend contract.
signatureParamsobjectGas + refund params to include in the Safe signature payload.
amountInstringEcho of the input amount (base units).
amountOutMinimumstringMinimum USDC.e out after slippage.
feenumberUniswap V3 pool fee selected (e.g. 100 = 0.01%).
deadlinenumberUnix timestamp deadline used in the swap call.
Use the returned transaction, nonce, and signatureParams to build the Safe typed data and produce the signature you will send to /swap/usdc-e/submit.

Body

application/json

Request payload for building a USDC → USDC.e swap multisend.

from
string
required

Safe owner address that must match the authenticated account.

proxyWallet
string
required

Safe proxy that will execute the swap.

amount
string
required

USDC amount in base units (6 decimals).

slippageBps
integer<int32>

Optional slippage tolerance in basis points.

Response

Swap payload built and ready for signing.

Built swap payload plus quote metadata.

nonce
string
required
transaction
object
required

Safe transaction payload returned by swap build endpoints.

signatureParams
object
required
amountIn
string
required
amountOutMinimum
string
required
fee
integer<int32>
required
deadline
integer<int64>
required