I give this problem each year in a problem-solving seminar. Here is the solution that I wrote up. I am using $f$ instead of $\varphi$ and $e_n$ instead of $x^n$.
Proof that if $f(e_k) = 0$ for each $k$ then $f$ is identically zero.
Let $x=(x_1,x_2,\dots)$. Since $2^n$
and $3^n$ are relatively prime, there are integers $a_n$ and $b_n$
for which $x_n=a_n2^n+b_n3^n$. Hence $f(x)=f(y)+f(z)$, where $y =
(2a_1, 4a_2, 8a_3,\dots)$ and $z=(3b_1,9b_2,27b_3,\dots)$. Now for
any $k\geq 1$ we have
$$ f(y) = f(2a_1,4a_2,\dots,2^{k-1}a_{k-1},0,0,
\dots) $$
$$ \qquad + f(0,0,\dots,0,2^ka_k,2^{k+1}a_{k+1},\dots) $$
$$ \qquad= 0+2^kf(0,0,\dots,0,a_k,2a_{k+1},4a_{k+2},\dots). $$
Hence $f(y)$ is divisible by $2^k$ for all $k\geq 1$, so
$f(y)=0$. Similarly $f(z)$ is divisible by $3^k$ for all $k\geq
1$, so $f(z)=0$. Hence $f(x)=0$.
Proof that $f(e_k) = 0$ for $k \gg 1$.
Now let $a_i=f(e_i)$. Define integers $0< n_1 <
n_2 <\cdots$ such that for all $k\geq 1$,
$$ \sum_{i=1}^k|a_i|2^{n_i} < \frac 12 2^{n_{k+1}}. $$
(Clearly this is possible --- once $n_1,\dots,n_k$ have been chosen,
simply choose $n_{k+1}$ sufficiently large.) Consider $x=(2^{n_1},
2^{n_2}, \dots)$. Then
$$ f(x) = f(2^{n_1}e_1 + \cdots + 2^{n_k} e_k +2^{n_{k+1}}
(e_{k+1}+2^{n_{k+2}-n_{k+1}}e_{k+2}+\cdots))$$ $$ \qquad=
\sum_{i=1}^ka_i 2^{n_i}+2^{n_{k+1}}b_k, $$
where $b_k=f(e_{k+1}+2^{n_{k+2}-n_{k+1}}e_{k+2}+\cdots)$. Thus by the
triangle inequality,
$$\left| 2^{n_{k+1}}b_k\right| < \left| \sum_{i=1}^k a_i
2^{n_i}\right| + |f(x)| $$ $$ \qquad <
\frac 12 2^{n_{k+1}} + |f(x)|. $$
Thus for sufficiently large $k$ we have $b_k=0$ [why?]. Since
$$ b_j - 2^{n_{j+2}-n_{j+1}}b_{j+1}=f(e_{j+1})\ \ \mbox{[why?]},
$$
we have $f(e_k)=0$ for $k$ sufficiently large.