public/decode_action
Runs a hex-encoded Action.data payload through the exchange’s own ABI decoder and returns either the decoded fields or the exact reason the bytes were rejected, naming the 32-byte word and the field that broke. Reach for this first when a request fails signature verification (14014): every other route encodes Action.data server-side, so a client whose encoder emits a bad word never sees a decode error - the hashes simply disagree. This is the only route a client’s own bytes reach the decoder. Needs no auth and executes nothing.
Body
Which action layout the bytes are meant to be.
order, rfq_maker, rfq_taker, transfer, external_transfer, withdrawal, liquidation, set_session_key, update_whitelisted_recipients, delete_subaccount, vault_deposit, vault_withdraw, vault_cancel, vault_create, vault_mint_shares, vault_burn_shares, vault_force_burn ABI-encoded action data (the Action.data bytes), 0x-prefixed hex. Same value the *_debug routes return as encoded_data.
Response
Success
Echoed back so a batch of probes stays attributable.
order, rfq_maker, rfq_taker, transfer, external_transfer, withdrawal, liquidation, set_session_key, update_whitelisted_recipients, delete_subaccount, vault_deposit, vault_withdraw, vault_cancel, vault_create, vault_mint_shares, vault_burn_shares, vault_force_burn The decoded fields. Decimal values are at the protocol's 1e12 scale — the wire carries 1e18, and the codec rejects anything that does not convert exactly.
