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

# Wallet

> Swift Class

**Class**

```swift theme={null}
class Wallet
```

## Instance Properties

### address

```swift theme={null}
var address: String { get }
```

## Instance Methods

### addSigner(\_:)

```swift theme={null}
func addSigner(_ config: SignerConfig) async throws(WalletError)
```

### approve(transactionId:)

```swift theme={null}
func approve(transactionId id: String) async throws(TransactionError) -> Transaction
```

### balance(of:)

```swift theme={null}
func balance(of tokens: [CryptoCurrency] = []) async throws(WalletError) -> Balances
```

### balances(*:*:)

```swift theme={null}
func balances(_ tokens: [CryptoCurrency] = [], _ chains: [Chain] = []) async throws(WalletError) -> Balance
```

### fund(token:amount:)

```swift theme={null}
func fund(token: CryptoCurrency, amount: Int) async throws(WalletError)
```

### listTransfers(tokens:)

```swift theme={null}
func listTransfers(tokens: [CryptoCurrency]) async throws(WalletError) -> TransferListResult
```

### needsRecovery()

```swift theme={null}
func needsRecovery() async -> Bool
```

### nfts(page:nftsPerPage:)

```swift theme={null}
func nfts(page: Int, nftsPerPage: Int) async throws(WalletError) -> [NFT]
```

### recover()

```swift theme={null}
func recover() async throws(WalletError)
```

### removeSigner(locator:)

```swift theme={null}
func removeSigner(locator: String) async throws(TransactionError) -> Transaction
```

### send(*:*:\_:idempotencyKey:)

```swift theme={null}
func send(_ walletLocator: String, _ tokenLocator: String, _ amount: Double, idempotencyKey: String? = nil) async throws(TransactionError) -> TransactionSummary
```

### send(token:recipient:amount:)

```swift theme={null}
func send(token: CryptoCurrency, recipient: TransferTokenRecipient, amount: String) async throws(TransactionError) -> Transaction
```

### signerIsRegistered(\_:)

```swift theme={null}
func signerIsRegistered(_ locator: String) async -> Bool
```

### transferToken(tokenId:recipient:amount:)

```swift theme={null}
func transferToken(tokenId: String? = nil, recipient: TransferTokenRecipient, amount: String) async throws(TransactionError) -> Transaction
```

### useSigner(\_:)

```swift theme={null}
func useSigner(_ config: SignerConfig) async throws(WalletError)
```
