Uma pequena grelha de dados ligada por uma linha reta a uma forma de roda dentada isolada à direita.

Bots de Apostas e API: Automatizar Sem Perder o Acesso à Conta

O bot corre às 3 da madrugada. A sua conta devia continuar lá às 9. A Betfair traça uma linha real entre as duas formas de lá chegar, e não é a linha que a maioria dos fóruns descreve.

Um bot de apostas é qualquer script que coloca ou gere apostas sem um dedo no rato. Na Betfair Exchange, a palavra que decide se isso é permitido não é «bot», é «API». As condições da Betfair tratam uma aposta colocada por outros meios automatizados, fora do titular a colocar cada aposta manualmente, como atividade suspeita, e depois excluem explicitamente a API dessa mesma cláusula: as apostas feitas através dela ficam de fora. Uma segunda regra também apanha quem usa a API: a conta tem de continuar pessoal, não um serviço para outra pessoa. Antes de mais, teste a lógica contra os dados com atraso da chave Delayed e desenhe-o em torno dos limites da própria API sobre pedidos, concorrência e inícios de sessão. As chaves, os seus custos, e o que os quatro brokers dizem sobre as próprias ferramentas têm página própria, ligada abaixo.

O que a regra realmente separa

A automatização é uma linha entre várias dentro do conjunto mais amplo de métodos de apostas profissionais que este site cobre, e tem a sua própria página porque as regras aqui são mais específicas do que «apostadores sharp usam software». O resumo de fórum trata «bot» como uma coisa só: software a colocar apostas. As condições da Betfair são mais precisas. A cláusula 12.1.4 lista, entre as atividades que trata como suspeitas, uma aposta colocada «otherwise than through the Account holder placing each Bet manually» (de outra forma que não o titular da conta a colocar cada aposta manualmente), que lida isoladamente apanharia todos os scripts já escritos. Não é lida isoladamente: a mesma cláusula tem a sua própria exceção, dita para evitar dúvidas, de que as apostas colocadas «via the Application Programming Interface (API)» (através da API) não estão incluídas. Junte os dois fragmentos e a divisão é exata: um script a clicar através do site normal é o que a cláusula visa, e um script a falar com a API é a exceção que a própria cláusula nomeia.

Nota à margem: «bot» está a fazer muito trabalho nessa frase, e a palavra nunca aparece de facto na cláusula. Os advogados da Betfair escreveram «otherwise than through the Account holder placing each Bet manually» em vez disso, uma forma mais longa de dizer o mesmo, mas uma frase muito mais difícil de citar mal. De volta ao que isto significa para si.

Portanto a regra não é «bots são proibidos» nem «bots estão bem». É mais estreita: um script não oficial a trabalhar o site como um par de mãos muito rápido cabe dentro de uma cláusula sobre atividade suspeita, enquanto a mesma lógica ligada à API oficial cabe dentro da exceção. Alguém a fazer trading na escada à mão e um script a fazer o mesmo através da API são tratados de forma diferente pelo mesmo documento, e a diferença é a porta, não a estratégia por detrás dela.

A linha do uso pessoal, e onde um bot a pode cruzar

Uma segunda cláusula importa tanto quanto a primeira e é lida muito menos. A Betfair pode tratar o uso de uma conta como proibido «if we suspect (acting reasonably) that your Account's usage represents 'business usage'» (se suspeitarmos, de forma razoável, que o uso da sua conta representa «uso comercial»), definido deliberadamente de forma ampla: «'business usage' includes any use by a betting operator or any use by an individual or organisation supplying data or services to a betting operator» (o uso comercial inclui qualquer uso por um operador de apostas ou qualquer uso por uma pessoa ou organização que forneça dados ou serviços a um operador de apostas) (cláusula 11.2.13). Isso nada tem a ver com a exceção da API acima. Um script pode estar perfeitamente dentro da exceção da 12.1.4 e ainda assim infringir a 11.2.13 se na verdade estiver a correr apostas para outra pessoa, a alimentar um serviço de subscrição, ou a funcionar como o motor de um produto vendido a outros apostadores.

Eu trataria as duas cláusulas como respostas a perguntas diferentes. A cláusula 12.1.4 pergunta como a aposta foi colocada. A cláusula 11.2.13 pergunta de quem era realmente o dinheiro e a decisão. Um bot que só atua na própria conta de uma pessoa passa a segunda pergunta por omissão. Um bot que gere as apostas de várias pessoas, ou que vende os seus sinais, não passa, seja qual for a porta que usa para colocar a aposta.

Toda a via de entrada na API começa com uma conta verificada. A própria ajuda para programadores da Betfair diz isso com clareza: sem uma conta da Betfair, «you cannot proceed with licensing» (não pode avançar com o licenciamento) de forma alguma, e as verificações de identidade que isso realmente envolve vêm antes de qualquer chave. A automatização comercial tem a sua própria via em separado através do lado empresarial da Betfair, não uma chave pessoal com um orçamento maior.

A API é a porta. Um script no site não é.

O que testar antes de financiar uma chave Live

Todos os que constroem um bot querem saltar diretamente para colocar apostas. A ordem honesta é o contrário: prove a lógica contra dados deliberadamente mais lentos do que o tempo real, com o menor montante que o local permitir, antes de uma chave paga ou uma banca a sério estarem perto disso.

Chave Delayed da Betfair: quão antigos podem ser os dados de preços

Fonte: documentação de programadores da Betfair, FACTS-betfair.md secção 6.

Dados do gráfico
ElementoValor
Instantâneo mais rápido1
Instantâneo mais lento180

Esse intervalo, um segundo na melhor das hipóteses e até três minutos na pior, não é um erro de arredondamento a ignorar. Um preço que um script viu por último como razoável pode já ter-se movido bem para além dele quando o script agir, e não há nenhum ambiente de teste para suavizar isso: a própria documentação da Betfair afirma que não existe nenhum test bed que permita a alguém testar sem usar fundos reais. Toda a aposta que uma chave Delayed coloca é uma aposta real com um resultado real, e é por isso que o menor montante que o local permitir é a única forma sensata de correr esta fase.

Uma hipótese, com todos os valores inventados só para a aritmética. Digamos que um script vigia um preço parado em 2,10, decide fazer back, e a API devolve um instantâneo com 180 segundos de atraso nesse exato momento. Um golo, um cartão vermelho ou uma desistência de última hora podem acontecer em três minutos, por isso o preço que o script pensa estar a apostar e o preço realmente disponível quando a ordem chega podem ser dois números diferentes. Nenhuma lógica inteligente a montante corrige uma decisão construída sobre informação desatualizada; o próprio atraso, não a estratégia por cima dele, é a primeira coisa que vale a pena testar.

O local é só metade do quadro; a outra metade é o feed a que um bot realmente reage, e um script construído sobre um histórico curto vai falhar seja qual for a chave em que corre. Confirme as contas à mão numa calculadora antes de confiar nos números do próprio script, e lembre-se de que a comissão da exchange continua a ser retirada de qualquer aposta vencedora; o que isso faz aos números líquidos de um bot vale a pena ler antes de uma estratégia ser julgada um sucesso no papel.

Uma fila de pequenos braços mecânicos sobre um boletim de aposta, todos parados a meio do movimento excepto um.
A maior parte de um bot está à espera. A parte que dispara é a parte com que as regras se preocupam.

Os limites que um script tem de ter em conta

Nada disto é sobre se a automatização é permitida. É sobre o limite que a própria API impõe ao comportamento de um script, estabelecido em números concretos em vez de deixado ao palpite. Quatro deles importam mais quando um script ainda está no papel, e, junto com a janela de atraso da chave Delayed acima, são valores que a Betfair pode revisar; verifique as condições atuais antes de desenhar código de produção em torno de qualquer um deles.

  • Um limite de 200 pontos nos pedidos de dados de mercado. O custo soma-se entre os mercados e o tipo de dados pedido; ultrapassar o total devolve um erro em vez dos dados.
  • Um limite de 3 pedidos simultâneos nas chamadas de ordens e posições. Verificar ordens atuais, lucro e perda, ou ordens liquidadas mais de três vezes ao mesmo tempo, enquanto chamadas anteriores ainda estão a correr, é recusado em vez de colocado em fila.
  • Um limite de 1.000 instruções por segundo para colocar, cancelar, atualizar ou substituir ordens. Isso cobre toda a conta em todas as ligações abertas, não um único script isolado.
  • Um bloqueio de 20 minutos depois de demasiadas tentativas de início de sessão falhadas. Qualquer tentativa de início de sessão seguinte é automaticamente recusada durante esse período, seja qual for a causa das falhas anteriores.

Uma segunda hipótese, e a que realmente apanha as pessoas. Um script cuja gestão de início de sessão tem um bug falha a renovar a sessão a tempo e tenta de novo num ciclo apertado em vez de recuar. Vinte minutos é mais ou menos uma parte de um jogo de futebol; acionar o bloqueio ao apito inicial faz o script perder mais do jogo do que alguma vez chegou a apanhar. A correção é mais aborrecida do que a história: mantenha a sessão, e trate um início de sessão falhado como motivo para parar, não para tentar de novo de imediato.

Onde as condições de cada broker acrescentam uma camada

Tudo o que foi dito acima é o regulamento da própria Betfair, e só se aplica a uma conta da Betfair detida diretamente. A ferramenta de exchange de um broker é um produto diferente, aberto com o broker, não com a Betfair, por isso as cláusulas de API da Betfair não seguem automaticamente para lá. O que importa em vez disso são as condições de cada broker, e não dizem todas a mesma coisa sobre scripts: alguns publicam a sua própria API, outros proíbem por completo o acesso automatizado. Trate a cláusula anti-scraping de um broker como a sua própria regra da casa, a respeitar e a assinalar se mudar, nunca como algo para contornar. O que cada broker já diz sobre bots tem o detalhe broker a broker, a par do que as chaves custam; esta página não o vai repetir.

Se construir e manter um script não é realmente o projeto desejado, os brokers já empacotam parte disto: a automatização incorporada de um broker em vez disso cobre o que já vem pronto, sem código necessário. Uma conta assinalada por atividade suspeita nos termos da cláusula 12.1.4, automatizada ou não, também não é ignorada em silêncio; o que uma restrição de conta realmente parece cobre esse lado da questão.

Eu não construiria nada antes de ler as condições atuais do broker específico, não um resumo de fórum. As condições dos quatro brokers comparadas lado a lado é a forma mais rápida de ver onde a automatização é bem-vinda, onde é omissa, e onde é proibida por completo.

Perguntas frequentes

Usar um bot de apostas na Betfair Exchange vai contra as regras?

Não automaticamente. As condições da Betfair tratam uma aposta colocada por outros meios automatizados, fora do titular da conta a colocar manualmente cada aposta, como atividade suspeita, e depois excluem explicitamente dessa mesma cláusula as apostas colocadas via API oficial. Um script a trabalhar através da API cabe na exceção; um a trabalhar o site normal como mãos muito rápidas não cabe.

Um bot de apostas pode ser usado para outra pessoa, ou como negócio?

Isso cruza uma linha separada. A Betfair pode tratar uma conta como proibida se suspeitar, de forma razoável, que o uso conta como uso comercial, definido para incluir o uso por um operador de apostas ou por qualquer pessoa que lhe forneça dados ou serviços. Uma conta pessoal é para as apostas do próprio titular, automatizadas ou não.

Qual é a verdadeira diferença entre um bot de apostas e a API da Betfair?

«Bot» é uma forma abreviada de dizer software; a API é o canal específico e sancionado que a Betfair construiu para o acesso automatizado. As condições não julgam o software pelo rótulo que lhe é dado, só pelo canal que colocou a aposta.

Um bot de apostas pode ser testado sem arriscar dinheiro real?

Não na chave Delayed, a opção gratuita de desenvolvimento: a Betfair diz que não existe nenhum test bed que permita a alguém testar sem usar fundos reais, por isso toda a aposta que ela coloca é uma aposta real com um resultado real, melhor mantida ao menor montante enquanto a lógica ainda está a ser comprovada.

Com que rapidez pode um bot de apostas colocar ordens antes de a API o abrandar?

Os limites que a Betfair estabelece são um máximo de 200 pontos para quantos dados de mercado um pedido pode exigir, um limite de 3 pedidos simultâneos nas chamadas de ordens e posições, e um máximo de 1.000 instruções de ordens em toda a conta num único segundo. Demasiadas tentativas de início de sessão falhadas acrescentam um bloqueio de 20 minutos a isso. Verifique a documentação atual antes de confiar em qualquer um destes valores para código de produção.

Os brokers de apostas desportivas deste site permitem bots de apostas?

Varia de broker para broker, e esta página não vai repetir o detalhe; a página que cobre a posição de cada broker sobre APIs e automatização tem-no broker a broker, a par dos custos das chaves da Betfair.