Saltar al contenido principal

Referencia de la API de retiros

Referencia completa de los endpoints de la API de retiros. Gestiona la configuración de retiros y crea solicitudes de retiro.

Valores de la estrategia de retiro​

El campo strategy es un número tanto en la configuración como en las solicitudes de retiro:

ValorNombreDescripción
1multi-networkTransferencias directas por cadena; sin puente entre cadenas.
2bridgeUsa Relay para el puente cuando la cotización lo requiere; si no, igual que multi-network.

Consulta Estrategia de retiro para más detalles. Para ver cómo se paga el gas (paymaster, autofinanciación, hot wallet), consulta Financiación del gas y las comisiones.

Tipos de cadena válidos​

Las direcciones de retiro se indexan por tipo de cadena. Las claves válidas son: evm, solana, bitcoin, tron, cosmos, polkadot, move, ton. Úsalas como claves en:

  • Configuración de retiros: addresses, por ejemplo { "evm": "0x...", "solana": "...", "bitcoin": "bc1q..." }
  • Payment Intents y enlaces de pago: withdrawal_addresses, con la misma forma

Cada dirección se valida para su tipo de cadena (EVM, Solana, Bitcoin, etc.). Para listar redes por tipo de cadena, usa GET /payments/networks?chainType=evm (u otro tipo de cadena válido). Consulta Mínimos de pago para los mínimos por tipo de cadena.

Direcciones de retiro por pago (por tipo de cadena)​

Al crear un Payment Intent o un enlace de pago, puedes definir opcionalmente withdrawal_addresses (o withdrawalAddresses en los enlaces) como objeto clave-valor. Las claves son tipos de cadena de la tabla de redes (por ejemplo evm, solana, bitcoin). Cada valor es la dirección de retiro de esa cadena. Si se omite o está vacío para una cadena, se usa el valor por defecto de tu cuenta en la configuración de retiros para ese tipo de cadena. Las direcciones se validan por cadena (EVM, Solana, Bitcoin, etc.).

URL base​

https://api.orcarail.com/api/v1

Configuración de retiros​

Obtener la configuración de retiros​

Obtén la configuración de retiros del usuario autenticado (direcciones por tipo de cadena y estrategia). isEnabled es siempre true: los retiros son automáticos.

GET /withdrawals/settings

Autenticación​

  • Token Bearer (JWT): obligatorio

Respuesta​

{
"id": "uuid",
"userId": "uuid",
"addresses": {
"evm": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"solana": "GTtzwxqy67xx9DVESJjx28TgXqpc8xTqtiytgNMaQBTE",
"bitcoin": "bc1q..."
},
"isEnabled": true,
"strategy": 1,
"createdAt": "2024-01-01T00:00:00.000Z",
"updatedAt": "2024-01-01T12:00:00.000Z"
}

Las claves de addresses son tipos de cadena (evm, solana, bitcoin, tron, cosmos, polkadot, move, ton). Cada dirección se valida para esa cadena. Devuelve null si aún no hay configuración.

Actualizar la configuración de retiros​

Crea o actualiza la configuración de retiros.

PUT /withdrawals/settings

Autenticación​

  • Token Bearer (JWT): obligatorio

Cuerpo de la petición​

Todos los campos son opcionales. Incluye solo los campos que quieras actualizar.

ParámetroTipoObligatorioDescripción
addressesobjectNoDirecciones de retiro por tipo de cadena. Claves: evm, solana, bitcoin, etc. Valores: dirección de esa cadena. Se validan contra una red de ese tipo de cadena.
strategynumberNoEstrategia de retiro (por ejemplo multi-network, bridge)

Respuesta​

La misma forma que en GET; addresses es el objeto clave-valor. Se requiere al menos una dirección. Las direcciones se validan contra redes del mismo modo que la organización: una organización sandbox acepta direcciones de testnet (por ejemplo Bitcoin tb1…) y una organización live, de mainnet. Guardar la configuración activa los retiros automáticos; no hay retiro manual.

Solicitudes de retiro​

Listar solicitudes de retiro​

Lista las solicitudes de retiro del usuario autenticado.

GET /withdrawals/requests

Autenticación​

  • Token Bearer (JWT): obligatorio

Parámetros de consulta​

ParámetroTipoObligatorioDescripción
limitnumberNoNúmero máximo de solicitudes que se devuelven

Respuesta​

[
{
"id": "uuid",
"userId": "uuid",
"amount": "0.1",
"tokenId": "uuid",
"sourceNetworkId": "uuid",
"address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"strategy": 1,
"status": "completed",
"createdAt": "2024-01-01T00:00:00.000Z"
}
]

Resumen de retiros​

Obtener el resumen de retiros​

Obtén un resumen de saldos y totales de retiro por red y token.

GET /withdrawals/summary

Autenticación​

  • Token Bearer (JWT): obligatorio

Respuesta​

{
"byNetwork": [
{
"networkId": 1,
"networkName": "Ethereum",
"totalAmount": "100.50",
"totalUsdcValue": "100.50"
}
],
"byToken": [
{
"tokenId": 1,
"tokenSymbol": "USDC",
"totalAmount": "100.50",
"totalUsdcValue": "100.50"
}
],
"totals": {
"totalEarnedUsdc": "1250.50",
"totalWithdrawnUsdc": "500.0",
"remainingUsdc": "750.5"
}
}

Códigos de estado​

Código de estadoDescripción
200Correcto
201Creado
400Petición incorrecta
401No autorizado
404No encontrado
500Error interno del servidor

Consulta también​