# Wallet Engine APIs

There are two basic steps to get a user setup with a wallet and unlock all of its functionality: &#x20;

1. [Activate](https://apidocs.walletengine.io/account-activation) a user&#x20;
2. [KYC](https://apidocs.walletengine.io/know-your-customer-kyc) a user

When a user has completed these steps they can top-up, transfer, withdraw and limits are set to a max balance of $1000 and an annual withdrawal of $30,000.

KYC is how we manage compliance. There are different KYC levels for each country which each has different limits. Each KYC level requires certain details to be verified and maintained for each user.

We want transactions to be successful so we have some basic checks along the way to help. These checks are on Topup, Transfer, and Withdraw, Let's take transfer as an example:

* Firstly, we check if the recipient has an account, if not we can send a custom SMS invitation with a deep link to your app.
* Secondly, we check the transmitters' balance and the recipients' balance and set a session limit to remove the possibility of any disruptive error messages.
* Thirdly, the user enters an amount, and it's processed.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://apidocs.walletengine.io/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
