Relay an owner-signed Fusion order to the 1inch relayer.
The body carries the signature produced by
wallet.signTypedData(order.safe_message_eip712) from the /order
response, plus the order struct (signed_order), opaque extension,
and quote_id. The signature is validated via ERC-1271
(Safe.isValidSignature) at fill time — the maker on the order struct
is the Tokenized Assets Account, not the EOA owner.
Returns the order hash and a server-side timestamp. Subsequent calls to
GET /order/{order_hash} track lifecycle (pending → filled /
expired / cancelled).
Documentation Index
Fetch the complete documentation index at: https://docs.compasslabs.ai/llms.txt
Use this file to discover all available pages before exploring further.
Relay an owner-signed Fusion order to the 1inch relayer.
The shape mirrors what POST /order returned plus the wallet's
EIP-712 signature — all fields are required by the upstream relayer.
Maker is the Tokenized Assets Account (the Safe), so the signature is
validated via ERC-1271 (Safe.isValidSignature) at fill time rather
than as an EOA personal-sign.
The Fusion order struct returned by /order (order.order_message). maker is the Tokenized Assets Account, not the EOA owner — relay this dict back to the API verbatim.
EIP-712 signature produced by wallet.signTypedData(order.safe_message_eip712) from the /order response. The Tokenized Assets Account validates this via ERC-1271 (Safe.isValidSignature) at fill time, so the signature must be the owner's signature over the SafeMessage hash, not the raw Fusion order hash. For a single-owner Safe this is the standard 65-byte ECDSA (r, s, v) blob; multi-owner Safes and pre-approved-hash flows produce variable-length signatures and are also accepted — the relayer enforces its own checks downstream.
Opaque hex blob from the /order response — pass back unchanged.
order.quote_id from the /order response.
EIP-712 order hash from order.order_hash in the /order response. Optional but recommended: 1inch's relayer occasionally accepts a submit with a 2xx empty body; passing the hash through lets the API still return a usable handle for status / cancel lookups instead of failing.