  We state and study the congruence subgroup problem for groups acting on
rooted tree, and for branch groups in particular. The problem is reduced to the
computation of the congruence kernel, which we split into two parts: the branch
kernel and the rigid kernel. In the case of regular branch groups, we prove
that the first one is Abelian while the second has finite exponent. We also
establish some rigidity results concerning these kernels.
  We work out explicitly known and new examples of non-trivial congruence
kernels, describing in each case the group action. The Hanoi tower group
receives particular attention due to its surprisingly rich behaviour.
