---
title: "Enviar stablecoin"
method: POST
path: "/swaps"
tags: ["swaps"]
---

# Enviar stablecoin

`POST /swaps`

Convierte tu balance (GTQ/USD/USDC) y envía stablecoin on-chain a una dirección cripto. Envía **uno solo de los dos montos**: `source_amount_as_decimal` si sabes cuánto balance quieres convertir, o `destination_amount_as_decimal` si sabes cuánto debe llegar — la dirección se infiere del monto que envíes. Requiere la verificación de stablecoin completada y una llave con movimiento de dinero habilitado. Es **asíncrono** (puede quedar en `in_review`/`processing`). Pasa `quote=true` para previsualizar el tipo de cambio y los montos sin mover dinero. Una plataforma puede listar y consultar swaps de una hija con `X-ACCOUNT-ID`, pero no crear swaps por ella; las cuentas conectadas conservan la restricción de destinos cripto. En Sandbox, esta operación y su modo de cotización están bloqueados.

## Query parameters

- `quote` boolean

## Headers

- `X-SECRET-KEY` string, required
- `Idempotency-Key` string

## Request body

- object
  - `source_currency` string, required — Moneda de tu balance a debitar (GTQ, USD, USDC)
  - `destination_currency` 'USDC' | 'USDT' | 'USAT' | 'XAUT' | 'PYUSD', required
  - `chain` 'ethereum' | 'polygon' | 'base' | 'arbitrum' | 'avalanche_c_chain' | 'optimism' | 'solana' | 'tron', required
  - `source_amount_as_decimal` string — Envía este monto si sabes cuánto balance quieres convertir (exact-in), p.ej. "100.00"
  - `destination_amount_as_decimal` string — O envía solo este monto si sabes cuánto debe llegar al destino (exact-out)
  - `blockchain_memo` string — Requerido para la red stellar
  - `crypto_address_id` string — ID público de una dirección cripto guardada (de /crypto_addresses)
  - `recipient_address` string — O una dirección on-chain nueva (alternativa a crypto_address_id)

## Response `201`

Swap creado (asíncrono)

- Swap
  - `id` string
  - `status` 'pending' | 'in_review' | 'processing' | 'rejected' | 'sent' | 'failed' | 'completed'
  - `source_currency` string
  - `source_amount` integer — Monto origen en la unidad mínima de la moneda
  - `destination_currency` 'USDC' | 'USDT' | 'USAT' | 'XAUT' | 'PYUSD'
  - `destination_amount` integer
  - `exchange_rate` number, double
  - `chain` string
  - `recipient_address` string, nullable
  - `created_at` string, date-time

## Other responses

- `403` — Verificación de stablecoin pendiente (stablecoin_verification_required), o la llave no tiene movimiento de dinero habilitado
- `422` — Los swaps no están disponibles en Sandbox (sandbox_unsupported) ni al operar una cuenta conectada (destination_not_supported)

---

[API](https://skmtc.dev/recurrente/apis/referencia-api.md) · [All operations](https://skmtc.dev/recurrente/apis/referencia-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/recurrente/referencia-api/revisions/da12dce50f30/schema)
