# split | @aa-sdk/core

> Overview of the split function from @aa-sdk/core

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

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

```ts
function split(params): CustomTransport;
```

Defined in: [aa-sdk/core/src/transport/split.ts:43](https://github.com/alchemyplatform/aa-sdk/blob/main/aa-sdk/core/src/transport/split.ts#L43)

The Split Transport allows you to split RPC traffic for specific methods across
different RPC providers. This is done by specifying the methods you want handled
specially as overrides and providing a fallback transport for all other methods.

## Example

```ts
import { createPublicClient, http } from "viem";
import { split } from "@aa-sdk/core";

const bundlerMethods = [
  "eth_sendUserOperation",
  "eth_estimateUserOperationGas",
  "eth_getUserOperationReceipt",
  "eth_getUserOperationByHash",
  "eth_supportedEntryPoints",
];

const clientWithSplit = createPublicClient({
  transport: split({
    overrides: [
      {
        methods: bundlerMethods,
        transport: http(BUNDLER_RPC_URL),
      },
    ],
    fallback: http(OTHER_RPC_URL),
  }),
});
```

## Parameters

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

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

      <td>
        [`SplitTransportParams`](../interfaces/SplitTransportParams)
      </td>

      <td>
        split transport configuration containing the methods overrides and fallback transport
      </td>
    </tr>

  </tbody>
</table>

## Returns

[`CustomTransport`](https://viem.sh)

a viem Transport that splits traffic