Q:

Determining whether something is an acid, base, or amphoteric

I have to find whether these compounds are acids, bases, or amphoteric: $\ce{CO3^{-2}}$, $\ce{HPO4^{2-}}$, $\ce{H3O^{+}}$ and $\ce{NH4^{+}}$. 
I know the first can obviously act as a base, but others can gain or lose $\ce{H^{+}}$, so I think they are amphoteric. However, according to my book, I'm wrong. Can you help me clear my doubt? Thank you very much!

A:

An amphoteric substance can act both as an acid and a base. That is, an amphoteric substance can donate protons and also accept protons.
$\ce{CO3^{-2}}$ does not have any protons so it cannot act as an acid. It is the conjugate base of $\ce{HCO3^{-}}$.
$\ce{HPO4^-{2}}$ is the conjugate base of $\ce{H2PO4^{-}}$. It can accept a proton to go back to $\ce{H2PO4^{-}}$ or it can donate a proton to become $\ce{PO4^{-3}}$. Thus, it is amphoteric.
$\ce{H3O^{+}}$ is the conjugate acid of $\ce{H2O}$. It can donate a proton to go back to $\ce{H2O}$ but it cannot accept any other protons. Thus, it not amphoteric.
$\ce{NH4^{+}}$ is similar to $\ce{H2O}$. In this case it is the conjugate acid of $\ce{NH3}$. As such it can donate a proton to go back to $\ce{NH3}$ but it cannot accept any protons. It is not amphoteric.
So, out of your list only $\ce{HPO4^-{2}}$ is apmhoteric.

