\section{Domestic wallet check} \label{sec:proc:domestic} \begin{figure}[h!] \begin{sequencediagram} \newinst{wallet}{\shortstack{Customer wallet \\ \\ \begin{tikzpicture} \node [fill=gray!20,draw=black,thick,align=center] { Unique \\ Wallet ID}; \end{tikzpicture} }} \newinst[2]{exchange}{\shortstack{Taler (exchange) \\ \\ \begin{tikzpicture}[shape aspect=.5] \tikzset{every node/.style={cylinder,shape border rotate=90, draw,fill=gray!25}} \node at (1.5,0) {\shortstack{{{\tiny Database}}}}; \end{tikzpicture} }} \newinst[2]{sms}{\shortstack{Address validator}} \postlevel \mess[0]{wallet}{{P2P payment (Wallet ID)}}{exchange} \begin{callself}{exchange}{New wallet?}{} \end{callself} \mess[0]{exchange}{Request address validation}{sms} \mess[0]{sms}{Validation process ID}{exchange} \mess[0]{exchange}{Request address validation}{wallet} \mess[0]{wallet}{Send address}{sms} \mess[0]{sms}{{Send confirmation code (to address)}}{wallet} \mess[0]{wallet}{Supply confirmation code}{sms} \mess[0]{sms}{{Confirmed customer address}}{exchange} \mess[0]{exchange}{{Confirm completion}}{wallet} \mess[0]{wallet}{{Retry action}}{exchange} \end{sequencediagram} \caption{Deposit interactions between customer, Taler exchange (payment service provider) and external address validation service. The process can be triggered by wallet-to-wallet (P2P) payments described in Chapter~\ref{chap:triggers}.} \label{fig:proc:domestic} \end{figure} Our users have to accept the terms of service which restrict the use of the service to domestic customers. For interactions with the core banking system, this simply means that we only accept payments from or to domestic bank accounts. For P2P payments between wallets, we require that the wallets are controlled by a domestic entity. We define domestic entities as those that are able to receive messages at a domestic address. Two types of addresses are supported: \begin{itemize} \item Control over a domestic {\bf mobile phone number} is established by sending an SMS message with a confirmation code to the MSIN. \item Control over a domestic {\bf postal address} is established by sending a letter with a confirmation code to the address. \end{itemize} Depending on the type of address, a validation has a limited validity period, as shown in Table~\ref{table:proc:domestic}. When the validity period is over, a wallet has to re-do the address validation before they can receive any further funds through the service. \begin{table}[h!] \caption{Restrictions on address validations} \label{table:proc:domestic} \begin{tabular}{l|l|r} {\bf Type} & {\bf Validity period} & {\bf Restricted to} \\ \hline \hline Mobile phone number & 12 months & {\em +41} \\ Postal address & 36 months & {\em Switzerland} \\ \end{tabular} \end{table}