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

# constructor()

export const NestedParam = ({parentKey, childKey, type, required, description, children}) => {
  const fullKey = `${parentKey}.${childKey}`;
  const anchorId = `body-${fullKey.replace(/\./g, '-')}`;
  return <div className="py-6 border-gray-100 dark:border-gray-800 border-b last:border-b-0">
  <div className="flex font-mono text-sm group/param-head param-head break-all relative" id={anchorId}>
    <div className="flex-1 flex content-start py-0.5 mr-5">
      <div className="flex items-center flex-wrap gap-2">
        <div className="absolute -top-1.5">
          <a href={`#${anchorId}`} className="-ml-[2.1rem] flex items-center opacity-0 border-0 group-hover/param-head:opacity-100 py-2 [.expandable-content_&]:-ml-[2.1rem]" aria-label="Navigate to header">
            <div className="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20">
              <svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512">
                <path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path>
              </svg>
            </div>
          </a>
        </div>
        <div className="font-semibold text-primary dark:text-primary-light cursor-pointer overflow-wrap-anywhere">
          <span className="text-gray-500 dark:text-gray-400">{parentKey}.</span>
          {childKey}
        </div>
        <div className="inline items-center gap-2 text-xs font-medium [&_div]:inline [&_div]:mr-2 [&_div]:leading-5">
          <div className="flex items-center px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 font-medium break-all">
            <span>{type}</span>
          </div>
          {required && <span className="px-2 py-0.5 rounded-md bg-red-100/50 dark:bg-red-400/10 text-red-600 dark:text-red-300 font-medium whitespace-nowrap">
              required
            </span>}
        </div>
      </div>
    </div>
  </div>
  {children && <div className="mt-4">
      <div className="prose prose-sm prose-gray dark:prose-invert">
        {children}
      </div>
    </div>}
</div>;
};

export const H3Bordered = ({text}) => <h3 id={text.toLowerCase()} className="border-b pb-2.5 border-gray-100 dark:border-gray-800">
    {text}
  </h3>;

<p><strong>Package:</strong> <code>core</code></p>

<p><strong>Defined in:</strong> <a href="https://github.com/tkhq/sdk/blob/v2026.3.1/packages/core/src/__clients__/core.ts#L195">**clients**/core.ts:195</a></p>

<H3Bordered text="Parameters" />

<ParamField body="config" type="TurnkeySDKClientConfig" required={true}>
  <Expandable title="config details">
    <NestedParam parentKey="config" childKey="apiBaseUrl" type="string" required={false}>
      base URL for the Turnkey API.
    </NestedParam>

    <NestedParam parentKey="config" childKey="authProxyConfigId" type="string" required={false}>
      ID for the auth proxy configuration.
    </NestedParam>

    <NestedParam parentKey="config" childKey="authProxyUrl" type="string" required={false}>
      URL for the auth proxy.
    </NestedParam>

    <NestedParam parentKey="config" childKey="defaultStamperType" type="StamperType" required={false}>
      default stamper to be used for all requests
    </NestedParam>

    <NestedParam parentKey="config" childKey="organizationId" type="string" required={true}>
      ID of the organization.
    </NestedParam>

    <NestedParam parentKey="config" childKey="passkeyConfig" type="TPasskeyStamperConfig" required={false}>
      configuration for the passkey stamper.
    </NestedParam>

    <Expandable title="passkeyConfig details">
      <NestedParam parentKey="config.passkeyConfig" childKey="allowCredentials" type="PublicKeyCredentialDescriptor[]" required={false}>
        list of credentials to pass. Defaults to empty.
      </NestedParam>

      <NestedParam parentKey="config.passkeyConfig" childKey="extensions" type="Record<string, unknown>" required={false}>
        optional extensions. Defaults to empty.
      </NestedParam>

      <NestedParam parentKey="config.passkeyConfig" childKey="rpId" type="string" required={false}>
        The RPID ("Relying Party ID") for your app. This is automatically determined in web environments based on the current hostname. See [https://github.com/f-23/react-native-passkey?tab=readme-ov-file#configuration](https://github.com/f-23/react-native-passkey?tab=readme-ov-file#configuration) to set this up for react-native.
      </NestedParam>

      <NestedParam parentKey="config.passkeyConfig" childKey="rpName" type="string" required={false}>
        name for the Relying Party (RP). This is used in the passkey creation flow on mobile.
      </NestedParam>

      <NestedParam parentKey="config.passkeyConfig" childKey="timeout" type="number" required={false}>
        timeout value in milliseconds. Defaults to 5 minutes.
      </NestedParam>

      <NestedParam parentKey="config.passkeyConfig" childKey="userVerification" type="UserVerificationRequirement" required={false}>
        override for UV flag. Defaults to "preferred".
      </NestedParam>

      <NestedParam parentKey="config.passkeyConfig" childKey="withPlatformKey" type="boolean" required={false}>
        option to force platform passkeys on native platforms.
      </NestedParam>

      <NestedParam parentKey="config.passkeyConfig" childKey="withSecurityKey" type="boolean" required={false}>
        option to force security passkeys on native platforms.
      </NestedParam>
    </Expandable>

    <NestedParam parentKey="config" childKey="walletConfig" type="TWalletManagerConfig" required={false}>
      configuration for the wallet manager.
    </NestedParam>

    <Expandable title="walletConfig details">
      <NestedParam parentKey="config.walletConfig" childKey="chains" type="object" required={true}>
        chains to support in the wallet manager.
      </NestedParam>

      <Expandable title="chains details">
        <NestedParam parentKey="config.walletConfig.chains" childKey="ethereum" type="object" required={false} />

        <Expandable title="ethereum details">
          <NestedParam parentKey="config.walletConfig.chains.ethereum" childKey="native" type="boolean" required={false} />

          <NestedParam parentKey="config.walletConfig.chains.ethereum" childKey="walletConnectNamespaces" type="unknown[]" required={false} />
        </Expandable>

        <NestedParam parentKey="config.walletConfig.chains" childKey="solana" type="object" required={false} />

        <Expandable title="solana details">
          <NestedParam parentKey="config.walletConfig.chains.solana" childKey="native" type="boolean" required={false} />

          <NestedParam parentKey="config.walletConfig.chains.solana" childKey="walletConnectNamespaces" type="unknown[]" required={false} />
        </Expandable>
      </Expandable>

      <NestedParam parentKey="config.walletConfig" childKey="features" type="object" required={false}>
        features to enable in the wallet manager.
      </NestedParam>

      <Expandable title="features details">
        <NestedParam parentKey="config.walletConfig.features" childKey="auth" type="boolean" required={false} />

        <NestedParam parentKey="config.walletConfig.features" childKey="connecting" type="boolean" required={false} />
      </Expandable>

      <NestedParam parentKey="config.walletConfig" childKey="walletConnect" type="object" required={false}>
        configuration for WalletConnect.
      </NestedParam>

      <Expandable title="walletConnect details">
        <NestedParam parentKey="config.walletConfig.walletConnect" childKey="appMetadata" type="object" required={true} />

        <Expandable title="appMetadata details">
          <NestedParam parentKey="config.walletConfig.walletConnect.appMetadata" childKey="description" type="string" required={true} />

          <NestedParam parentKey="config.walletConfig.walletConnect.appMetadata" childKey="icons" type="string[]" required={true} />

          <NestedParam parentKey="config.walletConfig.walletConnect.appMetadata" childKey="name" type="string" required={true} />

          <NestedParam parentKey="config.walletConfig.walletConnect.appMetadata" childKey="url" type="string" required={true} />
        </Expandable>

        <NestedParam parentKey="config.walletConfig.walletConnect" childKey="projectId" type="string" required={true} />
      </Expandable>
    </Expandable>
  </Expandable>
</ParamField>

<ParamField body="apiKeyStamper" type="CrossPlatformApiKeyStamper" required={false} />

<ParamField body="passkeyStamper" type="CrossPlatformPasskeyStamper" required={false} />

<ParamField body="walletManager" type="WalletManagerBase" required={false} />

<H3Bordered text="Response" />

A successful response returns the following fields:

<ResponseField name="returns" type="TurnkeyClient" required={true} />
