> ## 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.

# DefaultSmartWalletService

> Swift Class

**Class**

```swift theme={null}
final class DefaultSmartWalletService
```

## Initializers

### init(crossmintService:authManager:jsonCoder:)

```swift theme={null}
init(crossmintService: any CrossmintService, authManager: any AuthManager, jsonCoder: any JSONCoder = DefaultJSONCoder())
```

## Instance Properties

### isProductionEnvironment

Inherited from `WalletService.isProductionEnvironment`.

```swift theme={null}
var isProductionEnvironment: Bool { get }
```

## Instance Methods

### addSigner(\_:chainType:chainName:)

Inherited from `WalletService.addSigner(_:chainType:chainName:)`.

```swift theme={null}
func addSigner(_ entry: DelegatedSignerEntry, chainType: ChainType, chainName: String) async throws(WalletError) -> AddDelegatedSignerResponse
```

### approveSignature(\_:)

Inherited from `SignatureService.approveSignature(_:)`.

```swift theme={null}
func approveSignature(_ request: SignRequest) async throws(SignatureError)
```

### createSignature(\_:)

Inherited from `SignatureService.createSignature(_:)`.

```swift theme={null}
func createSignature(_ request: CreateSignatureRequest) async throws(SignatureError) -> any SignatureApiModel
```

### createTransaction(\_:)

Inherited from `TransactionService.createTransaction(_:)`.

```swift theme={null}
func createTransaction(_ request: CreateTransactionRequest) async throws(TransactionError) -> any TransactionApiModel
```

### createWallet(\_:)

Inherited from `WalletService.createWallet(_:)`.

```swift theme={null}
func createWallet(_ request: CreateWalletParams) async throws(WalletError) -> WalletApiModel
```

### fetchSignature(\_:chainType:)

Inherited from `SignatureService.fetchSignature(_:chainType:)`.

```swift theme={null}
func fetchSignature(_ signatureId: String, chainType: ChainType) async throws(SignatureError) -> any SignatureApiModel
```

### fetchTransaction(\_:)

Inherited from `TransactionService.fetchTransaction(_:)`.

```swift theme={null}
func fetchTransaction(_ request: FetchTransactionRequest) async throws(TransactionError) -> any TransactionApiModel
```

### fund(\_:)

Inherited from `WalletService.fund(_:)`.

```swift theme={null}
func fund(_ request: FundWalletRequest) async throws(WalletError)
```

### getBalance(\_:)

Inherited from `BalanceService.getBalance(_:)`.

```swift theme={null}
func getBalance(_ params: GetBalanceQueryParams) async throws(WalletError) -> Balances
```

### getNFTs(\_:)

Inherited from `NFTService.getNFTs(_:)`.

```swift theme={null}
func getNFTs(_ params: GetNTFQueryParams) async throws(WalletError) -> [NFT]
```

### getWallet(\_:)

Inherited from `WalletService.getWallet(_:)`.

```swift theme={null}
func getWallet(_ request: GetMeWalletRequest) async throws(WalletError) -> WalletApiModel
```

### listTransfers(\_:)

Inherited from `TransferService.listTransfers(_:)`.

```swift theme={null}
func listTransfers(_ params: ListTransfersQueryParams) async throws(WalletError) -> TransferListResult
```

### registerTypedSigner(\_:chainType:chainName:)

Inherited from `WalletService.registerTypedSigner(_:chainType:chainName:)`.

```swift theme={null}
func registerTypedSigner(_ signer: any AdminSignerData, chainType: ChainType, chainName: String) async throws(WalletError) -> AddDelegatedSignerResponse
```

### removeSigner(\_:chainType:chainName:)

Inherited from `WalletService.removeSigner(_:chainType:chainName:)`.

```swift theme={null}
func removeSigner(_ signerLocator: String, chainType: ChainType, chainName: String) async throws(TransactionError) -> any TransactionApiModel
```

### signTransaction(\_:)

Inherited from `TransactionService.signTransaction(_:)`.

```swift theme={null}
func signTransaction(_ request: SignRequest) async throws(TransactionError) -> any TransactionApiModel
```

### transferToken(\_:)

Inherited from `TransferService.transferToken(_:)`.

```swift theme={null}
func transferToken(_ request: TransferTokenRequest) async throws(TransactionError) -> any TransactionApiModel
```
