> ## Documentation Index
> Fetch the complete documentation index at: https://crossmint-devin-1787949784-wallet-docs-two-concept-model.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# WalletService

> Swift Protocol

**Protocol**

```swift theme={null}
protocol WalletService : Sendable
```

## Instance Properties

| Property                  | Type   | Description |
| ------------------------- | ------ | ----------- |
| `isProductionEnvironment` | `Bool` | -           |

## Instance Methods

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

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

### createWallet(\_:)

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

### fund(\_:)

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

### getSigner(\_:chainType:)

```swift theme={null}
func getSigner(_ signerLocator: String, chainType: ChainType) async throws(WalletError) -> AddDelegatedSignerResponse?
```

### getWallet(\_:)

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

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

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

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

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