Write a Python client library that wraps the banking API. Include authentication, retry logic with exponential backoff, and rate limit handling.