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

# Types

> Type definitions exported from @startale/app-sdk.

## AppMetadata

```ts theme={null}
type AppMetadata = {
  appName: string
  appLogoUrl: string | null
  appChainIds: number[]
}
```

Identifies your app to the wallet popup.

## Preference

```ts theme={null}
type Preference = {
  walletUrl?: string
  telemetry?: boolean
  authType?: 'google' | 'line'
  eoaRequired?: boolean
  attribution?: { auto: boolean }
}
```

User-facing wallet behavior.

## ProviderInterface

```ts theme={null}
interface ProviderInterface extends EventEmitter {
  request<T = unknown>(args: RequestArguments): Promise<T>
  disconnect(): Promise<void>
}
```

The EIP-1193 provider returned by `sdk.getProvider()`. See [Connect a wallet](/app-sdk/connect) and [Events](/app-sdk/events).

## RequestArguments

```ts theme={null}
type RequestArguments = {
  method: string
  params?: unknown[] | object
}
```

Standard EIP-1193 request shape.

## ProviderRpcError

```ts theme={null}
interface ProviderRpcError extends Error {
  code: number
  data?: unknown
}
```

The error type thrown by all provider methods. See [Errors](/api-reference/errors) for codes.

## CreateProviderOptions

```ts theme={null}
type CreateProviderOptions = Partial<AppMetadata> & {
  preference?: Preference
  subAccounts?: SubAccountOptions
  paymasterOptions?: Record<number, PaymasterOptions>
}
```

Argument to [`createStartaleAccountSDK`](/api-reference/create-startale-account-sdk).

## PaymasterOptions

```ts theme={null}
type PaymasterOptions = {
  url: string
  id: string
}
```

Configuration for a custom paymaster on a specific chain. See [Custom paymaster](/app-sdk/custom-paymaster).
