Files
ritmex-bot/docs/ccxt/wiki/examples/py/bitfinex-rate-limiting.md
2025-10-03 15:28:16 +08:00

1015 B
Raw Permalink Blame History

# -*- coding: utf-8 -*-

import os
import sys


import ccxt  # noqa: E402


symbol = 'ETH/BTC'

exchange = ccxt.bitfinex({

   # BITFINEX RATELIMITS DON'T CORRESPOND TO THEIR DOCUMENTATION!

   # their actual rate limit is significantly more strict than documented!
   'rateLimit': 3000,  # once every 3 seconds, 20 times per minute  will work

   # this is their documented ratelimit according to this page:
   # https://docs.bitfinex.com/v1/reference#rest-public-orderbook
   # 'rateLimit': 1000,  # once every second, 60 times per minute  won't work, will throw DDoSProtection
})

for i in range(0, 100):
   print('--------------------------------------------------------------------')
   print(i)
   print('sent:', exchange.iso8601(exchange.milliseconds()))
   orderbook = exchange.fetch_order_book(symbol)
   print('received:', exchange.iso8601(exchange.milliseconds()), 'bid:', orderbook['bids'][0], 'ask:', orderbook['asks'][0])