Wallet:transactions:send is limited $1.00/day per user

I am seeing this as a scope restriction in my OAuth2 application. How do I increase this?

Also, is this limit for my application, for the users of my application and/or both?

Thank you for any guidance/insight that you can provide.

Hello @Mike-E! Thank you for posting your question here in the Developer Forum. First, we would like to inform you that we have moved your post from Coinbase Wallet to Sign in with Coinbase where it truly belongs.

Regarding your question on how to increase the OAuth2 send limit, unfortunately, you can’t increase the default $1.00/day per user. This send limit, however, can be changed by each user who authorizes your application during consent time (not for the developer at client/app creation time). The OAuth2 consent page has a field for the limit that the user can edit before confirming the authorization. Please note that as of now, there is no way for the users of your application to change the send limit after authorization. The only way for them to do this is by authorizing the app again.

But, in order for your users to be able to change the send limit, you must include these parameters in your GET request or they won’t be given a chance to change the limit:
scope=wallet:transactions:send&
meta[send_limit_amount]=1&
meta[send_limit_currency]=USD&
meta[send_limit_period]=day

You may read more about OAuth2 permissions here: OAuth2 permissions.

We apologize regarding the documentation as we are still under the process of updating it. Please know that we are constantly working on this. We recognize that as of now the documentation site needs to be updated with more accurate steps and information.

The send limit affects your application user when using your application.

We hope this helps and let us know if you have further questions. Thanks!

3 Likes

Thank you for your very descriptive answer, @riza.espiritu! It is appreciated.

From what I understand, this appears to be a feature that is allowed by a user after they sign-in and authorize the limits as provided by the URL parameters per above. So far so good, and I understand this scenario (now).

My only remaining question is… how does my registered OAuth2 application itself send money? Is this even supported? In my case, I do not want users sending money to each other or another person, but I want my application to send money to users of my application.

Hello @Mike-E. We are glad that we were able to help you understand the OAuth2 send limit.

For your follow up question about the OAuth2 application sending money itself, we first want to clarify that OAuth2 is an authentication protocol that can be used to grant third party applications full or partial access to a Coinbase user’s account, without sharing the account’s API key or login credentials.

After creating an OAuth2 application you will need to then build the application and define what wallet it uses to send or receive funds to/from. Even though you create OAuth2 applications from the settings page of your Coinbase account, by default there are no Coinbase accounts linked to the application.

4 Likes

Thank you for your continued patience in explaining this to me @riza.espiritu. I am starting to put the pieces together here.

My understanding was that the Oauth2 applications that I created in my Coinbase account had access to the wallets in my account as well. That sounds like this is not the case and helps explain the situation here for me.

It unfortunately makes it a little unclear exactly how to proceed here.

What I am struggling with is what you mean by “define what wallet it uses to send or receive funds to/from” … do you mean from my account? Do you have a resource I can study to accomplish this?

If it helps, what I am looking to do is the Coinbase equivalent of PayPal Payouts (which I already have configured and working in my application).

This is my ideal workflow:

  1. My application is tied to my Coinbase (Business) account via API key
  2. A user authenticates with my Coinbase Oauth2 Application – from this I get the user’s Coinbase Account email/ID
  3. A user requests a withdrawal
  4. My application sends the requested withdrawal to the Coinbase email/ID established in Step 2

Doing this via PayPal Payouts is a snap. I have the user signin w/ their PayPay Oauth2 credentials and from there I get their PayPal ID, which I then use to create a POST to a new payout.

Very simple. Very easy. That does not seem to be the case here and I would be grateful if you can assist me with figuring out the missing pieces here.

Thank you for any further assistance you can provide.

So thinking about this more, if I understand correctly, what I would have to do is:

  • Create Oauth2 application
  • User would connect with Oauth2 application
  • Have user request withdrawal
  • Send email to myself with link to authenticate/approve withdrawal
  • Click link
  • Complete withdrawal

This seems like an alternative to request money, which is simpler, but also broken ATM (and has been since 2019):

Anyways, I think I am set here. Thank you again for your time and assistance in getting me situated. :pray:

Hi @Mike-E, we are glad we were able to help. The steps you listed to send money to your users look great. With regards to the Transactions - Request Money currently being broken, we will notify you on this post ASAP after it gets fixed.

You can reply to this post if you still need help related to this topic. But if you have a concern that is unrelated to this forum post, you can create a new thread and we will respond to you there. Thank you!

2 Likes