User outcome (split / merge / negate outcome shares)
Hyperliquid node API
User outcome | Hyperliquid exchange
Split or merge outcome-market shares to convert between quote tokens and Yes/No shares on Hyperliquid. On Hyperliquid exchange.
POST
User outcome (split / merge / negate outcome shares)
You can only use this endpoint on the official Hyperliquid public API. It is not available through Chainstack, as the open-source node implementation does not support it yet. See Hyperliquid methods for the full availability breakdown.
This endpoint requires signature authentication. See our comprehensive Authentication via Signatures guide for implementation details.
userOutcome action manually splits or merges outcome-market shares to convert between quote tokens and Yes/No shares. Outcome markets are binary (Yes/No) prediction markets on Hyperliquid. A single userOutcome action carries exactly one of four operations: splitOutcome, mergeOutcome, mergeQuestion, or negateOutcome.
Get your own node endpoint todayStart for free and get your app to production levels immediately. No credit card required.You can sign up with your GitHub, X, Google, or Microsoft account.
Parameters
Required parameters
action(object, required) — The user outcome action. Settypeto"userOutcome"and include exactly one of the following operations:splitOutcome— SplitXquote tokens intoXYes andXNo shares of an outcome. Fields:outcome(number),amount(string, e.g."123.0").mergeOutcome— MergeXYes andXNo shares of an outcome intoXquote tokens. Fields:outcome(number),amount(string ornull, wherenullmeans the maximum available).mergeQuestion— MergeXYes shares from each outcome associated to the same question intoXquote tokens. Fields:question(number),amount(string ornull, wherenullmeans the maximum available).negateOutcome— ConvertXNo shares from an outcome associated with a question intoXYes shares of every other outcome associated with the question. Fields:question(number),outcome(number),amount(string).
nonce(number, required) — Current timestamp in milliseconds (must be recent).signature(object, required) — EIP-712 signature of the action.
Optional parameters
expiresAfter(number, optional) — Timestamp in milliseconds after which the request is rejected.
Returns
Returns an object with the action status:status—"ok"if the request was processed.response— Contains operation details:type—"default".
Example request
Response example
Use cases
- Provide outcome liquidity — Split quote tokens into Yes and No shares to make markets on both sides
- Redeem shares — Merge matched Yes and No shares back into quote tokens
- Manage positions across a question — Merge or negate shares across the outcomes of a single question
Body
application/json
User outcome action. Provide exactly one of splitOutcome, mergeOutcome, mergeQuestion, or negateOutcome alongside the type.
Current timestamp in milliseconds
EIP-712 signature of the action with r, s, v components
Timestamp in milliseconds after which the request is rejected (optional)
Last modified on June 24, 2026