En liten datagrid-form koblet med en rett linje til en tannhjul-form som står alene til høyre.

Spillebotter og API: automatisering uten å bli låst ute

Boten kjører klokken tre om natten. Kontoen din bør fortsatt være der klokken ni. Betfair trekker en reell linje mellom de to måtene å komme dit på, og det er ikke den linjen de fleste forumtrådene beskriver.

En spillebot er et script som plasserer eller styrer spill uten en finger på musen. På Betfair Exchange er det ikke ordet «bot» som avgjør om det er tillatt, det er «API». Betfairs vilkår behandler et spill plassert på annen automatisert måte, altså ikke ved at kontoinnehaveren plasserer hvert spill manuelt, som mistenkelig aktivitet, men skjærer så API-et rett ut av den samme klausulen igjen: spill plassert gjennom det er uttrykkelig unntatt. En annen regel fanger også opp API-brukere: kontoen må forbli personlig, ikke en tjeneste som drives for noen andre. Før noe av dette betyr noe, må du teste logikken mot de forsinkede dataene til Delayed-nøkkelen og designe rundt API-ets egne grenser for antall forespørsler, samtidighet og innlogginger. Nøklene selv, hva hver av dem koster, og hva de fire meglerne selv sier om sine egne verktøy, har sin egen side, lenket under.

Hva regelen faktisk deler i to

Automatisering er én linje blant flere i det bredere settet av profesjonelle spillemetoder denne siden dekker, og den får sin egen side fordi reglene her er mer spesifikke enn at «sharpe spillere bruker programvare». Forumspråk behandler «bot» som én ting: programvare som plasserer spill. Betfairs vilkår er mer presise. Klausul 12.1.4 lister, blant aktivitetene den behandler som mistenkelig, et spill plassert «otherwise than through the Account holder placing each Bet manually», som lest isolert ville fanget opp hvert script som noensinne er skrevet. Den leses ikke isolert: samme klausul har sitt eget unntak, presisert for å unngå tvil, om at spill plassert «via the Application Programming Interface (API)» ikke er inkludert. Setter du de to bitene sammen, er skillet eksakt: et script som klikker seg gjennom den vanlige nettsiden, er det klausulen retter seg mot, og et script som snakker med API-et, er unntaket klausulen selv navngir.

Apropos: «bot» gjør mye av jobben i den setningen, og selve ordet dukker aldri opp i klausulen. Betfairs jurister skrev i stedet «otherwise than through the Account holder placing each Bet manually», som er en lengre måte å si det samme på, men en mye vanskeligere setning å sitere feil. Tilbake til hva det betyr for deg.

Så regelen er ikke «botter er forbudt» og ikke «botter er greit». Den er snevrere: et uoffisielt script som jobber nettsiden som et svært raskt par hender, hører hjemme i en klausul om mistenkelig aktivitet, mens samme logikk koblet til det offisielle API-et hører hjemme i unntaket. Noen som trader stigen for hånd og et script som gjør det samme gjennom API-et, blir behandlet forskjellig av det samme dokumentet, og forskjellen er døren, ikke strategien bak den.

Grensen for personlig bruk, og hvor en bot kan krysse den

En annen klausul betyr like mye og blir lest langt mindre. Betfair kan behandle bruken av en konto som forbudt «if we suspect (acting reasonably) that your Account's usage represents 'business usage'», definert med vilje vidt: «'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» (klausul 11.2.13). Det har ingenting å gjøre med API-unntaket over. Et script kan ligge trygt innenfor unntaket i 12.1.4 og likevel komme i konflikt med 11.2.13, hvis det faktisk kjører spill for noen andre, fôrer en abonnementstjeneste, eller fungerer som motoren bak et produkt som selges til andre spillere.

Jeg ville behandlet de to klausulene som svar på ulike spørsmål. Klausul 12.1.4 spør hvordan spillet ble plassert. Klausul 11.2.13 spør hvis penger og hvis avgjørelse det egentlig var. En bot som bare virker på én persons egen konto, klarerer det andre spørsmålet som standard. En bot som forvalter innsatsene til flere personer, eller selger signalene sine, gjør ikke det, uansett hvilken dør den bruker for å plassere spillet.

Hver vei inn i API-et starter fra en verifisert konto. Betfairs egen utviklerhjelp sier det rett ut: uten en Betfair-konto kan du ikke «proceed with licensing» i det hele tatt, og identitetskontrollene verifiseringen faktisk innebærer, kommer før noen nøkkel. Kommersiell automatisering har sin egen separate vei gjennom Betfairs forretningsside, ikke en personlig nøkkel med et større budsjett.

API-et er døren. Et script på nettsiden er det ikke.

Hva du bør teste før en Live-nøkkel blir finansiert

Alle som bygger en bot, vil hoppe rett til å plassere spill. Den ærlige rekkefølgen går motsatt vei: bevis logikken mot data som med vilje er saktere enn realtid, med den minste innsatsen spillestedet tillater, før en betalt nøkkel eller en seriøs bankroll er i nærheten av den.

Betfair Delayed-nøkkel: hvor gamle prisdataene kan være

Kilde: Betfairs utviklerdokumentasjon, FACTS-betfair.md avsnitt 6.

Diagramdata
PostVerdi
Raskeste øyeblikksbilde1
Saktest øyeblikksbilde180

Det spennet, ett sekund i beste fall og opp til tre minutter i verste, er ikke en avrundingsfeil å avfeie. En pris et script sist så som rimelig, kan ha beveget seg langt forbi den i det scriptet handler, og det finnes ingen sandkasse som demper det: Betfairs egen dokumentasjon sier at det ikke finnes noe testmiljø som lar noen teste uten å bruke ekte midler. Hvert spill en Delayed-nøkkel plasserer, er et ekte spill med et ekte resultat, og det er grunnen til at den minste innsatsen spillestedet tillater, er den eneste forsvarlige måten å kjøre dette trinnet på.

Et hypotetisk eksempel, der hvert tall er oppfunnet bare for regnestykket. Si at et script observerer en pris på 2,10, bestemmer seg for å backe den, og API-et gir tilbake et øyeblikksbilde som er 180 sekunder gammelt akkurat da. Et mål, et rødt kort eller en sen scratch kan skje på tre minutter, så prisen scriptet tror det backer, og prisen som faktisk er tilgjengelig når ordren lander, kan være to forskjellige tall. Ingen smart logikk et hakk høyere opp retter opp en avgjørelse bygget på utdaterte data; forsinkelsen selv, ikke strategien lagt på toppen av den, er det første som er verdt å teste.

Spillestedet er bare halve bildet; den andre halvdelen er dataflyten en bot faktisk reagerer på, og et script bygget på tynn historikk vil feile uansett hvilken nøkkel det kjører på. Sjekk regnestykket for hånd med en kalkulator før du stoler på scriptets egne tall, og husk at exchange-kommisjon fortsatt trekkes fra alle vinnende spill; hva det gjør med en bots nettotall er verdt å lese før en strategi dømmes som en suksess på papiret.

En rad med små mekaniske armer over en spillekupong, alle utenom én stanset midt i bevegelsen.
Mesteparten av en bot venter. Delen som utløses, er delen reglene bryr seg om.

Grensene et script må designes rundt

Ingenting av dette handler om hvorvidt automatisering er tillatt. Det handler om taket API-et selv setter for hvordan et script kan oppføre seg, satt opp i klare tall i stedet for overlatt til gjetting. Fire av dem betyr mest når et script fortsatt er på tegnebordet, og sammen med forsinkelsesvinduet til Delayed-nøkkelen over, er de tall Betfair kan revidere; sjekk de gjeldende vilkårene før du designer produksjonskode rundt noen av dem.

  • Et tak på 200 poeng for forespørsler om markedsdata. Kostnaden legges sammen over markedene og typen data som etterspørres; å gå over totalen gir en feilmelding i stedet for dataene.
  • Et tak på 3 samtidige forespørsler for ordre- og posisjonskall. Å sjekke aktive ordrer, gevinst og tap, eller oppgjorte ordrer mer enn tre ganger samtidig, mens tidligere kall fortsatt kjører, blir avvist i stedet for satt i kø.
  • Et tak på 1000 instruksjoner per sekund for å plassere, kansellere, oppdatere eller erstatte ordrer. Det gjelder hele kontoen over alle åpne tilkoblinger, ikke ett enkelt script isolert.
  • En utelåsning på 20 minutter etter for mange mislykkede innlogginger. Hvert videre innloggingsforsøk blir automatisk avvist i den perioden, uansett hva som forårsaket de tidligere feilene.

Et andre hypotetisk eksempel, og det som faktisk fanger folk. Et script med en feil i innloggingshåndteringen rekker ikke å oppdatere sesjonen i tide, og prøver på nytt i en tett løkke i stedet for å trekke seg tilbake. Tjue minutter er omtrent en fotballomgang; utløser du utelåsningen ved avspark, går scriptet glipp av mer av kampen enn det noensinne fikk med seg. Løsningen er mindre dramatisk enn historien: hold sesjonen i live, og behandle en mislykket innlogging som en grunn til å stoppe, ikke til å prøve igjen umiddelbart.

Hvor en meglers egne vilkår legger til et lag til

Alt over er Betfairs eget regelverk, og det gjelder bare for en Betfair-konto du har direkte selv. Et exchange-verktøy hos en megler er et annet produkt, åpnet hos megleren, ikke hos Betfair, så Betfairs API-klausuler følger ikke automatisk med dit. Det som betyr noe i stedet, er hver meglers egne vilkår, og de sier ikke alle det samme om script: noen publiserer et eget API, andre forbyr automatisert tilgang helt og holdent. Behandle en meglers anti-skraping-klausul som dens egen husregel å respektere og rapportere hvis den endres, aldri som noe å gå rundt. Hva hver megler allerede sier om botter har detaljene megler for megler, sammen med hva nøklene koster; denne siden gjentar ikke det.

Hvis å bygge og vedlikeholde et script ikke egentlig er prosjektet du vil ha, har meglerne allerede pakket inn noe av dette: automatisering innebygget hos en megler i stedet dekker det som kommer ferdigbygget, ingen kode nødvendig. En konto flagget for mistenkelig aktivitet under klausul 12.1.4, automatisert eller ikke, blir heller ikke stille oversett; hvordan en kontorestriksjon faktisk ser ut dekker den siden av det.

Jeg ville ikke bygget noe før jeg leste den spesifikke meglerens gjeldende vilkår, ikke et forumsammendrag. Vilkårene til de fire meglerne sammenlignet side om side er den raskeste måten å se hvor automatisering er velkommen, hvor det er stille om det, og hvor det er forbudt helt og holdent.

Spørsmål folk stiller

Er det mot reglene å bruke en spillebot på Betfair Exchange?

Ikke automatisk. Betfairs vilkår behandler et spill plassert på andre automatiserte måter, utenom at kontoinnehaveren plasserer hvert spill manuelt, som mistenkelig aktivitet, men unntar deretter uttrykkelig spill plassert via det offisielle API-et fra den samme klausulen. Et script som jobber gjennom API-et, hører hjemme i unntaket; ett som jobber den vanlige nettsiden som svært raske hender, gjør ikke det.

Kan en spillebot kjøres for noen andre, eller som en forretning?

Det krysser en egen grense. Betfair kan behandle en konto som forbudt hvis det med rimelighet mistenker at bruken teller som forretningsbruk, definert til å inkludere bruk av en spilloperatør eller av noen som leverer data eller tjenester til en. En personlig konto er til innehaverens egen spilling, automatisert eller ikke.

Hva er den egentlige forskjellen mellom en spillebot og Betfair-API-et?

«Bot» er en kortversjon for programvaren; API-et er den spesifikke, sanksjonerte kanalen Betfair har bygget for automatisert tilgang. Vilkårene dømmer ikke programvare etter merkelappen som er satt på den, bare etter hvilken kanal som plasserte spillet.

Kan en spillebot testes uten å sette ekte penger på spill?

Ikke på Delayed-nøkkelen, det frie utviklingsalternativet: Betfair sier at det ikke finnes noe testmiljø som lar noen teste uten å bruke ekte midler, så hvert spill den plasserer, er et ekte spill med et ekte resultat, best holdt til den minste innsatsen mens logikken fortsatt er under bevisføring.

Hvor fort kan en spillebot plassere ordrer før API-et begrenser den?

Takene Betfair setter opp er et tak på 200 poeng for hvor mye markedsdata én forespørsel kan be om, en grense på 3 samtidige forespørsler for ordre- og posisjonskall, og et tak på 1000 ordreinstruksjoner over hele kontoen i løpet av ett sekund. For mange mislykkede innlogginger legger på en utelåsning på 20 minutter. Sjekk den gjeldende dokumentasjonen før du baserer produksjonskode på noen av disse.

Tillater sportsspillmeglerne på denne siden spillebotter?

Det varierer fra megler til megler, og denne siden gjentar ikke detaljene; siden som dekker hver meglers egen holdning til API og automatisering har det megler for megler, sammen med hva Betfair-nøklene koster.