RIP.BET Docs

Scalar temperature markets

Scalar markets track NYC Central Park temperature.

The mark encodes Fahrenheit temperature:

mark = 500 + temperature_f

Examples:

TemperatureMark
68.0 F568.0
72.5 F572.5
80.0 F580.0

Bucket clock

Scalar markets run on 120-minute UTC buckets. Two assets alternate:

AssetRole
NYCTMP1Trades during one bucket
NYCTMP2Trades during the next bucket

Use /v1/bucket to know which asset is live. Do not calculate the active asset only on the client.

Settlement

At the bucket close, the final mark is based on TWAP-120, the time-weighted average of the last 120 seconds.

During settlement, there may be a short gap where the current or next bucket is null. Clients should show a settling state and poll again.

Read scalar market state

curl -s "{API_BASE_URL}/v1/markets"
curl -s "{API_BASE_URL}/v1/bucket"
curl -s "{API_BASE_URL}/v1/ticker?asset=NYCTMP1"
curl -s "{API_BASE_URL}/v1/book?asset=NYCTMP1"

Simple prediction flow

POST /v1/predict creates a scalar prediction package. It is meant for the simple UI path where the user chooses a target temperature, size, and direction.

Typical request shape:

{
  "asset": 0,
  "target_temp_f": 75.0,
  "sz": "10.0000",
  "direction": "long",
  "slippage_pct": 1.0
}

asset uses the scalar asset id from the API contract. 0 maps to the first scalar asset and 1 to the second.

Direct order flow

POST /v1/orders accepts signed scalar orders. Use it only if your client handles the full signing model.

The body is the signed order envelope SignedOrderRequest { order: ClientOrder, signature }:

{
  "order": {
    "asset": "NYCTMP1",
    "side": "buy",
    "size": "10.0000",
    "price": "575.00",
    "tif": "GTC",
    "nonce": 1710000000000,
    "timestamp": 1710000000000,
    "reduce_only": false
  },
  "signature": "0x..."
}

Required order fields are:

FieldNotes
assetScalar asset expected by the deployment
sidebuy or sell
sizeSize string
priceEncoded mark as a decimal string
tifGTC, IOC, or ALO
nonceMonotonically increasing client nonce
timestampMillisecond timestamp
reduce_onlyUse true for closes

Do not send agent-style Hyperliquid fields such as isBuy, limitPx, or sz to the direct signed order endpoint.

Agent order flow

Use the agent prepare/submit flow when the backend should build the canonical Hyperliquid action for the client to sign.

POST /v1/orders/prepare
POST /v1/orders/submit

Sign exactly the returned message. If the market state changes before submit, prepare again.

On this page