quote:read, intent:createMutates state: May create quote intents; does not create a payment
recipient_requirements defines the supported instruments and
required recipient fields. Collect the final recipient only after the user
chooses one of those instruments.
Reuse an estimate_ready result while its economic inputs are unchanged and
expires_at has not passed. Pass its hops unchanged to create_payment or a
plan-bound payment. Re-estimate only after expiry, a material input change,
QUOTE_EXPIRED, or PRICE_MISMATCH, and reconfirm changed terms.
