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 SWIFT (int. wire transfer) as payment method #1789

Closed
ManfredKarrer opened this issue Oct 19, 2018 · 58 comments · Fixed by #5672
Closed

Add SWIFT (int. wire transfer) as payment method #1789

ManfredKarrer opened this issue Oct 19, 2018 · 58 comments · Fixed by #5672

Comments

@ManfredKarrer
Copy link
Member

I am wondering if we should add international wire transfer (SWIFT).

There are some issues thought:

  • Banking fees are rather high (50-100 USD) which makes that very expensive if used with low trade limits (about 400 USD atm for new accounts).
  • Fees are not clearly determined and receiver will also get charged by a fee. Furthermore some banks allow to define the fee model. There are 3 options: 'Sender pays', 'receiver pays' or fee is 'shared'. I think default is shared but users who manage to set that to 'receiver pay fee' can save much money on cost of the peer.
  • It seems that the receivers address is required which adds some privacy and security risks to the traders. But not sure if the address is verified. Many users change real address when moving house and do not update address at bank (often the bank webpage does not support that anyway).
  • Transfer takes 3-5 working days but can take even longer
  • It is not very clear to me how to find out if an intermediary bank is needed. I assume the banks figure it out themself and add on demand intermediary banks (and increase total fees by that) or it need to be defined by the users, but that will prob. not work as you don't know in advance the combination of the sellers and buyers banks.
  • If the bank cannot complete the transfer more undfined costs may apply to the sender.

So all in all it seems like a can of worms and thats why we never added it but I am still wondering if we should offer it and make it very clear to the user which risks and issues are connected to it. There are countries with no Bisq market developed yet and that payment method could help to connect those isolated users to trade between them. Also in such countries they pay a huge premium anyway on LBTC or other exchanges, so the high fees might be not an issue for them. It could also help to bootstrap a national tranfer market once there are a few traders using Bisq there.

I think chargeback risk is very low, so that is a good part.

We would need to use a high trade limit otherwise the costs are way too high (25% of the trade if the costs are 100 USD for a 400 USD tx). We could allow 0.25 BTC for new accounts (about 1600 USD) then the 100 USD fee would be "only" 6%. Once the account has 2 months then its 1 BTC and then the fee with 1.5% is actaully pretty reasonable.

Another problem is how to deal with the fee mode. There is an incentive that the sender tries to let the receiver pay the fee if his bank offers that option. So maybe the best would be that we use that as the default case. The extra costs for the fee for the Fiat receiver can be priced in the offer price. There can be though then cases where the sender cannot select that and then the seller has the disadvantage.

Arbitration with the fee issues migth become an issue. But I think if we use the model that the reciver pays all fees and communicate it clearly that fees are not determined it should be ok. User has to be aware of an extra risk factor here.
A sender who pays more fee because his bank does not allow selection of the model or is instranparent with fees has to complain at his bank.

@alfsbs What do you think?

@sqrrm
Copy link
Member

sqrrm commented Oct 20, 2018

It would be nice for certain cases to allow this but it's probably going to increase arbitration cases a bit, not sure that would be worth it. Transfers can get stuck for weeks sometimes and sometimes just returned (instead of being delivered) for no good reason. Perhaps worth trying and reconsider if arbitration cases increase due to this. If the charge back risk is indeed lower (I believe it is, but can't say with authority) then it makes sense to increase the limits and it would open up for more international transactions. It could always be removed if the increase in complicated arbitration is too much.

@cbeams
Copy link
Member

cbeams commented Oct 20, 2018

I don't have a problem with trying this, but I do think it'll be problematic with regard to arbitration. Whenever I do a wire, it's $40 and a series of back-and-forth forms and conversations over email and phone with my bank. I'm sure other institutions are more efficient than mine, but I'm sure others are as bad or worse. I can see trading windows getting exceeded easily, unless we make them quite long.

I also have no idea what the demand for this is or could be. We should focus on getting the word out better about new payment options. I think people just don't know what's available.

@alfsbs, is any data available from LBTC, et al on whether SWIFT is a popular payment method?

@ManfredKarrer
Copy link
Member Author

I think there is rough consensus that we want to add that payment method. I will ask for developers to implement it and offer a bounty of 500 BSQ.

@fedegrc
Copy link

fedegrc commented Oct 22, 2018

You can send money internationally to a SWIFT/BIC account with Xoom (transaction fee USD ~5).

@ManfredKarrer
Copy link
Member Author

@fedegrc Xoom is a Paypal company. Do ypou know their chargeback policy? If it is similar to Paypal its not an option. oHow do they deal with the unknown receiver fees?

@ManfredKarrer
Copy link
Member Author

ManfredKarrer commented Oct 22, 2018

"Xoom is a fast, simple, and secure way to send money, reload phones, and pay bills for people in over 70 countries around the world. All you need to send a transaction using Xoom is a U.S. bank account, credit card, or debit card."

So seems you need to have a bank account. It also support not all coutries but 70.

Might be interesting to investigate if it would make sense to add it a new payment method if anyone can investigate more and check chargeback risk.
But that "... family and friends.." statement at https://help.xoom.com/s/article/xoom-basics?language=en_US already is a sign that chargeback policy is likely same as at Paypal, Venmo, Cashapp...

@fedegrc
Copy link

fedegrc commented Oct 23, 2018

I'm not sure, but I think that transfers from a Xoom account to a bank account (SWIFT) is basically a wire transfer from Xoom to a bank.

"Three ways to send money:

  1. Deposit to a bank account. Send money to almost any bank account.
  2. Send cash for pickup at thousands of partner locations around the world.
  3. Have cash delivered. Send money directly to your recipient’s door."

@gibechoes
Copy link

Just thinking its a hassle to have swift and national account offers open if you want to accept both. Until offers can be taken by using multiple payment methods.....
I wonder if the switft payment method could be setup optionally within the current national account setup.
Have a checkbox, confirming this account/bank accepts swift and then punch in details, also countries that you are willing to trade with. Just some ideas.

@ManfredKarrer
Copy link
Member Author

@gibechoes Supporting multiple accounts is complex and I would only start on that if we have a dedicated developer who wil take care longterm of the payment methods. It would probably require a bigger refactorin gof the existing model to make it easier to support.

@aicbaicb
Copy link

I believe that when making payments from the EU, the only option now is "fee is shared", per Directive 2007/64/EC (now replaced by Directive EU 2015/2366). This Act enforces the SHA option (shared expenses) for transfers carried out in euros or in a currency of any EU member state.

So having "beneficiary pays" as a default won't work for Euros, Sterling, etc.

@ManfredKarrer
Copy link
Member Author

Ah great thanks for the info!

@cyphersphinx86
Copy link

If this issue is still open I'd like to take a shot at it.

@ManfredKarrer
Copy link
Member Author

Yes it is open. Would be great if you can take it!

@ghost
Copy link

ghost commented Dec 21, 2018

Hm, I'll look into this. Don't let this stop you from implementing it, as it will probably take a while for me.

@user135711
Copy link

user135711 commented Mar 31, 2019

@Manfred please do add xoom as a payment method for cash pickup (I've transferred thousands on many occasions with no issues except once when they put a hold and required my id verification as sender(I sent to myself to get the exchange rate). You can't chargeback cash and they give very good exchange rates. Also, why not add remitly which has the best exchange rates on the first transfer?

@ManfredKarrer
Copy link
Member Author

Can you provide all the required info?
@alfsbs Are you familiar with Xoom?

@user135711
Copy link

user135711 commented Apr 1, 2019

@ManfredKarrer it's been a few years since I used Xoom so I don't remember the exact procedure but it was just like western union but cheaper and with a better exchange rate. You pay with a bank account online with a $5 fee (much more if you use a card), and the receiver picks up cash with an id on stores located pretty much everywhere. Maximum transfer is 10,000. Never used remitly but they have an even better exchange rate. Xoom also now states they can deliver cash to your home address.

@user135711
Copy link

user135711 commented Apr 1, 2019

@ManfredKarrer also walmart has a walmart2walmart cash sending system that might be worth investigating.

@user135711
Copy link

Also worldremit and RIA are two more cash pickup options that should be added.

@ManfredKarrer
Copy link
Member Author

We are short on resources on payment methods. If you are specialist with those you are welcome to help us. Main work is to make sure that they suit our requirements and that we know exactly what data is needed and how they work and what are the risks. @alfsbs was doing that in the past but seems he is too busy lately with other stuff....

@user135711
Copy link

Sure, I may actually try them out over at local bitcoins and report back on how things go. I used to western union once a month and know if you transfer over $500 the teller has to fill out a form with your phone, home address, occupation and social security number. The other services I suggested are much more economical though if there are no tricks.

@ManfredKarrer
Copy link
Member Author

Most important is that there is no/low chargeback risk and that arbitrator can get some tamperproof evidence in case of dispute. Some webpage with tracking number or the like would be prob. ok. We use PageSigner to get proof of the webpages content.

@chimp1984
Copy link
Contributor

@pazza83 If we require account signing it will be very hard to bootstrap because:

  1. Initially there are no signed traders
  2. The Min. amount of 0.01 BTC is too low in relation to the fee (for me its usually about 80-100 USD).

Do you know how long the "Stop and recall" can be applied? We could add an extra delay at receipt confirmation so the chargeback risk gets lower.

@Conza88
Copy link

Conza88 commented Nov 12, 2020 via email

@pazza83
Copy link

pazza83 commented Nov 12, 2020

Thanks for your comments @chimp1984

@pazza83 If we require account signing it will be very hard to bootstrap because:
The Min. amount of 0.01 BTC is too low in relation to the fee (for me its usually about 80-100 USD).

Bank fees of $100 are going to be restrictive even at 0.25 BTC limits. Is this how much you would pay to receive a SWIFT transfer from a user from a country you could select where the SWIFT fees where shared? This option would be available when you were choosing which offer to take to sign your account.

I would say anyone with bank fees of ~$100 would be looking for alternatives to SWIFT. Most fees are much lower than that from what I have seen average $20-30 in US and less than 20€ in Europe. Whilst expensive for a first trade I think it is a small amount to become signed to access larger amounts. This in turn reduces risk of 'Stop and Recall' being utilized.

Do you know how long the "Stop and recall" can be applied? We could add an extra delay at receipt confirmation so the chargeback risk gets lower.
The 'Stop' can be applied at any point along the transfer and is executed immediately
The 'Recall' can be applied once funds have been deposited. It can only be execrated on agreement with the receivers bank. I would suggest an additional 2 days for the receiver to transfer funds out is sufficient.

The 7 day proposed trade period is made up of:
3 working days for transfer +2 for trades at weekends + 2 for funds to be received and transferred onwards

@pazza83
Copy link

pazza83 commented Nov 12, 2020

@chimp1984 regards fee splits

see @dav1dpgit's comments

Even if some banks allow for receivers to pay fees, the general SWIFT use case is the sending bank charges $20-30USD, and the receiving bank also takes a $10USD cut, sometimes. Just let each bank’s fees are borne by the bank account holder as the default (Senders and receivers anticipate their own banks’ fees.) If the sender wants to transfer all of the SWIFT fees to the other side via the wire process, explicitly say this is not standard and open to rejection of the SWIFT wire.

I agree with @dav1dpgit. Using the default fee split method is most simple. Both users will be aware of most fees. The sending party should know their own wire transfer fees, and the receiving party should know their own wire transfer fees. Some banks add in a fee + any bank intermediary fees (these can be unknown), however I do not think this is a reason not to add this payment method. Unknowns can be reflected in the trade price.

Shared fees can be clearly defined in the trade protocol. If the buyer of BTC passes all fees to seller this can be settled in mediation.

@pazza83
Copy link

pazza83 commented Nov 12, 2020

@Conza88 thanks for all the comments I agree with all your points. Especially about SWIFT opening up more markets and increasing traders accessibility to exchange fiat with BTC from anywhere.

@pazza83
Copy link

pazza83 commented Nov 18, 2020

I have made some proposals for putting a system in place to speed up decisions around new payment methods being added. Would welcome any comments bisq-network/growth#206

@chimp1984
Copy link
Contributor

Just to make clear I am totally in favor to add SWIFT!

@pazza83
Copy link

pazza83 commented Nov 18, 2020

Just to make clear I am totally in favor to add SWIFT!

Great 👍

Have you taken a look at the proposed fields #1789 (comment)

Would it take much work to add?

@chimp1984
Copy link
Contributor

Looks ok.
So far I don't see much of extra work to normal bank account methods. Just a bit more fields. Maybe some fields like intermediary bank can be multiline all in one field so that the form does not get too long and that ui elements (like country selectors) dont get too much.
I fear I am too busy with other stuff atm, but its an easy task for any dev. If no dev show up before next release ping me...

@pazza83
Copy link

pazza83 commented Nov 20, 2020

Hi @bisq-network/mediators and @bisq-network/arbitrators I would like to implement SWIFT International Wire as a new payment method. Please let me know if you have any objections / feedback.

Would anyone from @bisq-network/bisq-devs be available to to take this on. I will package up the information required for you.

@pazza83
Copy link

pazza83 commented Dec 6, 2020

I am keen to come to a decision on this by the end of this cycle.

I am proposing the add SWIFT as a payment option to Bisq. This seems to be roughly in line with the consensus.

It would be great to have @bisq-network/mediators input @huey735, @huey735, @Bisq-knight, @wiz and @leo816 please let me know if you have any concerns regarding mediating SWIFT trades.

@pazza83
Copy link

pazza83 commented Dec 20, 2020

As per proposal for existing payment method editing process and estimated timelines

I am recommending this payment method for addition.

No concerns have been raised from @bisq-network/mediators so would like to make plans for getting this added in the next cycle.

@huey735, @huey735, @Bisq-knight, @wiz and @leo816 if you do have any concerns share them on this issue before the end of the cycle 27th Dec 2020.

@Conza88
Copy link

Conza88 commented Jan 1, 2021

Nice. Regarding documentation - would suggest in the SWIFT model, maybe indication of higher fee's given through traditional banks... as opposed to Transferwise? lol. But should still very much be an option, given some can get banned from TW.

@Conza88
Copy link

Conza88 commented Jan 15, 2021

But should still very much be an option, given some can get banned from TW.

As we've seen... with many getting deactivated/banned/accounts warned... SWIFT again raises it's head as best option imo.

Looked at many other's @pazza83 suggested all had negatives in terms of % fee's, conversion fee's etc.
SWIFT basically being slower, but flat fee. Conversion probs not great, but I think scaling wise - ok option.

@pazza83
Copy link

pazza83 commented Jan 16, 2021

Hi @bisq-network/bisq-devs is anyone available to take on adding SWIFT International Wire as a payment method?

@m52go
Copy link
Contributor

m52go commented Apr 1, 2021

What can we do to get this done? Is there a spec ready for a developer to pick it up?

@pazza83
Copy link

pazza83 commented Apr 2, 2021

I think @sqrrm mentioned at the begging of the year they would be able to take this on, but I might be misremembering?

@sqrrm is this something you are available for if not is their another @bisq-network/bisq-devs that could take this on?

Everything is in place for the layout https://github.com/bisq-network/bisq/files/4253633/BISQ_SWIFT_Layout.pdf

@m52go is their a spec that has used before I could use as a template?

@wallclockbuilder
Copy link
Contributor

@pedromvpg Can you convert the layout into actual UI or Wireframe? *Is there any other designer on the team I can reach out to ?

Screen Shot 2021-04-01 at 7 54 16 PM

@wallclockbuilder
Copy link
Contributor

I can also try just modelling it after the already existing payment methods.

@pazza83
Copy link

pazza83 commented Apr 2, 2021

Hi @wallclockbuilder

I think one of the issues is with the one column layout.

I proposed a two column layout see: #4837 (comment) but this might add complexitiy.

Happy for it to be done based on the design of existing payment methods. That is what we have done when adding payment methods in the past.

@sqrrm
Copy link
Member

sqrrm commented Apr 2, 2021

@pazza83 I think this could be taken by @wallclockbuilder. There likely are some interesting new features that'll have to be implemented and making sure there is agreement on how the trade process would work. It has been described here but with implementation new thoughts might pop up.

@m52go
Copy link
Contributor

m52go commented Apr 12, 2021

@wallclockbuilder are you working on this? Would be great to get this in the next release.

@wallclockbuilder
Copy link
Contributor

wallclockbuilder commented Apr 12, 2021

I'm excited to use SWIFT too. I used to buy bitcoin via SWIFT. Africa -->EUR. This will truly open up Bisq to Nigeria. Now trades can happen between Nigeria and International.

Code is in the works!

@pazza83
Copy link

pazza83 commented Aug 21, 2021

Name of payment method: International SWIFT Wire Transfer

Required fields: see screenshot

Maximum trade duration: 7 days

Signing required: No

Regions accepted: All countries

Currencies accepted: All currencies

Bisq Limits: 0.5 BTC

Payment method limits: None

Any relevant information: Fees will be shared fee model. Buyer should ensure fee option is set to "SHA" (shared). BTC Buyer (sender of the payment) will pay all fees charged by the sending bank. BTC Seller (recipient of the payment) will pay all fees charged by the receiving bank.

Any relevant information for devs: It is a pretty long information. I have tried to break it down into 3 sections. Recipient Bank Information, Account Owner Bank Information, Intermediary Bank Information.

Any relevant information for users: This is an international payment method. As such be aware of fees that you bank will charge for sending / receiving from various countries.

Screenshot of expected GUI:

Payment method - SWIFT

Information required for Bisq software strings:

Special info about any of the inputs required for creating the payment account:

Please make sure to include as much information as possible for SWIFT payments. Not all the information maybe required for some payments, however as SWIFT is international you will not know from which country your offer is taken and, therefore, what information is needed. As such please provide as much information to make the process as smooth as possible.

Most banks charge fees for sending and receiving SWIFT payments. Bisq requires BTC Buyers to send SWIFT payments using the shared fee model (SHA). If you send a payment using another mode for example Beneficiary pays fees (BEN) you will likely be penalized. Therefore, please take care to select the correct fee model when sending payment.

SWIFT payments require more information than any other payment method on Bisq. Please ensure you communicate with your trading peer effectively and promptly to ensure a smooth trading experience for all. As is the case for all payment methods please do leave any reference blank. If a reference is required please use your 'Account Owner Name'.

Special items to be aware about when sending payments (for BTC Buyers):

Most banks charge fees for sending and receiving SWIFT payments. Bisq requires BTC Buyers to send SWIFT payments using the shared fee model (SHA). If you send a payment using another mode for example Beneficiary pays fees (BEN) you will likely be penalized. Therefore, please take care to select the correct fee model when sending payment and make yourself aware of what fees you will likely pay in advance of taking the trade.

SWIFT payments require more information than any other payment method on Bisq. Please ensure you communicate with your trading peer effectively and promptly to ensure a smooth trading experience for all. As is the case for all payment methods please do leave any reference blank. If a reference is required please use your 'Account Owner Name'.

Special items to be aware about when receiving payments (for BTC Sellers):

Most banks charge fees for sending and receiving SWIFT payments. Bisq requires BTC Buyers to send SWIFT payments using the shared fee model (SHA). If you receive a SWIFT payment that does not use the SHA model, for example Beneficiary pays fees (BEN), please open a mediation ticket. Please ensure you are aware of what fees you might incur as the beneficiary of a SWIFT payment

SWIFT payments require more information than any other payment method on Bisq. Please ensure you communicate with your trading peer effectively and promptly to ensure a smooth trading experience for all.

@ghost ghost mentioned this issue Aug 24, 2021
@pazza83
Copy link

pazza83 commented Sep 4, 2021

I have completed the first draft of the SWIFT wiki. Let me know if you think I have missed anything or included anything incorrectly.

@pazza83
Copy link

pazza83 commented Nov 21, 2021

wiki completed: https://bisq.wiki/SWIFT

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

Successfully merging a pull request may close this issue.