Split / Merge / Redeem
Common Signing Pattern
import { BuilderClient, UserClient } from '@opinion-labs/opinion-clob-sdk';
const builder = new BuilderClient({
host: 'https://openapi.opinion.trade/openapi',
builderApiKey: 'YOUR_BUILDER_KEY',
chainId: 56,
rpcUrl: 'https://bsc-dataseed.binance.org',
});
// Build any Safe TX (split, merge, redeem, or withdraw)
const txResult = await builder.buildSplitTx(safeAddress, collateral, conditionId, amount);
// User signs the EIP-712 typed data
const user = new UserClient('0xUserPrivateKey...');
const signature = await user.signTypedData(txResult.eip712Data);
// Submit to backend for relay
const result = await builder.submitSafeTx(userAddress, txResult, signature);Split Position
Parameter
Type
Required
Description
Merge Position
Parameter
Type
Required
Description
Redeem Position
Parameter
Type
Required
Description
Withdraw Tokens
Parameter
Type
Required
Description
Submit Safe Transaction
Parameter
Type
Required
Description