# prepareCalls (Solana)

> Overview of the prepareCalls function

> For the complete documentation index, see [llms.txt](/docs/llms.txt).

{/* This file is auto-generated by TypeDoc. Do not edit manually. */}

```ts
function prepareCalls(client, params): Promise<SolanaPrepareCallsResult>;
```

Defined in: [packages/wallet-apis/src/actions/solana/prepareCalls.ts:77](https://github.com/alchemyplatform/aa-sdk/blob/main/packages/wallet-apis/src/actions/solana/prepareCalls.ts#L77)

Prepares Solana instructions for execution by building a versioned transaction.
Returns the compiled transaction and a signature request that needs to be signed
before submitting to sendPreparedCalls.

## Example

```ts
const result = await client.prepareCalls({
  calls: [
    {
      programId: "11111111111111111111111111111111",
      data: "0x...",
    },
  ],
  capabilities: {
    paymaster: { policyId: "your-policy-id" },
  },
});
```

## Parameters

<table>
  <thead>
    <tr>
      <th align="left">Parameter</th>
      <th align="left">Type</th>
      <th align="left">Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `client`
      </td>

      <td>
        `InnerSolanaWalletApiClient`
      </td>

      <td>
        The Solana wallet API client
      </td>
    </tr>

    <tr>
      <td>
        `params`
      </td>

      <td>
        [`SolanaPrepareCallsParams`](../type-aliases/SolanaPrepareCallsParams)
      </td>

      <td>
        Parameters for preparing Solana calls
      </td>
    </tr>

  </tbody>
</table>

## Returns

`Promise`\<[`SolanaPrepareCallsResult`](../type-aliases/SolanaPrepareCallsResult)>

The prepared Solana transaction with signature request