---
title: "Get Message (EVM USDC/SBC/EuroE only)"
method: POST
path: "/withdraw/evm/message"
tags: ["withdraw"]
---

# Get Message (EVM USDC/SBC/EuroE only)

`POST /withdraw/evm/message`

Gets any messages to be signed by the user, the signed message is then passed
as the `evmPermitMessage` body property into the
`/api/withdraw/evm/transaction` endpoint.

This is only necessary for EVM chains.

## Headers

- `x-coinflow-auth-wallet` string, required

## Request body

- GetWithdrawMessageBody
  - `amount` number, double, required
  - `token` PickWithdrawTokenMintOrDecimals — From T, pick a set of properties whose keys are in the union K
    - `mint` string, required — The mint is the address of the token on the blockchain. On Solana this is the mint account ID On EVM chains this is the token contract address.
    - `decimals` number, double, required — The number of decimals that the token has. For example USDC is always 6 decimals, so 1 USDC is 1000000 units. SOL - 9 decimals WETH - 18 decimals.
  - `userLocation` IUserLocation — End-user geographic coordinates captured at the moment of the withdrawal request. Consumed by `BlockingRuleMethod.GEOLOCATION` enforcement. Replay-of-different-coords bypass is prevented server-side: the first resolved {country, state} for a given (merchant, user) pair is pinned in Redis, and subsequent requests are evaluated against that pinned value regardless of the lat/lng they submit.
    - `lat` number, double, required
    - `lng` number, double, required

## Response `200`

Ok

- GetMessageResponse
  - `message` string, nullable, required — The message that needs to be typed signed by the user's EVM wallet.

---

[API](https://skmtc.net/coinflow/apis/api-reference.md) · [All operations](https://skmtc.net/coinflow/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/coinflow/api-reference/versions/3f6a046fbb34/schema)
