# Aptos SDK Functions

<table><thead><tr><th>Methods</th><th>Description</th></tr></thead><tbody><tr><td><pre class="language-typescript"><code class="lang-typescript">addAccountFeePayers(walletAddress: string, feePayers: string[]): Promise&#x3C;TransactionResponse>;
</code></pre></td><td>To add fee payers to the account</td></tr><tr><td><pre class="language-typescript"><code class="lang-typescript">removeAccountFeePayers(walletAddress: string, feePayers: string[]): Promise&#x3C;TransactionResponse>;
</code></pre></td><td>To remove fee payers from the account</td></tr><tr><td><p></p><pre class="language-typescript"><code class="lang-typescript">getWalletBalance(wallet?: string): Promise&#x3C;TokenBalance[]>;
</code></pre></td><td>To get the token balance of the wallet</td></tr><tr><td><pre class="language-typescript"><code class="lang-typescript">getSmartWalletDetails(wallet?: string): Promise&#x3C;SmartWalletDetails>;
</code></pre></td><td>To get the wallet details</td></tr><tr><td><pre class="language-typescript"><code class="lang-typescript">computeAccountAddress(): Promise&#x3C;string>;    
</code></pre></td><td>To compute smart wallet address</td></tr><tr><td><pre class="language-typescript"><code class="lang-typescript">getAccountAddress(controller?: string): Promise&#x3C;string>;
</code></pre></td><td>To get smart wallet address </td></tr><tr><td><pre class="language-typescript"><code class="lang-typescript">createAccount(seed: string, guardians: string[], feePayers: string[]): Promise&#x3C;TransactionResponse>;
</code></pre></td><td>To create smart wallet</td></tr><tr><td><pre class="language-typescript"><code class="lang-typescript">createAccountSponsored(seed: string, guardians: string[], feePayers: string[]): Promise&#x3C;TransactionResponse>;
</code></pre></td><td>To create a sponsored smart wallet</td></tr><tr><td><pre class="language-typescript"><code class="lang-typescript">changeControllerAccount(walletAddress: string, newController: string): Promise&#x3C;TransactionResponse>;
</code></pre></td><td>To change the controller of the account</td></tr><tr><td><pre class="language-typescript"><code class="lang-typescript">recoverAccount(walletAddress: string, newController: string): Promise&#x3C;TransactionResponse>;
</code></pre></td><td>To recover the account. (Guardians can recover account in case when the controller key is lost)</td></tr><tr><td><pre class="language-typescript"><code class="lang-typescript">addAccountGuardians(walletAddress: string, guardians: string[]): Promise&#x3C;TransactionResponse>;
</code></pre></td><td>To add guardians to the smart wallet</td></tr><tr><td><pre class="language-typescript"><code class="lang-typescript">removeAccountGuardians(walletAddress: string, guardians: string[]): Promise&#x3C;TransactionResponse>;
</code></pre></td><td>To remove guardians from the smart wallet.</td></tr><tr><td><pre class="language-typescript"><code class="lang-typescript">depositToAccount(walletAddress: string, coinType: string, amount: number): Promise&#x3C;TransactionResponse>;
</code></pre></td><td>To deposit any coin to smart wallet (Doesn't need to register coins before sending when using this method)</td></tr><tr><td><pre class="language-typescript"><code class="lang-typescript">withdrawFromAccount(walletAddress: string, coinType: string, amount: number): Promise&#x3C;TransactionResponse>;
</code></pre></td><td>To withdraw coins smart wallet. (Only controller can call this method)</td></tr><tr><td><pre class="language-typescript"><code class="lang-typescript">transferFromAccount(walletAddress: string, coinType: string, amount: number): Promise&#x3C;TransactionResponse>;
</code></pre></td><td>To transfer coins to other addresses</td></tr><tr><td><pre class="language-typescript"><code class="lang-typescript">executeAptosFunction(wallAddress: string, coinTypes: string[], payload: any[]): Promise&#x3C;TransactionResponse>;
</code></pre></td><td>To execute swap, stake, crosschain swap</td></tr></tbody></table>
