Error Handling
from defistream import DeFiStream
from defistream.exceptions import (
DeFiStreamError,
AuthenticationError,
QuotaExceededError,
RateLimitError,
ValidationError
)
client = DeFiStream()
try:
df = (
client.erc20.transfers("USDT")
.network("ETH")
.block_range(21000000, 21010000)
.as_df()
)
except AuthenticationError:
print("Invalid API key")
except QuotaExceededError as e:
print(f"Quota exceeded. Remaining: {e.remaining}")
except RateLimitError as e:
print(f"Rate limited. Retry after: {e.retry_after}s")
except ValidationError as e:
print(f"Invalid request: {e.message}")
except DeFiStreamError as e:
print(f"API error: {e}") Response Headers
Access rate limit and quota information:
df = (
client.erc20.transfers("USDT")
.network("ETH")
.block_range(21000000, 21010000)
.as_df()
)
# Access response metadata
print(f"Rate limit: {client.last_response.rate_limit}")
print(f"Remaining quota: {client.last_response.quota_remaining}")
print(f"Request cost: {client.last_response.request_cost}")