Saltar al contenido principal
POST
/
trade
/
swap
Execute trade via aggregator (EVM + Solana)
curl --request POST \
  --url https://api.afkcrypto.com/v1/trade/swap \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: <idempotency-key>' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "chain": "<string>",
  "fromToken": "<string>",
  "toToken": "<string>",
  "amount": "<string>",
  "from": "<string>",
  "slippage": 1,
  "includeGas": true,
  "protocols": "<string>",
  "excludeProtocols": "<string>"
}
'
{ "id": "tx_...", "status": "SUBMITTED", "hash": "0x...", "explorerUrl": "https://solscan.io/tx/...", "chainName": "Solana" }
Use la palabra clave NATIVE para fromToken/toToken para intercambiar activos nativos (ETH, SOL, etc.). Requiere encabezado Idempotency-Key. Solo mainnet de Solana. Para EVM, apruebe el token primero si el swap falla con error de allowance.
{ "id": "tx_...", "status": "SUBMITTED", "hash": "0x...", "explorerUrl": "https://solscan.io/tx/...", "chainName": "Solana" }

Autorizaciones

x-api-key
string
header
requerido

Encabezados

Idempotency-Key
string<uuid>
requerido

Provide a unique Idempotency-Key per user to ensure single submission.

Cuerpo

application/json
chain
string
requerido

EVM chain slug.

fromToken
string
requerido

Token or native address (0xEeee... for native)

toToken
string
requerido

Output token address (0x...).

amount
string
requerido

Amount in wei (decimal or 0x-hex supported for EVM).

from
string | null

Optional sender wallet; defaults to user's default wallet for the chain.

slippage
number
predeterminado:1

Percentage (e.g., 1 = 1%). Optional; defaults to 1%.

includeGas
boolean | null

Include gas estimates in the build (optional).

protocols
string | null

Comma-separated allowlist of protocols (optional).

excludeProtocols
string | null

Comma-separated blocklist of protocols (optional).

Respuesta

Submission accepted

id
string
requerido

AFK transaction id for the submitted action.

status
enum<string>
requerido

Submission status.

Opciones disponibles:
SUBMITTED
hash
string | null
requerido

On-chain transaction hash/signature (may be null at submission time).

explorerUrl
string | null
requerido

Direct link to the transaction on a chain explorer. Null until a hash/signature exists.

chainName
string
requerido

Human-readable chain name for display (e.g., Base, Ethereum, Solana).