as i am currently situated in canada, it seems that actually getting btcs is the hardest point. locally, i would be paying +7%
and any exchanges does not seem to be 'instant', and +3-5 % when using cc
The exchange fees vary by exchange. Coinbase is popular and available in Canada. As long as you're not concerned about sharing your identity with Coinbase you can link a bank account (create an account specifically for your crypto currency transactions) and then buy Bitcoin, Ethereum, or Litecoin with Coinbase funded through that bank account. The transaction fees via bank account purchase are less than 2%. The transaction will take a week to settle but you'll lock in your price at the point of sale.
If you don't want to use Coinbase we can share many other options for you to consider.
Be very careful with coinbase- I don't use them and most that I know don't also- you can buy btc there but they don't like you to actually use them :/
I like Gemini and Cex.io when I'm in a pinch