info (settledOutcome)
curl --request POST \
--url https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/info \
--header 'Content-Type: application/json' \
--data '
{
"type": "settledOutcome",
"outcome": 0
}
'import requests
url = "https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/info"
payload = {
"type": "settledOutcome",
"outcome": 0
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({type: 'settledOutcome', outcome: 0})
};
fetch('https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/info', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/info",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'type' => 'settledOutcome',
'outcome' => 0
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/info"
payload := strings.NewReader("{\n \"type\": \"settledOutcome\",\n \"outcome\": 0\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/info")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"settledOutcome\",\n \"outcome\": 0\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/info")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"type\": \"settledOutcome\",\n \"outcome\": 0\n}"
response = http.request(request)
puts response.read_body{
"spec": {
"outcome": 123,
"name": "<string>",
"description": "<string>",
"sideSpecs": [
{
"name": "<string>",
"token": 123
}
],
"quoteToken": "<string>"
},
"settleFraction": "<string>",
"details": "<string>"
}Hyperliquid node API
settledOutcome | Hyperliquid info
The info endpoint with type: “settledOutcome” retrieves the specification and settlement details for an outcome market by its outcome identifier.
POST
/
4f8d8f4040bdacd1577bff8058438274
/
info
info (settledOutcome)
curl --request POST \
--url https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/info \
--header 'Content-Type: application/json' \
--data '
{
"type": "settledOutcome",
"outcome": 0
}
'import requests
url = "https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/info"
payload = {
"type": "settledOutcome",
"outcome": 0
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({type: 'settledOutcome', outcome: 0})
};
fetch('https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/info', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/info",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'type' => 'settledOutcome',
'outcome' => 0
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/info"
payload := strings.NewReader("{\n \"type\": \"settledOutcome\",\n \"outcome\": 0\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/info")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"settledOutcome\",\n \"outcome\": 0\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/info")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"type\": \"settledOutcome\",\n \"outcome\": 0\n}"
response = http.request(request)
puts response.read_body{
"spec": {
"outcome": 123,
"name": "<string>",
"description": "<string>",
"sideSpecs": [
{
"name": "<string>",
"token": 123
}
],
"quoteToken": "<string>"
},
"settleFraction": "<string>",
"details": "<string>"
}This method is available on Chainstack. Not all Hyperliquid methods are available on Chainstack, as the open-source node implementation does not support them yet — see Hyperliquid methods for the full availability breakdown.
info endpoint with type: "settledOutcome" retrieves the specification and settlement details for an outcome market, identified by its outcome index. Outcome markets are binary (Yes/No) prediction markets on Hyperliquid. Use this method to read an outcome’s definition and how it settled.
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
Request body
type(string, required) — The request type. Must be"settledOutcome".outcome(integer, required) — The outcome identifier.
Response
Returns a settled outcome object, ornull if the outcome is not settled.
spec(object) — The outcome specification:outcome(integer) — The outcome identifier.name(string) — The name of the outcome.description(string) — The description of the outcome.sideSpecs(array) — The side specifications, each with anameand an optionaltoken.quoteToken(string) — The quote token for this outcome.
settleFraction(string) — The settlement fraction.details(string) — The settlement details.
Example request
curl -X POST \
-H "Content-Type: application/json" \
-d '{"type": "settledOutcome", "outcome": 0}' \
https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/info
from hyperliquid.info import Info
# skip_ws=True avoids opening a WebSocket connection for this REST call
info = Info("YOUR_CHAINSTACK_ENDPOINT", skip_ws=True)
# The SDK has no dedicated settledOutcome helper, so post the request directly.
settled_outcome = info.post("/info", {"type": "settledOutcome", "outcome": 0})
print(settled_outcome)
import { HttpTransport, InfoClient } from "@nktkas/hyperliquid";
// apiUrl points the transport at a custom server (your Chainstack endpoint)
const transport = new HttpTransport({ apiUrl: "YOUR_CHAINSTACK_ENDPOINT" });
const info = new InfoClient({ transport });
const settledOutcome = await info.settledOutcome({ outcome: 0 });
console.log(settledOutcome);
Use your own endpoint in your code. The code examples use a placeholder Chainstack endpoint (YOUR_CHAINSTACK_ENDPOINT) — replace it with your own Hyperliquid node endpoint from the Chainstack console. The curl above uses a shared public endpoint for quick checks only; do not use it in production.
Example response
{
"spec": {
"outcome": 0,
"name": "Recurring",
"description": "class:priceBinary|underlying:BTC|expiry:20260503-0600|targetPrice:78213|period:1d",
"sideSpecs": [
{ "name": "Yes" },
{ "name": "No" }
],
"quoteToken": "USDH"
},
"settleFraction": "0.0",
"details": "price:78212.4"
}
Use cases
Theinfo endpoint with type: "settledOutcome" is useful for:
- Reading the definition of an outcome market (underlying, target price, expiry)
- Checking how an outcome settled and its settlement fraction
- Building prediction-market dashboards and settlement reports
Body
application/json
Last modified on June 24, 2026
Was this page helpful?