Instadebit is the best choice in my opinion for Canadians to deposit and withdraw at online casinos. It is a Canadian company that works seamlessly with banks in Canada, very similar to the way Paypal works. Deposit from and withdraw to your bank account, using Instadebit as a secure ‘middle man’, all at no cost to you, the online casinos pay any fees involved.
I like it because it isn’t some offshore or overseas site that you have to give your banking information to, it’s a purely Canadian company that has to comply to governing regulations. I feel safe using them and leaving a balance in there to use as my gambling fund. Deposits to casinos are instantly paid by Instadebit, and then it takes a day or two to be withdrawn from your bank account. If you already have a balance in your Instadebit account, deposits to casinos will be taken from your balance. If you wish to withdraw some or all of your balance to your bank account, this can be easily done by logging in to your Instadebit account and requesting a withdrawal. It only takes a couple days before it clears through the banking system and you see it deposited to your bank account.
One important thing to note is that the balances in your Instadebit account are separated by currency. If you have a balance in CAD and you deposit to a casino in USD, it will be taken from the USD balance first (or your bank account if there is no USD balance), while your CAD balance remains untouched.
Update: Instadebit has started charging $1 per deposit to a casino, but only if there is no balance in your Instadebit account at the time. I still think it’s the best way to deposit and withdraw at online casinos.