> ## Documentation Index
> Fetch the complete documentation index at: https://etherspot.fyi/llms.txt
> Use this file to discover all available pages before exploring further.

# Functions

<Info>
  This page will contain an exhaustive list of all functions we can call using the SDK.
</Info>

If you want to take a look at the SDK code in more detail then you can check these functions out [here on Github](https://github.com/etherspot/remote-signer-sdk/blob/master/src/sdk/sdk.ts).

| Function Name                                                               | Description                                                                                                                          |
| --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| validateSessionKey() returns boolean                                        | get sessionKey details from remote permissioned backend service followed by a check onchain if the sessionKey is live                |
| isSessionKeyLiveOnChain() returns boolean                                   | runs a static simulation for onchain call - `isSessionKeyAlive` and returns true if session is live                                  |
| getSessionKeyOnChainData() returns SessionKeyOnChainData                    | query ERC20SessionKeyValidator contract onchain via simulateCall on `sessionData`                                                    |
| signUserOp(userOp) returns SignedUserOp                                     | accepts Userop Struct and sends it to permissioned backend service which signs the Userop usingthe privateKey of SessionKey from KMS |
| destroy()                                                                   | Destroys the SDK object.                                                                                                             |
| estimate(gasDetails?: TransactionGasInfoForUserOp)                          | Returns the estimated amount of gas a transaction will cost.                                                                         |
| getGasFee()                                                                 | Returns the current gas fee for the network.                                                                                         |
| send(userOp: UserOperationStruct)                                           | Sends a struct of signed UserOps to the bundler.                                                                                     |
| getNativeBalance()                                                          | Returns the native token amount of the Etherspot wallet.                                                                             |
| getUserOpReceipt(userOpHash: string)                                        | Returns the receipt of a UserOp processed by the bundler.                                                                            |
| getUserOpHash(userOp: UserOperationStruct)                                  | Returns the hash of a UserOp processed by the bundler.                                                                               |
| [addUserOpsToBatch(tx: UserOpsRequest)](/modular-sdk/batching-transactions) | Adds a UserOp to the batch before sending.                                                                                           |
| clearUserOpsFromBatch()                                                     | Clears the batch.                                                                                                                    |
