Quote — and, depending on how the bond is funded, a Permit2 payload authorising the bond pull. The solver helpers are standalone functions taking a viem WalletClient directly: a solver bot signs quotes and manages allowances but never builds taker transactions, so it does not need the client.iris extension.
Bond funding modes
Iris.take pulls the bond from the solver directly, funded in one of two modes:
One-time setup
getSolverRequirements resolves the approvals the chosen funding mode needs — returned as ready-to-send transactions, skipped when already in place:
The per-quote hot path
signResponse signs the quote and — in the Permit2 mode — the bond funding payload in one call: everything an RFQ webhook response carries.
signResponse derives the Permit2 payload from the quote itself (solver, debtToken, bond), so it can never mismatch the quote it accompanies — and scopes the payload’s signature deadline to quote.deadline, so an unfilled quote’s permit becomes unsubmittable once the quote dies.
Granular control
signQuote signs a quote verbatim as the solver; signSolverPermit2 signs just the per-quote Permit2 payload. To hand-roll the payloads instead, build the typed data with getQuoteTypedData and getPermit2PermitTypedData from @iris-credit/core-sdk — the RFQ guide documents the exact field mapping either way.
Next
Running a Solver
Register an endpoint, answer a quote request, and respond within budget.
Validation
Every check your signed quote must pass, in order.

