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

# Method support

> Which EIP-1193 methods the Startale App SDK actually serves, in a standalone application and inside a Mini App.

The provider accepts any EIP-1193 method, but not every method is served. Some are answered by the SDK locally, some open the Startale App popup, and some are accepted and then fail. This page is the map, so you find out here rather than at runtime.

## Standalone applications

Until the user connects, only `eth_requestAccounts`, `wallet_connect`, `wallet_sendCalls`, `eth_accounts`, `eth_chainId`, and `net_version` are served. The other methods on this page, apart from `wallet_getCallsStatus`, throw `4100`. Connect first.

**Answered locally by the SDK.** No popup, no user interaction.

| Method | Notes |
| - | - |
| `eth_accounts`, `eth_requestAccounts` | Returns the connected accounts. `eth_requestAccounts` opens the popup only if not yet connected, and `eth_accounts` returns `[]` until then. |
| `eth_chainId`, `net_version` | The active chain. Before the user connects, these report chain `1`. |
| `eth_coinbase` | The first connected account. |
| `wallet_getCapabilities` | Served from the capabilities the Startale App returned when the user connected. |
| `wallet_getUserInfo` | Throws `4100` if the user is not connected. |
| `wallet_switchEthereumChain` | Resolved locally for a network the Startale App serves. See [`wallet_switchEthereumChain`](/api-reference/rpc-methods/wallet-switch-ethereum-chain). |

**Served by the Startale App popup.** These prompt the user.

| Method | Notes |
| - | - |
| `wallet_connect` | Connection and capability negotiation. |
| `personal_sign` | |
| `eth_signTypedData_v4` | Use this version, not `_v1` or `_v3`. |
| `eth_sendTransaction` | Cannot carry a custom paymaster. See [Gas](/app-sdk/gasless). |
| `wallet_sendCalls` | The only method that carries `paymasterOptions`. |

**Not served.** These requests fail.

`eth_signTypedData_v1`, `eth_signTypedData_v3`, `eth_signTypedData` (unversioned), `eth_signTransaction`, `eth_ecRecover`, `personal_ecRecover`, `wallet_addEthereumChain`, `wallet_watchAsset`, `wallet_grantPermissions`, `wallet_showCallsStatus` open the Startale App popup, which shows the method as not supported. Closing it rejects the request with `4001`, not `4200`, so do not treat every `4001` as the user declining a supported action.

`wallet_getCallsStatus` never reaches the Startale App and is not supported. Do not call it.

<Warning>
  Do not build against the unsupported list. Several of these are standard methods a wallet is often assumed to implement, and a library that calls one on your behalf will fail at the point of use rather than at setup. `eth_signTypedData_v4` and `wallet_sendCalls` are the supported equivalents for typed-data signing and batching.
</Warning>

## Inside a Mini App

The surface is deliberately narrower. Anything not listed throws `4200 Unsupported method`.

| Method | Behaviour |
| - | - |
| `eth_chainId`, `eth_accounts`, `eth_requestAccounts` | Read-only. |
| `personal_sign` | `from` forced to the smart account. |
| `eth_signTypedData_v4` | `from` forced to the smart account. |
| `eth_sendTransaction` | `from` forced to the smart account. Sponsored. |
| `wallet_sendCalls` | `from` forced to the smart account. Sponsored. |
| `wallet_switchEthereumChain`, `wallet_addEthereumChain` | Switch to a chain the Mini App is enabled for, Soneium only by default. Other chains throw `4200`. See [Chains](/miniapps/wallet-integration#chains). |

See [Mini App wallet integration](/miniapps/wallet-integration) for the full constraint surface, including why signing from a linked EOA is not possible.

## Batch status is not pollable

Neither `wallet_getCallsStatus` nor `wallet_showCallsStatus` is implemented in either context. `wallet_sendCalls` resolves with `transactionHash` and `userOpHash` once the batch is submitted. If you need a receipt, look it up with your own RPC client.

## Related

<CardGroup cols={2}>
  <Card title="Errors" icon="triangle-exclamation" href="/api-reference/errors">
    The error codes these methods throw.
  </Card>

  <Card title="Mini App wallet integration" icon="puzzle-piece" href="/miniapps/wallet-integration">
    The narrowed surface, and why.
  </Card>
</CardGroup>
