Skip to main content

modify

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

Sample Data#

{
"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:

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.