1
Read the configuration
requireTakerProof. The hosted relay sets it to true.2
Sign a taker proof
Sign the text
panofx-taker|84532|<your address>|<issuedAt> with EIP-191 (personal_sign), where
issuedAt is the current unix time in seconds. It is valid for 24 hours. See Taker proof.3
Ask for a quote
status is quoted with the terms, or no_quote with a reason. The quote is open for 20 seconds.4
Sign the typed data
quote.json carries typedData: a Permit2 PermitWitnessTransferFrom with a TakerAuth witness, ready
for eth_signTypedData_v4. With viem:erc2612. Selling cNGN needs the
one-time on-chain approval instead.5
Submit
202 with status: "submitted" and a txHash means the keeper broadcast it. 200 with
status: "requote" means the simulation failed and nothing moved; ask for a new quote.6
Follow it
status goes quoted → signed → submitted → settled, and final turns true once the indexer has
confirmed the fill.The receipt is at
https://web-production-a2664.up.railway.app/receipt/<quoteId>.
