Considering the BGSDK is primarily used to read the user's wallet, you will typically make infrequent calls to the API; as such you will typically refresh the authentication immediately before any major client-side transactions, perform all desired transactions in bulk, and cache the results in game memory. This reduces the duration of API exchange and reduces the likelihood of the token being expired on API call.