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

Add Hal Cash as payment method #1608

Closed
ManfredKarrer opened this issue Jul 20, 2018 · 22 comments
Closed

Add Hal Cash as payment method #1608

ManfredKarrer opened this issue Jul 20, 2018 · 22 comments

Comments

@ManfredKarrer
Copy link
Contributor

Hal Cash seems to be a privacy protecting and fast payment method. It is popular in Spain and available in some other countries.
I think we should add it.
It requires 2 codes to withdraw the money form the ATM. 1 code is sent by the buyer and 1 code comes from Hal Cash.
The code can be sent as mobile message to the sellers phone.
The phone nr. is the only required data.

Here is video in Spanish explaining it:
https://www.youtube.com/watch?v=-X088uJN4pM

@alfsbs
Copy link

alfsbs commented Jul 24, 2018

Introduction

 
Hal Cash is an ATM cash withdrawal payment method popular in Spain and Poland
 

Requirements verification

 
Web: Chargeback risk
Chargeback risk: None
Privacy protection to other peer: High
Mandatory data for a transaction: Mobile Nr.
Duration: Instant
Region: Spain / Poland
Fees: Depends on bank
Verifiable: TLSNotary
Fraud risk: Low
Conclusion: Include
 

Implementation information

 

Setting up National Currency Account

 
Payment Method: Hal Cash
Mobile phone no.: **
Supported currencies: EUR
Limitations: **
Salt for account age verification: **
Account name: **
 

Create offer to buy BTC

 
**Enable use of Hal Cash
No other changes necessary.
 

Create offer to sell BTC

 
**Enable use of Hal Cash
No other changes necessary.
 

Buying/Selling BTC

 
The buyer of BTC only needs to know the mobile phone no. of the seller and he must send to the seller the code received from Hal Cash

@ManfredKarrer ManfredKarrer self-assigned this Aug 10, 2018
@ManfredKarrer
Copy link
Contributor Author

Here is a overview of Polish ATMs:
https://coinatmradar.com/manufacturer/45/poland-halcash-bitcoin-atm-producer/

Seems they will start soon in the US as well under a different brand (Pin4).

@ManfredKarrer
Copy link
Contributor Author

Does anyone know what is the limit for a transfer and how the policy is (limit per day, limit per reciver,...) and if it is same in spain and poland?

@ManfredKarrer
Copy link
Contributor Author

@ManfredKarrer
Copy link
Contributor Author

ManfredKarrer commented Aug 10, 2018

Here are the screens:
Can anyone cross check if all is correct?

screen shot 2018-08-10 at 22 10 16

screen shot 2018-08-10 at 22 10 32

screen shot 2018-08-10 at 22 14 57

screen shot 2018-08-10 at 22 15 03

screen shot 2018-08-10 at 22 15 17

screen shot 2018-08-10 at 22 15 43

@alfsbs
Copy link

alfsbs commented Aug 11, 2018

Trade limits: min 10 EUR, max 600 EUR. (per withdrawal), and 3000 EUR / receiver / day, and 6000 EUR / receiver / month.

Trade amount: There is an issue with regards to amount, min unit is 10 EUR (or multiples). We can limit this PM for fixed offers or if it's possible we can make offers to round up to the closest 10 EUR multiple.

Time limit With regards to time limit, there is a maximum time of 10 days for the operation, so we could leave some more time for the trade, so that there is less risk of disputes.

@ManfredKarrer
Copy link
Contributor Author

Thanks @alfsbs !
Good finding with the issue of a multiple of 10 EUR! Not having a good solution for that beside what you recommend. I will add a text in the info popup to tell users.

@ManfredKarrer
Copy link
Contributor Author

I will add a check in the make offer screen as well to avoid that users can create an offer which is using % based price and an amount which is not a multiple of 10 (rounded).

@ManfredKarrer
Copy link
Contributor Author

I will disable market based price and auto adjust the EUR amount of multiple of 10 EUR.

Here is the popup info text when creating an account:

When using HalCash the BTC buyer need to send the BTC seller the HalCash code via a text message from the mobile phone.\n\n
Please make sure to not exceed the maximum amount your bank allows you to send with HalCash.
The min. amount per withdrawal is 10 EUR and the max. amount is 600 EUR. For repeated withdrawals it is
3000 EUR per receiver per day and 6000 EUR per receiver per month. Please cross check those limits with your
bank to be sure they use the same limits as stated here.\n\n
The withdrawal amount must be a multiple of 10 EUR as you cannot withdraw other amounts from an ATM. The
UI in the create offer view will adjust the BTC amount so that the EUR amount is correct. You cannot use market
based price as the EUR amount would be changing with changing prices.\n\n
In case of a dispute the BTC seller need to provide the proof that he sent the EUR.

@ManfredKarrer
Copy link
Contributor Author

I updated the PRs...

@ManfredKarrer
Copy link
Contributor Author

@ripcurlx We can use the same logic as implemented here for applying non-decimal fiat amounts.
It would just change that it is not divided by 100000 then rounded and then multiplied by 10, but divided by 10000 and then rounded.
We can make the methods then more generic to use it for both HalCash and normal Fiat.

@jbarcelo
Copy link
Contributor

Isn't it possible for the creator of an offer to set a range of the amount of BTC to be traded? Like 0.01-0.02 BTC. If this is possible, it could be the taker of the offer the one that (at the time of taking the offer) makes sure that the amount traded (in euro) is a multiple of 10 EUR. In this case it would be possible to create offers as based on a % of the market price.

@ripcurlx
Copy link
Contributor

@jbarcelo The only problem is that if we can't enforce this, we'll might have unnecessary arbitration cases. Having a different kind of volume selection for the taker based on the trade amount in Euro could be a way to go, but this will need more UI changes in the interface.

@jbarcelo
Copy link
Contributor

@ripcurlx Right. I understand.

@ManfredKarrer
Copy link
Contributor Author

@jbarcelo Yes the app in the taker screen makes sure to get the EUR amount round to 10 EUR in case there is a range. You are right it might be able to support still % based offers if there is a sufficiently large range, though it makes it a bit more complicate. I would prefer to keep it simple now and see first how much it will be used. We would need to require a min range to be able to find a volume with resolves to a 10 EUR amount, with diff. prices that range would change so its not trivial to implement that correctly... but if we get good volume with Halcash trades we can add that in the next release.

@jbarcelo
Copy link
Contributor

@ManfredKarrer I agree. I would recommend a minimum range of 10 mBTC which currently is around 50 EUR. As long as BTC stays above 1000 EUR, a range of 10 mBTC ensures that there is at least one possibility to take the offer for an amount that is a multiple of 10 EUR.

In the unlikely case that BTC dropped below 1000 EUR, it would no longer be possible to take some of the Hal Cash offers ... but that would not be the end of the world. Wise users would simply set a wider range.

@ManfredKarrer
Copy link
Contributor Author

Yes its definitely possible, just not trivial to implement. I prefer to keep the effort lower atm, the 10 EUR requirement had already taken more time as I wanted to spend on it. Often new payment methods are not used at all (WU, Moneygram,....). So lets see first if there is demand for it. I don't think that not having a % based option is a show stopper for not using HalCash. Or do you think that is the case?
Btw. Anyone is welcome to implement that, thought the code base for that is not trivial, so its not a low hanging fruit task...

@jbarcelo
Copy link
Contributor

I totally agree with you @ManfredKarrer . Right now developer hours are the bottleneck and they should be used wisely for the most critical tasks. I wish I could learn and help, it's just that I don't know where to start XD. Even the "low hanging fruits" such as adding halcash support seem like impossible for me XD.

@jbarcelo
Copy link
Contributor

@ManfredKarrer, a somewhat unrelated comment. I was looking at the screenshots and the pop-up says "In case of a dispute the BTC seller need to provide the proof that he sent the EUR" ... Am I wrong or it is the BTC buyer the one that has to send the EUR?

Should it read "In case of a dispute the BTC buyer needs to provide the proof that he sent the EUR"?

@ManfredKarrer
Copy link
Contributor Author

Ah thanks. Yes you are right, the buyer is the sender of EUR.

@ManfredKarrer
Copy link
Contributor Author

Fixed.

@ripcurlx
Copy link
Contributor

Already live in https://github.com/bisq-network/bisq/releases/tag/v0.8.0.

Closing as complete.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants