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

# createStartaleAccountSDK

> Initialize the Startale App SDK and obtain an EIP-1193 provider.

Creates an SDK instance and returns helpers for working with it.

```ts theme={null}
import { createStartaleAccountSDK } from '@startale/app-sdk'

const sdk = createStartaleAccountSDK({
  appName: 'My App',
  appLogoUrl: 'https://my-app.com/logo.png',
  appChainIds: [1868, 1946],
})
```

## Signature

```ts theme={null}
function createStartaleAccountSDK(options: CreateProviderOptions): {
  getProvider(): ProviderInterface
  subAccount: {
    /* sub-account helpers */
  }
}
```

## Options

<ParamField path="appName" type="string">
  The display name shown in the connection popup. Defaults to `'App'` if omitted; recommended to set. Maximum length is unconstrained but keep it under 32 characters for readability.
</ParamField>

<ParamField path="appLogoUrl" type="string">
  HTTPS URL to a square logo. Shown in the connection popup. Must be reachable.
</ParamField>

<ParamField path="appChainIds" type="number[]">
  Chain IDs your app supports. Defaults to `[]` if omitted; recommended to pass at minimum `1868` (Soneium Mainnet) or `1946` (Soneium Minato).
</ParamField>

<ParamField path="preference" type="Preference">
  Optional. Filters auth methods, requires linked EOA, sets the wallet popup URL.

  <Expandable title="Preference fields">
    <ParamField path="walletUrl" type="string">
      Override the wallet popup URL. Defaults to `https://app.startale.com`. Useful for staging.
    </ParamField>

    <ParamField path="authType" type="'google' | 'line' | 'apple'">
      Limit which sign-in methods are offered. Omit to allow all.
    </ParamField>

    <ParamField path="eoaRequired" type="boolean">
      Force the user to link a MetaMask wallet during connection. Default `false`.
    </ParamField>

    <ParamField path="telemetry" type="boolean">
      Enable or disable SDK telemetry. Default `true`.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="paymasterOptions" type="Record<chainId, { url, id }>">
  Optional. Use a custom paymaster instead of the default Startale sponsorship. See [Custom paymaster](/app-sdk/custom-paymaster).
</ParamField>

<ParamField path="subAccounts" type="SubAccountOptions">
  Optional sub-account configuration. See [Sub-accounts](/app-sdk/sub-accounts).
</ParamField>

## Returns

<ResponseField name="getProvider" type="() => ProviderInterface">
  Returns the EIP-1193 provider. Use it directly or wrap it in a wagmi connector.
</ResponseField>

<ResponseField name="subAccount" type="object">
  Helper methods for managing sub-accounts. See [Sub-accounts](/app-sdk/sub-accounts) for the full surface.
</ResponseField>

## Related

* [`startaleConnector`](/api-reference/startale-connector), the wagmi connector that wraps this SDK.
* [Initialization](/app-sdk/initialization), guidance on which mode to use.
