enableSplitting
Enable splitting for the user's account. Controls how funds are distributed across DeFi pools. Requires SIWE authentication.
Signature
enableSplitting(minSplits?: number): Promise<UpdateUserProfileResponse>
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| minSplits | number | No | Minimum number of pools to split across (default: 1) |
Splitting Modes
Smart Splitting (minSplits = 1)
When minSplits is set to 1 (default), you're eligible for smart splitting:
To maximize your returns, we automatically distribute your funds – when beneficial – across multiple DeFi pools. Your funds may not split depending on opportunities.
The system intelligently decides when splitting is advantageous based on current market conditions and opportunities.
Forced Splitting (minSplits > 1)
When minSplits is set to 2, 3, or 4, you enable forced splitting:
Force split your funds across multiple pools for improved risk diversification. Split up to 4 DeFi pools.
This guarantees your funds will always be distributed across the specified minimum number of pools.
Returns
Response indicating success and updated user details
Return Type
interface UpdateUserProfileResponse {
success: boolean;
userId: string;
smartWallet?: string;
chains?: number[];
strategy?: string;
}
Example
await sdk.connectAccount(privateKey, chainId);
// Enable smart splitting (default, minSplits = 1)
const result = await sdk.enableSplitting();
console.log("Smart splitting enabled:", result.success);
// Enable forced splitting across 3 pools minimum
const result2 = await sdk.enableSplitting(3);
console.log("Forced splitting enabled:", result2.success);
// Verify splitting is enabled
const userDetails = await sdk.getUserDetails();
console.log("Splitting:", userDetails.user.splitting); // true
console.log("Min splits:", userDetails.user.minSplits); // 3
Notes
- User must be authenticated (automatically done via
connectAccount()) - Maximum supported value for
minSplitsis 4 - Use
disableSplitting()to turn off this feature - Use
updateMinSplits()to change the number of pools without toggling splitting