As documented at the links below, we're beginning to see Bisq sellers creating offers with Revolut-based account information. The sign of this seems to be BICs that start with REVO.... These BICs are not accepted by some (many? all?) normal SEPA institutions, and this ends up causing trades to go to arbitration.
Note that this problem seems to have nothing to do with adding Revolut as a payment method in #1312.
Proposed solution
We should prominently warn users NOT to use Revolut-based BICs in SEPA transfers. (I think the same goes for Transferwise, here, but I'm not sure).
Ultimately, we want to make rule clear enough to treat it like a protocol violation when it happens. Otherwise, takers may start losing confidence in the reliability of SEPA-based trades over Bisq.
Note that I've seen two trades affected by this problem so far, and they were pretty much back-to-back. Not sure if that was just a coincidence or not (the seller was not the same in any case).
I just got the following feedback from the seller in trade hrxflalh:
I have received SEPA payments to a Revolut IBAN without any problem
So it appears that this can work (which makes sense, why would Revolut use IBAN / BIC data at all if it didn't?), but some banks do not recognize their BIC. We'll need to see how this continues to play out. We could in theory build up a list of supporting banks, or a blacklist of banks that don't support Revolut BICs, but in practice this would be difficult to do and would add a lot of complexity for marginal value.
I had no problem using Revolut's IBAN and BIC for SEPA transfers so far.
In a case like this where the buyer has a problem sending a payment to the seller's account, would it be possible to allow the seller to use an other one of his accounts to accept the payment?
I have had this problem, Banco Popular did not recognize Revolut BIC. They said that the BIC was not active and rejected the operation after a not so fluid communication, which delayed the final transfer that I had to perform via revolut. Considering that all Revolut users usually have regular bank accounts and that Revolut transfers are much more agile, it could be a good idea to limit Revolut SEPA transfers.
Trade 6XLPQWF was another incidence of this issue. We should be able to solve this problem pretty easily by validating BIC input on SEPA trades. If the the BIC is a Revolut BIC, i.e. starts with the string REVO..., then we should reject it, and show the user a pop-up.
Solving this problem would eliminate at least 2-4 arbitration cases per month, and would therefore be quite valuable.
I could add that to the next release. What is the exact BIC to filter?
So if a user sets up a SEPA account with that BIC we reject it and show him a popup that he cannot use a Revolut BIC. If you could provide a text would be good. I am not 100% up to date with the issue...
Any BIC that starts with the string REVO is a Revolut BIC.
If the user types this in, we should reject the value and show the user text that reads:
It looks like you are trying to enter a Revolut IBAN and BIC. Bisq does not support using Revolut accounts in SEPA trades because many banks do not recognize or support Revolut BICs. To proceed, please enter non-Revolut SEPA account information.
Note that Bisq has dedicated support for Revolut accounts. You can set up your Revolut information that way and then make and take offers to trade with other Revolut account holders.
I think banning Revolut BIC codes is a bit extreme tbh & adds unnecessary restrictions for users, especially as Revolut is becoming more popular by the day. Surely just a pop-up warning that Revolut BIC codes might be rejected by other banks? After all, this is not the users fault, it's their banks.
This is a practical response to the regular arbitration cases we see around this problem. It wastes everyone’s time, and merely warning the user is not enough, because their counterparty has no such choice. They end up forced to deal with the dispute that emerges on the other side, and they never had any say in the matter.
If this had happened only once or twice, I’d say it’s no big deal, but we’ve seen many instances of banks rejecting transfers to revolut BICs at this point.
Perhaps it could be just a warning if we also let the user know that a certain amount of heir security deposit will be awarded to their counterparty in the case of such s rejection. That way they wouldn’t just be externalizing the downsides on their unwitting counterparty, would have skin in the game etc.
That seems a more realistic proposition, for the time being at least. I think a blanket ban should really be an absolute last resort.
Out of interest, are the Revolut BIC codes being rejected by the same banks - or is it completely random? If it's the same banks that are responsible, maybe a warning to those who's banks are rejecting Revolut BICS would be preferable, so that they don't try trading with Revolut users? That way, the user can contact their bank to correct the issue.
Why are users setting up a SEPA account with a Revolut BIC? I don't see that this is a supported use case, so blocking such BICs seems appropriate to me.
When receiving funds, Revolut allows you to use two type of BICs: local and swift. Local BIC is very problematic, but swift BIC shouldn't be, as it is other bank's BIC (Lloyds), so if we include this recommendation in the alert we can block Revolut's problematic BIC without limiting Revolut SEPA transfers:
"It looks like you are trying to enter a Revolut Local IBAN and BIC. To proceed, please enter Revolut SWIFT SEPA account information.
Note that Bisq has dedicated support for Revolut accounts. You can set up your Revolut information that way and then make and take offers to trade with other Revolut account holders".
I would not mix SEPA with Revolut, specially if they have that BIC problem. So if a user has a Revolut account he should be using that and not a SEPA account with BIC from Revolut.
@cbeams commented on Thu Mar 08 2018
Problem
As documented at the links below, we're beginning to see Bisq sellers creating offers with Revolut-based account information. The sign of this seems to be BICs that start with
REVO...
. These BICs are not accepted by some (many? all?) normal SEPA institutions, and this ends up causing trades to go to arbitration.Note that this problem seems to have nothing to do with adding Revolut as a payment method in #1312.
Proposed solution
We should prominently warn users NOT to use Revolut-based BICs in SEPA transfers. (I think the same goes for Transferwise, here, but I'm not sure).
Ultimately, we want to make rule clear enough to treat it like a protocol violation when it happens. Otherwise, takers may start losing confidence in the reliability of SEPA-based trades over Bisq.
Note that I've seen two trades affected by this problem so far, and they were pretty much back-to-back. Not sure if that was just a coincidence or not (the seller was not the same in any case).
@cbeams commented on Fri Mar 09 2018
More feedback
I just got the following feedback from the seller in trade
hrxflalh
:So it appears that this can work (which makes sense, why would Revolut use IBAN / BIC data at all if it didn't?), but some banks do not recognize their BIC. We'll need to see how this continues to play out. We could in theory build up a list of supporting banks, or a blacklist of banks that don't support Revolut BICs, but in practice this would be difficult to do and would add a lot of complexity for marginal value.
@dreboli commented on Fri Mar 09 2018
I had no problem using Revolut's IBAN and BIC for SEPA transfers so far.
In a case like this where the buyer has a problem sending a payment to the seller's account, would it be possible to allow the seller to use an other one of his accounts to accept the payment?
@alfsbs commented on Tue Mar 27 2018
I have had this problem, Banco Popular did not recognize Revolut BIC. They said that the BIC was not active and rejected the operation after a not so fluid communication, which delayed the final transfer that I had to perform via revolut. Considering that all Revolut users usually have regular bank accounts and that Revolut transfers are much more agile, it could be a good idea to limit Revolut SEPA transfers.
@cbeams commented on Sun May 06 2018
Trade
6XLPQWF
was another incidence of this issue. We should be able to solve this problem pretty easily by validating BIC input on SEPA trades. If the the BIC is a Revolut BIC, i.e. starts with the stringREVO...
, then we should reject it, and show the user a pop-up.Solving this problem would eliminate at least 2-4 arbitration cases per month, and would therefore be quite valuable.
@ManfredKarrer commented on Mon May 07 2018
I could add that to the next release. What is the exact BIC to filter? So if a user sets up a SEPA account with that BIC we reject it and show him a popup that he cannot use a Revolut BIC. If you could provide a text would be good. I am not 100% up to date with the issue...
@cbeams commented on Mon May 07 2018
Any BIC that starts with the string
REVO
is a Revolut BIC.If the user types this in, we should reject the value and show the user text that reads:
@p3yot3 commented on Mon May 07 2018
I think banning Revolut BIC codes is a bit extreme tbh & adds unnecessary restrictions for users, especially as Revolut is becoming more popular by the day. Surely just a pop-up warning that Revolut BIC codes might be rejected by other banks? After all, this is not the users fault, it's their banks.
@cbeams commented on Mon May 07 2018
This is a practical response to the regular arbitration cases we see around this problem. It wastes everyone’s time, and merely warning the user is not enough, because their counterparty has no such choice. They end up forced to deal with the dispute that emerges on the other side, and they never had any say in the matter.
If this had happened only once or twice, I’d say it’s no big deal, but we’ve seen many instances of banks rejecting transfers to revolut BICs at this point.
@cbeams commented on Mon May 07 2018
Perhaps it could be just a warning if we also let the user know that a certain amount of heir security deposit will be awarded to their counterparty in the case of such s rejection. That way they wouldn’t just be externalizing the downsides on their unwitting counterparty, would have skin in the game etc.
@p3yot3 commented on Mon May 07 2018
That seems a more realistic proposition, for the time being at least. I think a blanket ban should really be an absolute last resort. Out of interest, are the Revolut BIC codes being rejected by the same banks - or is it completely random? If it's the same banks that are responsible, maybe a warning to those who's banks are rejecting Revolut BICS would be preferable, so that they don't try trading with Revolut users? That way, the user can contact their bank to correct the issue.
@ManfredKarrer commented on Wed May 09 2018
Why are users setting up a SEPA account with a Revolut BIC? I don't see that this is a supported use case, so blocking such BICs seems appropriate to me.
@alfsbs commented on Wed May 09 2018
When receiving funds, Revolut allows you to use two type of BICs: local and swift. Local BIC is very problematic, but swift BIC shouldn't be, as it is other bank's BIC (Lloyds), so if we include this recommendation in the alert we can block Revolut's problematic BIC without limiting Revolut SEPA transfers:
"It looks like you are trying to enter a Revolut Local IBAN and BIC. To proceed, please enter Revolut SWIFT SEPA account information.
Note that Bisq has dedicated support for Revolut accounts. You can set up your Revolut information that way and then make and take offers to trade with other Revolut account holders".
@ManfredKarrer commented on Wed May 09 2018
I would not mix SEPA with Revolut, specially if they have that BIC problem. So if a user has a Revolut account he should be using that and not a SEPA account with BIC from Revolut.
@ManfredKarrer commented on Thu May 10 2018
I added a check in the BICValidator to detect BICs starting with "REVO". Hope we don't get too many false positives....
@h173k commented on Mon May 14 2018
To block it makes NO SENSE. Return responsibility to the user. Add information and that's it!