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

# wallet_sendCalls

> Send a batch of calls using the wallet_sendCalls method.

### SDK methods

Learn more about sending transactions using our SDKs [here](/wallets/using-wallets/ethereum/send-a-transaction).

***

<RequestExample>
  ```sh Without sponsorship theme={"system"}
  curl --request POST \
    --url https://api.privy.io/v1/wallets/{wallet_id}/rpc \
    --header 'Authorization: Basic <encoded-value>' \
    --header 'Content-Type: application/json' \
    --header 'privy-app-id: <privy-app-id>' \
    --data '{
    "method": "wallet_sendCalls",
    "caip2": "eip155:84532",
    "chain_type": "ethereum",
    "params": {
      "calls": [
        {
          "to": "0xB8644175b78da1971C7278Ead8ff70Ce65E0981b",
          "value": "0x00000001"
        },
        {
          "to": "0xB8644175b78da1971C7278Ead8ff70Ce65E0981b",
          "value": "0x00000002"
        }
      ]
    }
  }'
  ```

  ```sh With sponsorship theme={"system"}
  curl --request POST \
    --url https://api.privy.io/v1/wallets/{wallet_id}/rpc \
    --header 'Authorization: Basic <encoded-value>' \
    --header 'Content-Type: application/json' \
    --header 'privy-app-id: <privy-app-id>' \
    --data '{
    "method": "wallet_sendCalls",
    "caip2": "eip155:84532",
    "chain_type": "ethereum",
    "sponsor": true,
    "params": {
      "calls": [
        {
          "to": "0xB8644175b78da1971C7278Ead8ff70Ce65E0981b",
          "value": "0x00000001"
        },
        {
          "to": "0xB8644175b78da1971C7278Ead8ff70Ce65E0981b",
          "value": "0x00000002"
        }
      ]
    }
  }'
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={"system"}
  {
    "method": "wallet_sendCalls",
    "data": {
      "transaction_id": "b4966a89-8983-4b1b-a93a-b104799527f5",
      "caip2": "eip155:84532"
    }
  }
  ```
</ResponseExample>

<Warning>
  A successful response indicates that the transaction has been broadcasted to the network.
  Transactions may get broadcasted but still fail to be confirmed by the network. To handle these
  scenarios, see our guide on [speeding up transactions](/recipes/speeding-up-transactions).
</Warning>

### Headers

<ParamField header="privy-app-id" type="string" required>
  ID of your Privy app.
</ParamField>

<ParamField header="privy-authorization-signature" type="string">
  Request authorization signature. If multiple signatures are required, they should be comma
  separated.
</ParamField>

<ParamField header="privy-request-expiry" type="string">
  Request expiry. Value is a Unix timestamp in milliseconds representing the deadline by which the
  request must be processed.
</ParamField>

### Path Parameters

<ParamField path="wallet_id" type="string" required>
  ID of the wallet to get.
</ParamField>

### Body

<ParamField body="method" type="string" defaultValue="wallet_sendCalls" required>
  Available options: `wallet_sendCalls`
</ParamField>

<ParamField body="caip2" type="string" initialValue="eip155:84532" required />

<ParamField body="params" type="object" required>
  <Expandable title="child attributes" defaultOpen="true">
    <ParamField body="calls" type="object[]" required>
      An array of call objects to execute in a batch.

      <Expandable title="child attributes" defaultOpen="true">
        <ParamField body="to" type="string" required>
          The recipient address for the call.
        </ParamField>

        <ParamField body="value" type="string">
          The value to send in the call in wei as a hexadecimal string.
        </ParamField>

        <ParamField body="data" type="string">
          The encoded calldata for the call.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="sponsor" type="boolean">
  Optional parameter to enable gas sponsorship for this transaction. [Learn
  more.](/wallets/gas-and-asset-management/gas/overview)
</ParamField>

<ParamField body="chain_type" type="string">
  Available options: `ethereum`
</ParamField>

### Returns

<ResponseField name="method" type="enum<string>" required>
  Available options: `wallet_sendCalls`
</ResponseField>

<ResponseField name="data" type="object" required>
  <Expandable title="child attributes" defaultOpen="true">
    <ResponseField name="transaction_id" type="string" required>
      A unique identifier for the batch transaction.
    </ResponseField>

    <ResponseField name="caip2" type="string" required />
  </Expandable>
</ResponseField>
