How Intents are Processed
From quote to fulfillment, with approvals, one signature, source deposits, and status updates.
Every swap, bridge, and funded contract call runs the same lifecycle. The SDK reports each step through
The SDK requests a quote. The middleware selects source balances and a provider, and returns the intent with its fees and plan.Your For each source token without enough allowance, the wallet sends an ERC-20 approval or signs a permit. See allowances.The user signs the intent once with Native-token sources are sent from the wallet as source-chain transactions.The SDK submits the signed intent and polls its status:
The SDK polls every 2 seconds (
onEvent, and the operation's promise resolves only after the intent is fulfilled.
Stages
Quote
Review
onIntent hook shows the quote. The user approves with allow(), cancels with deny(), or requests a new quote with refresh(). Without a hook, the SDK accepts the quote.Approvals
Signature
personal_sign.Native deposits
Submission and fulfillment
created, then deposited once source funds arrive, then fulfilled when the provider delivers on the destination chain.pollingIntervalMs) and waits up to 2 minutes (fillTimeoutMinutes). An intent that is not filled before its expiry becomes expired.
Warning
A timeout or rejected promise after submission does not mean the intent failed. It may still fulfill. Check
listIntents() or the Nexus Explorer before retrying.listIntents() returns the same statuses: created, deposited, fulfilled, or expired.