Inverse of split. Returns the backend co-signature needed to call vault.mergePositions(...) on-chain — burns equal units of every outcome ERC-1155 inside the vault and credits the corresponding USDC amount. The flow: (1) POST this endpoint with {marketId, amount} → server signs the MergePositions typed-data and returns the cosig + salt + deadline. (2) Sign the same struct yourself with your EOA against the vault’s EIP-712 domain. (3) Submit vault.mergePositions(kind, collateralToken, conditionId, partition, amount, salt, deadline, ownerSig, backendSig) on-chain. After it confirms, the platform debits ERC-1155 holdings and credits USDC available for the vault. Use cases: closing a hedged position before resolution, freeing locked outcome tokens back into spendable USDC, exiting a market early.
Partner / integrator key — format ps_live_<keyId>_<secret>. Issued by PredictStreet ops via the admin panel; never self-service. Never ship to a browser. multi_wallet partners must additionally send X-User-Wallet: 0x<40-hex> on every authenticated request to declare the acting wallet. See the API keys guide for scope taxonomy, partner kinds, rate limits, and rotation procedure.
Required for multi_wallet partners on every authenticated request; ignored for single_wallet. Declares the acting end-user wallet for this request — drives KYC checks, balances/positions/orders attribution, rate-limit buckets, and audit. Lower-cased server-side. Missing on a multi_wallet key → 401 api_key_user_wallet_required; malformed → 401 api_key_user_wallet_invalid. The on-chain CTFExchange/Vault contracts still verify EIP-712 signer ↔ vault binding, so loosening API-layer attribution is safe by construction.
^0x[a-fA-F0-9]{40}$"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb3"
Backend co-signature ready
Stable audit id derived from (wallet, marketId, amountWei, salt). Idempotent for retries.
0 = binary, 1 = neg-risk.
^0x[a-fA-F0-9]{40}$"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb3"
^0x[0-9a-fA-F]{64}$["1", "2"]EIP-712 verifyingContract for the MergePositions struct (the vault, not the factory).
^0x[a-fA-F0-9]{40}$"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb3"
Backend co-signature; pair with the owner's EIP-712 signature in vault.mergePositions(...).
^0x[a-fA-F0-9]+$USDC wei (6-decimal).