MEP Dollar

Introducción

El módulo de Dólar MEP le permite a tu plataforma ofrecer a tus usuarios la compra y venta de dólares a través del mercado de capitales argentino, de manera regulada y completamente automatizada. API Broker gestiona todo el ciclo operativo de punta a punta: desde la identificación del instrumento hasta la liquidación final, sin que tengas que implementar la lógica operativa ni los cálculos de cotización.

¿Cómo funciona la operatoria?

  • Compra de MEP: el usuario compra un bono en pesos (ej. AL30) y lo vende en dólares (AL30D). El resultado es un crédito en USD en su cuenta comitente.
  • Venta de MEP: el usuario compra un bono en dólares y lo vende en pesos. El resultado es un crédito en ARS en su cuenta comitente.

API Broker ejecuta ambas operaciones en T+0, manejando de forma automática las validaciones regulatorias, los cupos CNV, los instrumentos autorizados y la conciliación.


Características clave

  • Integración 100% vía APIs y webhooks.
  • Compra y venta en T+0.
  • Manejo completo de cupos, validaciones y requisitos CNV.
  • Conciliación automática de depósitos y retiros.
  • Revenue share por operación.
  • Compatible con modelos PSP y recaudación bancaria tradicional.

Flujo de integración

a. Onboarding

Para operar Dólar MEP, el usuario debe tener su onboarding completo. Los pasos son los estándar:

  1. POST /v2/persons → genera el person_id
  2. POST /identity-documents → carga de documentación de identidad
  3. POST /v2/investment-accounts → genera el investment_account_id
  4. POST /bank-accounts → genera el bank_account_id (actualmente opcional, obligatorio a partir de mayo 2025)

Importante: la cuenta bancaria debe ser same-name, es decir, de la misma titularidad que la cuenta comitente. La validación se realiza por CUIT.

b. Ingreso de fondos (Cash In)

Adcap Securities disponibiliza cuentas bancarias recaudadoras (CBU) en ARS y USD. El usuario transfiere sus fondos a esas cuentas y API Broker los acredita automáticamente en la cuenta comitente.

Al completarse el depósito, API Broker notifica vía webhook:

{
  "topic": "deposit_create",
  "items": [{
    "investment_account_id": 43101,
    "currency_id": "ARS",
    "amount": 10.0,
    "trade_date": "2024-09-03",
    "status_id": "COMPLETED",
    "deposit_id": 631184,
    "tax_identification_value": "20415653825"
  }]
}

c. Consulta de cotización MEP

Antes de ejecutar la operación, tu plataforma puede consultar la cotización estimada del MEP para el par de instrumentos elegido.

GET /dollar-exchange-by-tickers/{ticker_ars}/{ticker_usd}

Ejemplo típico:

GET /dollar-exchange-by-tickers/AL30/AL30D

Retorna la cotización estimada MEP, incluyendo el valor implícito y la diferencia entre ambas puntas.

d. Creación de la operación MEP (Compra / Venta)

El partner envía la instrucción de compra o venta:

POST /market/mep-order

Body de ejemplo:

{
  "investment_account_id": 7403,
  "amount": 12320,
  "base_instrument_id": 41,
  "market_operation_type": "buy",
  "external_id": "extern123"
}

Parámetros clave:

CampoTipoDescripción
investment_account_idintID de la cuenta comitente del usuario
amountnumberMonto en la moneda base de la operación
base_instrument_idintID del instrumento (ej: AL30 = 41)
market_operation_typestring"buy" para comprar MEP (ARS → USD) / "sell" para vender MEP (USD → ARS)
external_idstringIdentificador único del cliente para evitar duplicados

API Broker ejecuta la compra en T+0 y la venta en T+0. Los fondos se acreditan en la moneda final directamente en la cuenta comitente del usuario.

e. Consulta del estado de una orden MEP

Una vez creada la orden MEP, el partner puede consultar su estado en cualquier momento mediante el mep_market_order_id devuelto en el POST /market/mep-order.

GET /api/market/mep-order/{mep_market_order_id}

Parámetros:

CampoTipoDescripción
mep_market_order_idintegerID de la orden MEP (path param, requerido)

Respuestas posibles:

CódigoDescripción
200Retorna el estado y detalle completo de la orden
404Orden no encontrada
422Error de validación
500Error interno del servidor

Nota: Aunque el estado de la orden también se puede seguir vía webhooks, este endpoint permite realizar consultas puntuales o reconciliaciones desde el lado del partner.

f. Obtención de boletos de las órdenes de mercado

Luego de ejecutadas las operaciones, el partner puede obtener los boletos (confirmaciones de mercado) asociados a una cuenta comitente. Esto es útil para mostrar comprobantes al usuario o para procesos de conciliación.

GET /api/market/stock-market-confirmations/confirmations-by-investment-account/{investment_account_id}

Path params:

CampoTipoDescripción
investment_account_idintegerID de la cuenta comitente (requerido)

Query params opcionales:

CampoTipoDescripción
pageinteger (≥ 1)Número de página. Default: 1
sizeinteger (1–100)Cantidad de resultados por página. Default: 50
from_datedateFecha de inicio del filtro (formato YYYY-MM-DD)
to_datedateFecha de fin del filtro (formato YYYY-MM-DD)

Ejemplo de uso:

GET /api/market/stock-market-confirmations/confirmations-by-investment-account/7403?from_date=2024-09-01&to_date=2024-09-30&page=1&size=50

Respuestas posibles:

CódigoDescripción
200Lista paginada de confirmaciones/boletos de la cuenta
404Cuenta comitente no encontrada
422Error de validación
500Error interno del servidor

Nota: Los boletos incluyen el detalle de cada tramo de la operación MEP (compra del bono en ARS y venta en USD, o viceversa). Se recomienda consultar este endpoint para generar comprobantes descargables para el usuario final.

g. Consulta de estado de cartera (posición post-operación)

Una vez completada la operación MEP, el partner puede consultar el estado de cuenta de la cuenta comitente para verificar la acreditación de los dólares (en compra MEP) o los pesos (en venta MEP).

GET /api/portfolio/account-statements/{investment_account_id}

Path params:

CampoTipoDescripción
investment_account_idintegerID de la cuenta comitente (requerido)

Query params opcionales:

CampoTipoDefaultDescripción
position_discriminator_bcrabooleantrueDiscrimina la posición según criterio BCRA
compromised_holdingsbooleanfalseIncluye tenencias comprometidas (ej: en proceso de liquidación)
include_remunerated_balancebooleanfalseIncluye el saldo remunerado disponible

Ejemplo de uso post compra MEP:

GET /api/portfolio/account-statements/7403

La respuesta incluye la posición monetaria (saldos en ARS y USD) y las tenencias disponibles de la cuenta. Luego de una compra MEP exitosa, el saldo en USD debe reflejar los dólares acreditados.

Respuestas posibles:

CódigoDescripción
200Retorna el estado de cuenta con posición monetaria y tenencias
422Error de validación

Flujo recomendado post-operación: ejecutar POST /market/mep-order → esperar confirmación vía webhook o polling con GET /api/market/mep-order/{mep_market_order_id} → consultar GET /api/portfolio/account-statements/{investment_account_id} para verificar la acreditación del saldo en USD.

h. Retiros (Cash Out)

Una vez acreditados los fondos en la cuenta comitente, el usuario puede retirarlos a una cuenta bancaria same-name:

POST /withdraw-requests

API Broker responde con la solicitud en estado IN_PROGRESS. La transferencia puede salir automáticamente en segundos o quedar pendiente de validación manual. El estado se notifica vía webhook:

{
  "topic": "withdraw_request_update",
  "items": [{
    "amount": 100,
    "status_id": "COMPLETED",
    "currency_id": "ARS",
    "bank_account_id": 121535,
    "withdraw_request_id": 984479,
    "investment_account_id": 74659
  }]
}

Estados posibles: IN_PROGRESS → COMPLETED / REJECTED


Validaciones y compliance

API Broker realiza automáticamente las siguientes validaciones. El partner no necesita implementar ninguna lógica regulatoria:

  • Validación de titularidad same-name
  • Control de CUIT bloqueado
  • Límites regulatorios (CNV)
  • Control de instrumentos autorizados
  • Verificación de disponibilidad real de fondos
  • Verificación de settlement y liquidez

Endpoints principales

MétodoEndpointDescripción
POST/v2/personsAlta de persona
POST/identity-documentsCarga de documentación de identidad
POST/v2/investment-accountsAlta de cuenta comitente
POST/bank-accountsAlta de cuenta bancaria
GET/dollar-exchange-by-tickers/{ticker_ars}/{ticker_usd}Cotización estimada MEP
POST/market/mep-orderCrear orden de compra/venta MEP
POST/withdraw-requestsRetiro de fondos

Webhooks a implementar

Tu plataforma debe exponer una URL para recibir los siguientes eventos:

deposit_create

Notifica los depósitos acreditados: investment_account_id, moneda, monto y fecha.

withdraw_request_update

Notifica el estado de los retiros: IN_PROGRESS, COMPLETED o REJECTED, junto con monto y cuenta destino.



Puntos clave para recordar

  1. El onboarding es prerequisito: el usuario necesita investment_account_id antes de operar MEP.
  2. La cuenta bancaria será obligatoria a partir de mayo 2025: aunque actualmente es opcional, conviene integrarla desde el inicio.
  3. API Broker gestiona toda la lógica regulatoria: no es necesario implementar validaciones CNV ni control de cupos del lado del partner.
  4. Las operaciones son T+0: compra y venta se ejecutan en el mismo día hábil.
  5. El external_id es clave para idempotencia: siempre enviarlo para evitar órdenes duplicadas.
  6. Los retiros son solo a cuentas same-name: no se admiten transferencias a terceros.
  7. Todo es asincrónico: siempre seguir el estado vía webhooks.

Did this page help you?