First of all, let's determine what the main ways to get XPR are:
To exchange another crypto to XPR on one of the CEXs listed XPR.
To swap another crypto to XPR on one of the DEXs where XPR is listed.
To buy it for USD in the native Metal app (for US residents only).
Or to send another crypto to the Proton chain and swap it to XPR on the Proton Swap.
Also, you should notice that XPR was an ERC20 token initially, which means that it was running over the Ethereum network, and the mainnet was launched later. Some centralized exchanges still use the old ERC20 version, which can easily be converted to the mainnet using Proton Bridge.
Now let's take a closer look at each of the ways...
CEX (Centralized Exchange)
At the moment XPR is listed on following well-known exchanges:
Among all, we would recommend you to use KuCoin because they have integrated the mainnet. Hence, withdrawals are much cheaper (commission is just 1 XPR), it has good liquidity and a handy user interface.
You must be wondering: "When Binance?"... We don't know the answer to this question, but I'm sure it's a matter of time. The Proton team has already applied to all major exchanges, so we just need to be patient.
DEX (Decentralized Exchange)
At the moment, XPR is listed on the following decentralized exchanges:
UniSwap is Ethereum DEX, and PancakeSwap is Binance Smartchain DEX, so they do not support the Proton mainnet by definition.
Also, it is possible to buy XPR using the 1inch platform, an aggregator of liquidity from many DEXs, including UniSwap and PancakeSwap. 1inch also enables you to buy XPR with fiat right from your credit card.
Bought XPR tokens you can easily transfer to mainnet using the Proton Bridge.
Metal
Metal is a native product of the Proton team. If you are a US resident and want to buy XPR for USD, I suppose it is the most convenient way for you.
Proton Swap
Proton Swap is a dApp created by the Proton team and running on the Proton blockchain. It consists of 4 tabs: Swap, Pool, Farm and Bridge. To deposit another cryptocurrency to the Proton chain, you will need the first and the last ones. To use it, you should already have installed the WebAuth.com wallet with created account and be logged in.
Best of all is to send USDC because pairs with it are the most liquid on the Proton Swap, so there's the lowest price impact. Or you can send, for example, BTC, swap it to USDC first, and then swap USDC to XPR.
Step 1
Go to the Bridge tab of Proton Swap and select a cryptocurrency you want to deposit, for example, USDC. You'll see the popup - select the Mobile Wallet. If you have opened the Proton Swap page from your smartphone just tap on Open Wallet and you will be automatically transferred to WebAuth.com mobile app to confirm the authorization request. Otherwise, if you have opened the page on your desktop, scan the QR-code using your WebAuth.com mobile app.
When done, you'll see deposit addresses generated for you - select an appropriate network and just send your cryptocurrency to the address. It can take some time while your transaction is being processed.
As you can see, there are three opinions available:
Ethereum network (ERC20)
Binance Smart Chain network (BEP20)
Stellar network
This means you can send any of these USDC versions and it will be automatically wrapped into Proton mainnet xUSDC token.
Step 2
Now go to the Swap tab, select the currency you have just deposited using the Bridge in the first field and XPR in the second field. Make sure that price impact isn't too high (ideally it should be green):
Press Swap and you should see the confirmation popup, which instructs you to open the Mobile Wallet (WebAuth.com) and authorize the request.