Bisq: Add Hal Cash as payment method

Created on 21 Jul 2018  路  22Comments  路  Source: bisq-network/bisq

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

feature good first issue payment-methods

Most helpful comment

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

All 22 comments

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

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).

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?

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

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.

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.

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).

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.nn
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.nn
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.nn
In case of a dispute the BTC seller need to provide the proof that he sent the EUR.

I updated the PRs...

@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.

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.

@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.

@ripcurlx Right. I understand.

@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.

@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.

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...

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.

@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"?

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

Fixed.

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

Closing as complete.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ShaunHoyes picture ShaunHoyes  路  6Comments

rekcus2 picture rekcus2  路  6Comments

ripcurlx picture ripcurlx  路  6Comments

0xb100d picture 0xb100d  路  4Comments

svpi11 picture svpi11  路  6Comments