Contract address
Mainnet EIP-712 chain ID is
1776 and Cosmos chain ID is injective-1. Testnet EIP-712 chain ID is 1439 and Cosmos chain ID is injective-888.
Entrypoints
AcceptSignedIntent validates the taker intent, pairs it with maker liquidity for the same taker plus rfq_id, and then runs the same settlement machinery as AcceptQuote.
AcceptQuote
Example execute shape:
Validation model
The contract validates each submitted quote against the taker’s request. Quote-level failures are skipped where the settlement path permits; settlement succeeds only if the remaining valid quotes satisfy the taker’s fill constraints.
This means a multi-quote settlement can still fill if some quotes fail and enough valid quotes remain.
Settlement through authz
The RFQ contract settles by using pre-granted Injectiveauthz permissions.
On successful settlement, both parties’ derivative positions and margin transfers are updated atomically through the Injective exchange module. There is no partial state where only one side receives the position.
AcceptSignedIntent
Signed intents support TP/SL exits:
- Taker signs a
SignedTakerIntentwith EIP-712 v2. - Taker submits it through TakerStream with v2 conditional-order signing fields.
- Executor monitors the trigger condition.
- Executor requests standard RFQ liquidity and pairs the intent with a quote bound to the same taker plus
rfq_id. - Contract verifies the taker signature, trigger, deadline, cancellation counters, maker quote, and authz before settlement.
trigger_not_satisfied; the executor should retry according to its trigger-order policy while the intent remains valid.
Queries
List approved makers:list_makers is paginated. A first-page query can miss a registered address; page through results or use the reference client’s ContractClient.is_maker_registered() helper.

