Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Instant Fiat conversion with exchanges #112

Closed
andres-pinilla opened this issue Apr 10, 2018 · 21 comments
Closed

Instant Fiat conversion with exchanges #112

andres-pinilla opened this issue Apr 10, 2018 · 21 comments
Assignees
Labels
New Feature When feature suggestion is good, so developers can work on implemeting it

Comments

@andres-pinilla
Copy link
Contributor

andres-pinilla commented Apr 10, 2018

Hi,

I would like the possibility that the payment can be sent immediately to an address of an exchange that sells it immediately to avoid volatility.

Thanks,

Andrés

@andres-pinilla andres-pinilla changed the title Feature request: Send the payment to an exchange Feature request: Send the payment to an exchange immediately Apr 10, 2018
@NicolasDorier
Copy link
Member

NicolasDorier commented Apr 11, 2018

this won't be done in the short term.

The reason is that exchange often does not generate addresses until after they are actually used.
This mean you can't have 2 invoices at same time.

What have more chance of happening is a periodic dump from the merchant wallet to the exchange.

@andres-pinilla
Copy link
Contributor Author

It is possible Instant Payment Forwarders?, like this:

https://block.io/docs/payment_forwarder

@NicolasDorier
Copy link
Member

It might be a good idea. Although might not be realistic when fees get high. Thanks for the idea though, will think about it.

@andres-pinilla
Copy link
Contributor Author

Thanks for your answer. I hope you think about it and that you can implement it.

@NicolasDorier
Copy link
Member

I was thinking about periodic dump. But having a payment forwarder is better UX.

@andres-pinilla
Copy link
Contributor Author

;-)

@NicolasDorier
Copy link
Member

NicolasDorier commented Apr 11, 2018

If you want to accelerate the thing, please discuss about the ideal UX here. (maybe doing sketchs)

@NicolasDorier
Copy link
Member

Copying from slack

@everyone I am starting to think about how to provide exchange integration ton BTCPayServer such that merchant can sell immetiately their bitcoin/shitcoin.  One thing I can't beat Bitpay with is that the merchant will be subject to volatility until the exchnge confirm the deposit.  (worth noting that once exchanges integrate lightning it will be instant)

Anyway, for merchant ready to take a 10 minutes risk, Bitpay still have merchants who does not really mind paying high fees to them. Other than that BTCPay will be a complete solution and cheaper to use instead of Bitpay.

This issue has been open https://github.com/btcpayserver/btcpayserver/issues/112 . I am starting to think about the concept of "Payment Forwarders" in BTCPay. Basically forwarding payments upon receipt to an address, a derivation scheme or deposit address of your exchange.

I think adding the concept of "Exchange Bot" on top of this, whose role will be to place orders on behalf of the merchant once the deposit get confirmed by the exchange.

I would need more idea on how to do a clean UX to achieve this. As well as providing to the merchant a good visibility to follow where his money is moving.

@NicolasDorier
Copy link
Member

other things to think about: If fees get high, then merchant will want to batch payment forward together.
So a way to control how much they are willing to pay in miner fee as % of the payment is needed.

@NicolasDorier
Copy link
Member

MMMh forget about this for V1 let's simplify: Every payment are directly forwarded. Via Network Cost on Invoice the customer already pay the fees for this anyway.

@normandmickey
Copy link

This is a good place to start if you are looking for an Exchange Bot. I'm currently testing with a small amount of ETH and it appears to work very well with GDAX.
https://github.com/HaschekSolutions/cryptotrader

@JeremyRand
Copy link

I'd like to donate some BTC earmarked for developing this feature. Would such an earmarked donation be accepted? If so, what's the preferred procedure for making an earmarked donation?

@ndaxio
Copy link

ndaxio commented Oct 6, 2018

why not use merchant exchange wallet directly on the exchange? That will open up the option for exchange to provide the merchant with an option to immediately liquidate coins that arrive at his account? and if the end user has an account on the exchange that it will become an instant transfer internally saving the merchant a ton of blockchain fees? Just a thought

@rockstardev
Copy link
Member

@ndaxio we needed to start with solution that doesn't depend on third parties - your keys, you Bitcoin.

From there we can add support for those wanting fiat... and we wanted to go down the route that would work for most of existing exchanges and their APIs.

We didn't have "pay to exchange wallet" because no exchange wanted to support this. If your exchange is willing to support this, we can definitely talk details - join our Slack (http://slack.btcpayserver.org/), direct message me and we can go from there.

@pavlenex pavlenex added the New Feature When feature suggestion is good, so developers can work on implemeting it label Dec 10, 2018
@pavlenex pavlenex changed the title Feature request: Send the payment to an exchange immediately Instant Fiat conversion with exchanges Dec 10, 2018
@shivaenigma
Copy link

Hi,
Blockonomics has announced a payment forwarder compatible with BTCPay. Feel free to try it out

Also, here are the instructions for xpub configuration with BTCPay

@Kukks
Copy link
Member

Kukks commented Dec 22, 2018

We're progressing on a standalone self-hostable version so that you don't need to funnel all your crypto to a third party's xpub. :)

@shivaenigma
Copy link

We're progressing on a standalone self-hostable version so that you don't need to funnel all your crypto to a third party's xpub. :)

Thanks good to know this. For a self-hosted version there is a risk on keeping private keys on an online server with open http/other ports, which may a bit difficult to secure for all merchants.

Which is why we have designed this service, which is completely firewalled and securely managed by us. We will be provide fund guarantees in the future.

Of course, merchants who can manage self hosted service... there cannot be a more privacy friendly solution.

@andres-pinilla
Copy link
Contributor Author

Hi @NicolasDorier and @Kukks, any update about this?

@NicolasDorier
Copy link
Member

I know @rockstardev is cooking something

@britttttk britttttk mentioned this issue Feb 4, 2019
5 tasks
@Kukks
Copy link
Member

Kukks commented Mar 12, 2019

Anyone interested in progress on this can go to https://github.com/Kukks/btcTransmuter-vnext to follow and provide feedback

Here's the latest update at least:

heya @ALL, got a test version up at https://transmuter.fiat.kukks.org right now. It is still very alpha but you can experiment and let me know how you feel about it

If you want to deploy to your own, I have a fork of the docker repo @
https://github.com/kukks/btcpayserver-docker with branch transmuter
Everything is the same in terms of config, you just have the following extra:

  • Add opt-add-btctransmuter to the BTCPAYGEN_ADDITIONAL_FRAGMENTS options
  • BTCTRANSMUTER_HOST set to domain for fiat service app
  • BTCTRANSMUTER_CRYPTOS set to the cryptos you set up on btcpay, separated by a comma( e.g: BTC,LTC)

@rockstardev
Copy link
Member

OK, we are handling this in separate repository (https://github.com/Kukks/btcTransmuter-vnext) + discussing it further in our MatterMost (https://chat.btcpayserver.org/).

Whoever is willing to test (or is already testing) is welcome to join us there <3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
New Feature When feature suggestion is good, so developers can work on implemeting it
Projects
None yet
Development

No branches or pull requests

9 participants