I recently experimented with the Coinbase iOS SDK, and I had problems getting custom Ethereum, Litecoin and Bitcoin Cash balances and historical transactions. Currently, I have only managed to do this with Bitcoin, USD and EUR, which seems to be consistent with the behavior of the demo application provided by Coinbase.
I configured the application on the Coinbase API access page using OAuth2, and the generated client ID and secret code are used in the application.
The problem seems to be due to the fact that I modified the Coinbase iOS SDK to allow me to pass the account parameter as' everything. This, I was hoping, would allow me to view the details of all user accounts (ETH, BTC, LTC, etc.), however I only get BTC, USD and EUR when calling getAccountsList on the Coinbase object.
NSString *accessToken = [response objectForKey:@"access_token"];
Coinbase *client = [Coinbase coinbaseWithOAuthAccessToken:accessToken];
[client getAccountsList:^(NSArray *accounts, CoinbasePagingHelper *paging, NSError *error) {
for (CoinbaseAccount *account in accounts) {
}
}];
This is surprising since the permission request page correctly requests all wallets from the user, as you can see in the screenshot below:

I suspect a solution to this would be to use API keys, as you can specify exactly which accounts to grant access to. However, I plan to distribute the application, so this method should not be used.

Here is an example of the url I am submitting:
https://www.coinbase.com/oauth/authorize?response_type=code&client_id=CLIENT_ID_GOES_HERE&account=all&scope=balance%20transactions%20user&redirect_uri=com.example-name.example-app.coinbase-oauth%3A%2F%2Fcoinbase-oauth
- , , OAuth, ? ? , , - . .
!