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

### authHeaders

Inherited from `AuthenticatedService.authHeaders`.

```swift theme={null}
var authHeaders: [String : String] { get async }
```

### isProductionEnvironment

Inherited from `SmartWalletService.isProductionEnvironment`.

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

## Instance Methods

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

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

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

### approveSignature(\_:)

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

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

### createSignature(\_:)

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

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

### createTransaction(\_:)

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

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

### createWallet(\_:)

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

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

### fetchSignature(\_:chainType:)

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

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

### fetchTransaction(\_:)

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

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

### fund(\_:)

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

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

### getBalance(\_:)

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

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

### getNFTs(\_:)

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

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

### getWallet(\_:)

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

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

### listTransfers(\_:)

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

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

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

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

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

### signTransaction(\_:)

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

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

### transferToken(chainType:tokenLocator:recipient:amount:signer:idempotencyKey:)

Inherited from `SmartWalletService.transferToken(chainType:tokenLocator:recipient:amount:signer:idempotencyKey:)`.

```swift theme={null}
func transferToken(chainType: String, tokenLocator: String, recipient: String, amount: String, signer: String? = nil, idempotencyKey: String? = nil) async throws(TransactionError) -> any TransactionApiModel
```
