{
"expiration": "1797600000",
"fee_rate_bps": "0",
"maker": "0x0DECE7d83f8D47CD8dD8278c0F22c361C58577BD",
"maker_amount": "60000000",
"nonce": "0",
"salt": "5821094412",
"side": 0,
"signature": "0x4f2a…",
"signature_type": 2,
"signer": "0xE1188438C85C98aADFf1a88f97764E607B4978C3",
"taker": "0x0000000000000000000000000000000000000000",
"taker_amount": "100000000",
"token_id": "7138104..."
}SignedOrderEntity
Unix seconds. Must be non-zero, unexpired, and within 365 days.
"1797600000"
Must be "0". The taker fee is collected separately on-chain from your Safe, not through this field.
"0"
Your Safe — the address the collateral comes from. For signature type 3 this equals signer.
"0x0DECE7d83f8D47CD8dD8278c0F22c361C58577BD"
USDC in, 6-decimal base units. round(price × volume × 1e6).
"60000000"
Exchange nonce.
"0"
Random per-order value. Two orders with identical terms must not share one.
"5821094412"
Always 0 (BUY). Both YES and NO legs are buys that mint — the side you are taking is carried by token_id alone.
0 0
The EIP-712 signature. For a session-signed order this is abi.encode(keyId, r, s) — exactly 96 bytes — which is how the server tells a session key from a passkey.
"0x4f2a…"
2 POLY_GNOSIS_SAFE (your Safe, owned by your wallet) or 3 POLY_1271 (your Safe, owned by a passkey). Read it from signature_type on the wallet config rather than choosing one — an order signed the way the other type requires is rejected.
2, 3 2
Whoever signed. Your wallet EOA for types 0 and 2; the Safe itself for type 3, where a passkey or session key produced the signature.
"0xE1188438C85C98aADFf1a88f97764E607B4978C3"
The zero address — the order is public and anyone may match it.
"0x0000000000000000000000000000000000000000"
Outcome tokens out, 6-decimal. round(volume × 1e6).
"100000000"
The ERC-1155 position id for YOUR side. This is what says which market and which outcome — a signed order carries no market field.
"7138104..."