Installing the validation
You can install the validator during account deployment: Examples on this page use@rhinestone/sdk, where rhinestone is the RhinestoneSDK instance from the custom signer quickstart.
Creating sessions
To create a session, useRhinestoneSDK.createSession:
restrictToActions:
restrictToActions, the session retains the wildcard intent-execution fallback for calls approved by the Orchestrator’s intent target allowlist. See Restrict a session for the behavior and tradeoffs.
Keep saltMode: "strict" when creating a new restricted session. The SDK 2.16.1 default, "none", uses a zero salt, so sessions with the same signer reuse a permission ID even when their actions differ. Enabling another definition under that ID adds its policies to the on-chain sets instead of replacing earlier grants. Strict mode gives different restricted definitions distinct permission IDs, but it does not invalidate any permission ID that the signer already controls. Revoke the previous broader session before relying on the signer to have narrower authority.
Permissions govern account calls, while cross-chain permits govern the separate Permit2 claim-signing surface for source-chain assets in cross-chain intents. Because those claims rely on fallback policies for spending and time bounds, the SDK does not allow restrictToActions with crossChainPermits or claimPolicies.
Finally, you can constrain function parameters. The SDK derives the selector and parameter offsets from the ABI, so you reference parameters by name:
Next steps
Use a session
Enable the session on-chain and transact with it.
Session signing
Decide what the session key may sign off-chain.