Grunnatriði

Beiðnatakmörk

Takmörk á hvern lykil og hvern aðgang halda API-inu hröðu fyrir alla. Hvert svar segir þér hvar þú stendur, og forrit sem hagar sér vel verður aldrei vart við þau.

Hvernig takmörkin virka

Hver endapunktur tilheyrir flokki. Hver flokkur hefur fötur fyrir lykilinn og fyrir allan aðganginn: hver beiðni tekur einn miða úr hvorri fötu, og föturnar fyllast jafnt og þétt aftur, upp að stærð sinni. Föturnar fyrir aðganginn sjá til þess að fimm lyklar á sama aðgangi fá ekki fimmföld takmörk.

FlokkurEndapunktarÁ lykilÁ aðgang
market10 á sekúndu, allt að 20 í einu20 á sekúndu
read5 á sekúndu, allt að 10 í einu10 á sekúndu
quote1 á sekúndu; 30 á mínútu60 á mínútu
trade10 á mínútu10 á mínútu; 500 á dag
giftcard5 á klukkustund5 á klukkustund
withdrawal10 á klukkustund10 á klukkustund; 20 á dag

GET /v1/status er ekki takmarkað á lykil. GET /v1/limits skilar þessum tölum líka, undir rate_limits.

Samtímis beiðnir

Mest 5 beiðnir á lykil og 10 á aðgang mega vera í vinnslu í einu. Beiðni umfram það fær 429 too_many_concurrent_requests með Retry-After: 1, og miðanum sem hún tók er skilað.

Aðeins ein viðskipti eru framkvæmd í einu á hverjum aðgangi: önnur POST /v1/trades beiðni, meðan fyrri viðskipti eru enn í vinnslu, fær líka 429 too_many_concurrent_requests.

Hausar

Hvert undirritað svar segir hvaða fötur eiga við og hve mikið er eftir í þeim, á því sniði sem drög IETF að RateLimit hausum lýsa:

  • RateLimit-Policy telur upp föturnar: q beiðnir á hverjum w sekúndum.
  • RateLimit gefur, fyrir hverja fötu, r beiðnir sem eru eftir og t sekúndur þar til hún er full aftur.
  • Retry-After á 429 eða 503 svari er fjöldi sekúndna sem á að bíða.

Fyrir read flokkinn, strax eftir fyrstu beiðni:

Hausar svars
RateLimit-Policy: "key-read-1s";q=10;w=2, "account-read-1s";q=10;w=1
RateLimit: "key-read-1s";r=9;t=1, "account-read-1s";r=9;t=1

Stöðvun

Lykill sem rekst ítrekað á takmörkin er stöðvaður í 15 mínútur. Það gerist þegar lykillinn hefur, innan 10 mínútna, sent að minnsta kosti 100 beiðnir, meira en 50 % þeirra voru takmarkaðar, og takmörkunin varð á minnst 3 mismunandi mínútum. Ein skorpa sem föturnar ráða við stöðvar aldrei lykil; lykkja sem hunsar 429 gerir það.

Meðan lykillinn er stöðvaður fær hver beiðni 429 key_suspended, og eigandi aðgangsins fær tölvupóst. Við þriðju stöðvun innan sólarhrings helst lykillinn stöðvaður þar til eigandinn virkjar hann aftur undir Stillingar → API.

Óháð þessu loka 20 misheppnaðar auðkenningar frá sömu IP tölu innan 5 mínútna á þá IP tölu í 15 mínútur.

Mörk á upphæðum og fjölda

Beiðnatakmörk vernda þjónustuna. Þessi mörk snúast um peninga, og þau eiga við aðganginn:

  • minnstu og stærstu viðskipti, í USDC;
  • dagleg velta og fjöldi viðskipta í gegnum API-ið, á hvern aðgang (UTC dagur);
  • fjöldi gjafabréfa á dag og á 30 dögum, verðmæti þeirra á 30 dögum, og hámark á hvert gjafabréf.

GET /v1/limits sýnir gildin og hve mikið þú hefur notað af þeim. Að fara yfir þau gefur 422 (amount_below_minimum, amount_above_maximum eða limit_exceeded), aldrei 429.

Að halda sig innan takmarkanna

  • Bíddu við 429. Bíddu í Retry-After sekúndur og reyndu svo aftur með veldisvaxandi bið og slembitöf. SDK-in gera þetta, og reyna aldrei aftur við key_suspended.
  • Takmarkaðu fjölda samtímis beiðna. Hafðu mest 5 beiðnir í gangi í einu, með biðröð, í stað þess að nota Promise.all á langan lista.
  • Sæktu öll verð í einu. GET/v1/prices skilar verði allra rafmynta í einu kalli og er geymt í skyndiminni í sekúndu. Það skilar engu að kalla oftar en einu sinni á sekúndu, eða að biðja um hverja rafmynt fyrir sig.
  • Geymdu rafmyntalistann. GET/v1/assets breytist sjaldan og er geymt í skyndiminni í 30 sekúndur.
  • Fylgstu rólega með viðskiptum í bið. Eftir 202 skaltu kanna GET/v1/trades/{id} á einnar til tveggja sekúndna fresti, með vaxandi bið, frekar en í þéttri lykkju. buy() og sell() í SDK-unum gera þetta í allt að 30 sekúndur.
  • Notaðu bendla og síur í stað þess að sækja alla færslusöguna aftur.
  • Lagaðu klukkuna, ekki endurtekningarlykkjuna. 401 lagast ekki við að reyna aftur, og ítrekaðar villur loka á IP töluna þína.