Skip to main content

📖 Descrição

Este endpoint retorna as oportunidades de arbitragem entre as exchanges especificadas, com opção de incluir as cotações de preços e filtros avançados para refinar as buscas.

🛠️ Requisição

Método

GET

URL

/v1/arbitrage

Parâmetros de Query

ParâmetroTipoObrigatórioDescrição
buyExchangestringSimLista de exchanges para compra, separadas por vírgula
sellExchangestringSimLista de exchanges para venda, separadas por vírgula
includePricesQuotebooleanNãoSe true, inclui as cotações de preços na resposta
networkMatchbooleanNãoSe true, filtra apenas operações com redes compatíveis
volumeMinfloatNãoVolume mínimo de negociação (considera volume_best_buy ou volume_best_sell)
spreadMinfloatNãoSpread mínimo de lucro em percentual (profit_percent_ask_bid)

Exemplo de Requisição

Exemplo 1: Requisição básica
curl --location 'localhost:8080/v1/arbitrage?buyExchange=Mercado+Bitcoin,Binance,Bitget&sellExchange=Binance,Mercado+Bitcoin,Bitget,Crypto.com,Gate.io&includePricesQuote=true'
Exemplo 2: Com filtros avançados
curl --location 'localhost:8080/v1/arbitrage?buyExchange=binance&sellExchange=kucoin&networkMatch=true&volumeMin=1000&spreadMin=2.0'

Exemplo de Resposta

{
  "exchanges": {
    "buy": ["Mercado Bitcoin", "Binance", "Bitget"],
    "sell": ["Binance", "Mercado Bitcoin", "Bitget", "Crypto.com", "Gate.io"]
  },
  "opportunities": [
    {
      "pair": "BTC/USD",
      "buyExchange": "Binance",
      "sellExchange": "Gate.io",
      "buyPrice": 25000.00,
      "sellPrice": 25500.00,
      "profit": 500.00,
      "priceQuotes": {
        "Binance": 25000.00,
        "Gate.io": 25500.00
      }
    }
  ],
  "timestamp": "2025-03-18T12:00:00Z"
}

📝 Notas sobre os Parâmetros

Os parâmetros de query permitem configurar a busca por oportunidades de arbitragem:
  • buyExchange: Define as exchanges onde serão buscados preços para compra
  • sellExchange: Define as exchanges onde serão buscados preços para venda
  • includePricesQuote: Quando true, retorna as cotações de todas as exchanges consultadas
  • networkMatch: Quando true, filtra apenas operações que possuem pelo menos uma rede comum entre as exchanges de compra e venda
  • volumeMin: Filtra operações onde pelo menos um dos volumes (compra ou venda) atende ao valor mínimo especificado
  • spreadMin: Filtra operações com spread de lucro igual ou superior ao valor especificado em percentual

Comportamento dos Filtros Avançados

Filtro de Match de Redes (networkMatch)
  • Quando networkMatch=true, apenas operações que possuem pelo menos uma rede comum (ex: ERC20, TRC20, BEP20) entre as exchanges de compra e venda serão retornadas
  • Valor padrão: false (não filtra)
  • Campo utilizado: common_networks (array de strings)
Filtro de Volume Mínimo (volumeMin)
  • Filtra operações onde volume_best_buy >= volumeMin OU volume_best_sell >= volumeMin
  • Valor padrão: null (não filtra)
  • Campos utilizados: volume_best_buy ou volume_best_sell
Filtro de Spread Mínimo (spreadMin)
  • Filtra operações com spread de lucro igual ou superior ao valor especificado
  • Valor padrão: null (não filtra)
  • Campo utilizado: profit_percent_ask_bid
Todos os novos filtros são opcionais. Os filtros são aplicados em conjunto (AND lógico), então uma operação deve atender a todos os filtros especificados para ser retornada.

🔍 Exchanges Suportadas

Certifique-se de que as exchanges especificadas nos parâmetros estejam entre as suportadas pelo sistema.