createSessionKey
Create a session key with limited permissions for delegated transactions. Automatically fetches configuration from Zyfai API and checks for existing active sessions.
Signature
createSessionKey(userAddress: string, chainId: SupportedChainId): Promise<SessionKeyResponse>
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
userAddress | string | ✅ | User's EOA address |
chainId | SupportedChainId | ✅ | Target chain ID |
Returns
Session key response with signature and nonces
Return Type
interface SessionKeyResponse {
success: boolean;
signature?: Hex;
sessionNonces?: bigint[];
userId?: string;
message?: string;
alreadyActive?: boolean;
sessionActivation?: AddSessionKeyResponse;
}
Example
const result = await sdk.createSessionKey("0xUser...", 42161);
if (result.alreadyActive) {
console.log("Session key already exists");
} else {
console.log("Session key created:", result.signature);
}