sendIntent(). The custom signer SDK exposes each step. REST integrations call the endpoints directly.
Transaction lifecycle
- Define the target chain, required tokens, destination calls, and source constraints.
- Prepare a route and review its inputs, outputs, fees, and expiry.
- Complete any token requirements for the account type.
- Authorize the exact prepared route.
- Submit the signed intent.
- Track the intent until it completes or fails.
Follow the flow
Reuse the chains, token addresses,amount, and calls from Send a transaction.
- Embedded wallet
- Custom signer
- REST API
Use the initialized Embedded wallets prepare the route, handle their smart-account token requirements, request passkey approval, and submit the intent. They do not expose the custom signer SDK’s ranked quotes or separate signing and submission methods.Sponsorship is required by default.
oneAuth client and authenticated accountAddress from Accounts.1
Review, authorize, and submit
closeOn: "completed" waits for completion; waitForHash: true separately requests the onchain transaction hash. Add clear signing when your application needs prepared-action review.Save any non-empty result.intentId before handling errors. STATUS_TIMEOUT, HASH_TIMEOUT, or a dialog cancellation with an intent ID can occur after submission. They are not reasons to send a replacement intent. If the submission outcome is uncertain and no ID was returned, reconcile intent history before starting another.2
Check or resume execution
Use The helper stops after 60 status requests.
getIntentStatus() when you have an intent ID. Check for a lookup error before interpreting the status:undefined means the outcome is still unknown, not failed; retain the ID for a later check. Stopping your poll does not cancel the intent.In @rhinestone/1auth@0.10.1, getIntentStatus() returns success: false for valid non-terminal statuses. It also returns a synthetic status: "failed" with STATUS_FAILED or NETWORK_ERROR when the lookup fails. An error-free failed or expired status, by contrast, is an execution outcome.Recover from errors
Local statuses such as
submitted, claimed, preconfirmed, filled, and completed are not the custom signer SDK’s uppercase statuses. Record error.details?.traceId when present; do not show raw diagnostics or simulation URLs to users.Send a transaction
Build token requests, calls, and source constraints.
Unified balance
Read spendable balances across supported chains.