Docs

modify - Modify Single Order

Modify an existing order on Hyperliquid. Update price, size, or other parameters without cancelling.

Modify a single existing order's price, size, or other parameters. This allows updating an order without cancelling and re-submitting.

Sample Data

JSON
{
  "signature": {
    "r": "0xc99c77b2297349c8ab77d7a820a31e0d43646c9c938775b81b5aed101e89885f",
    "s": "0x881c0298616ca974aad375d044e5796ed719eac0b86cf2f1348e309f623231d",
    "v": 28
  },
  "action": {
    "type": "modify",
    "oid": 291708423670,
    "order": {
      "a": 191,
      "b": true,
      "p": "0.15042",
      "s": "6583",
      "r": false,
      "t": {
        "limit": {
          "tif": "Alo"
        }
      },
      "c": "0x55560089921887924531768146559426"
    }
  },
  "nonce": 1768146528890,
  "vaultAddress": "0x0bd00a003c3a494261789a9c87ff17f6e605e715"
}

View this transaction on Hypurrscan

Field Reference

Action Fields

FieldTypeDescription
typestringAlways "modify"
oidstringOrder ID (or client order ID) to modify
orderobjectNew order parameters

Order Object Fields

FieldTypeDescription
anumberAsset index
bbooleanSide: true for buy, false for sell
pstringNew limit price
sstringNew size
rbooleanReduce-only flag
tobjectOrder type configuration
cstringClient order ID

Optional Fields

FieldTypeDescription
vaultAddressstringVault executing the modification
expiresAfternumberExpiration timestamp

Use Cases

Order Update Tracking

Monitor how traders adjust their orders:

Python
def process_modify_action(action):
    oid = action.get('oid')
    order = action.get('order', {})
    new_price = order.get('p')
    new_size = order.get('s')

    print(f"Order {oid[:10]}... modified: price={new_price}, size={new_size}")

Market Maker Analysis

Track how frequently market makers update their quotes.

Price Improvement Detection

Monitor price improvements on existing orders.