Coinbase API - transfer between currencies, EOS-BTC - coinbase-api

In the API reference I see buy/sell, that requires a FIAT token. Is there an option in the Coinbase API that will allow me to transfer/convert from one wallet to another, say EOS to BTC ? or actually I want to transfer between USDC and BTC ?

Related

Coinbase Connect (OAUTH2) - Preselect Wallet Currency

When i redirect a user to the coinbase oauth url, the "BTC Wallet" in "Wallet Access" is always preselected. Is it possible to send an additional information as query parameter or scope to preselect the desired wallet currency (As example ETH).
Coinbase OAuth Landing Page Screenshot
Problem solved. It is possible to request all wallets with an additional parameter "accounts=all". See Coinbase Connect OAuth2 Reference. Not exactly the requestes future, but serves for the needed purpose.

Coinbase API call to get crypto spot prices

Just started exploring CoinBase APIs.
I found that
there is a new set of APIs under the umbrella of Coinbase Cloud: https://www.coinbase.com/cloud
there is an older(legacy?) set of APIs known as Coinbase Digital API: https://developers.coinbase.com/
I need to programmatically fetch current spot price for certain cryptocurrencies, I found an endpoint for this in the old API: https://api.coinbase.com/v2/prices/
Is this the correct API call to get the prices?
Is there an equivalent endpoint in one of the new Coinbase Cloud APIs?
you can use the spot price api
https://docs.cloud.coinbase.com/sign-in-with-coinbase/docs/api-prices#get-spot-price
example: https://api.coinbase.com/v2/prices/BTC-USD/spot
or you can use the ticker api (I think this is the better option)
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getproductticker
example: https://api.pro.coinbase.com/products/BTC-USD/ticker

Send off_blockchain transaction using bitcoin address (instant send)

When you paste bitcoin address in Coinbase web UI, it recognizes when the recipient has the "instant send" feature turned on and suggests sending the transaction off chain. Is there such a feature in the API?
Right now if you send to an address of Coinbase user with "instant send" feature on, the API always sends it through the blockchain. Coinbase API docs don't have anything like off_blockchain param for send transactions. Is there a way to do this via API? Or perhaps an endpoint to get a user's email using the BTC address and then sending via that email?
you have a choice on the "to" parameter on the send transaction in coinbase api
if you use a crypto account address, then it goes on block chain and incurs fees
if you use an email address, it goes off block chain and there are no fees
this was only discovered over many hours of trial and error.
we have yet to test this on the coinbase pro api

Coinbase API keys required for non-auth endpoints?

Using the coinbase API (in Python) to try and get price information for currency pairs. supposedly this endpoint does not require authentication and sure you can get the information from a http request. But if you want to use the Client from coinbase.wallet.client as in the examples, you are forced to provide API keys.
1. Is there another class that can be used to retrieve price data without providing API keys?
2. If you must create an API key for your account, what is the absolute minimum permissions you need to enable on the API key to allow getting price data for currency pairs
For data endpoints in the API, not requiring auth, turns out you can simply pass any string as the api key and the request will succeed.

Google Contacts API + API Key + OAuth = 401 Client error

I have an app using Google Contacts API
https://developers.google.com/google-apps/contacts/v3/ through gdata to access user
contacts.
I'm using the gdata library to access it and OpenID+OAuth1 to login and
request authorisation.
Google recently made some changes and now states:
Warning: Due to enhanced security measures we've added to our
infrastructure, all developers using the Contacts API must register their
projects in the API Console <https://code.google.com/apis/console> and
ensure the Contacts API is activated in the API Console.
If your application has certain unusual authorization requirements, such aslogging
in at the same time as requesting data access (hybrid<http://code.google.com/apis/accounts/docs/OpenID.html#oauth>
) or domain-wide delegation of authority (2LO<http://code.google.com/apis/accounts/docs/OAuth.html#GoogleAppsOAuth>
), then you cannot currently use OAuth 2.0 tokens.
In such cases, you must instead use OAuth 1.0 tokens and an API key<http://code.google.com/apis/console-help/#WhatIsKey>
. You can find your application's API key in the GoogleAPI Console<https://code.google.com/apis/console#access>,
in the Simple API Access section of the API Access pane.
How do you set the API key along side the gdata request? (Assuming that the oAuth tokens are all taken care of)?
I've tried:
query = gdata.contacts.service.ContactsQuery(params={'key':'MY_API_KEY'})
query.max_results = 200
feed = googleintegration.contacts_service.GetContactsFeed(query.ToUri())
But I always get back a 401 Client error.
I strongly recommend you get out of OAuth 1 hell and switch over to OAuth 2.0. OAuth 1 is deprecated, for good reasons.

Resources