How can we prove that there are $2^{\mathfrak{c}}$ Hamel bases? I know that there are $2^{\mathfrak{c}}$ distinct Hamel bases for $\mathbb{R}$ over $\mathbb{Q}$ but what is the demonstration for that?

There are many ways to show this; here's one simple way.  Let $B$ be any Hamel basis for $\mathbb{R}$ over $\mathbb{Q}$, which must have cardinality $\mathfrak{c}$, and partition $B$ into two subsets $C$ and $D$ with a bijection $f:C\to D$ (so $|C|=|D|=\mathfrak{c}$).  For any subset $S\subseteq C$, the following set is a Hamel basis:
$$C\setminus S\cup D\setminus f(S)\cup\{c+f(c):c\in S\}\cup\{c-f(c):c\in S\}.$$  In words: split the basis $B$ into pairs $\{c,f(c)\}$, and then for each $c\in S$ replace $\{c,f(c)\}$ by $\{c+f(c),c-f(c)\}$, which has the same span.  This gives a distinct basis for each $S\subseteq C$, and there are $2^\mathfrak{c}$ such subsets.
