Which signing method should I use for my account type?
The signing method depends on your account type:- Role-Based Accounts: Use
signTypedData()to sign EIP-712 structured data - Kernel 3.3 Accounts (EIP-7702): Use
signMessage()to sign the UserOperation hash directly - Solana Accounts: Use wallet’s
signTransaction()method on VersionedTransaction objects
Why is my Solana transaction signing failing?
Common Solana signing issues include:- Incorrect data format: OneBalance provides base64
dataToSignthat must be converted toMessageV0 - Wrong signature encoding: Solana signatures must be base58 encoded, not hex
- Wallet not connected: Verify wallet connection before attempting to sign
How do I handle EIP-7702 delegation signing?
EIP-7702 accounts require two signing steps:- Delegation Signature: Sign authorization tuple using
signAuthorization()method - UserOperation Signature: Sign UserOperation hash using
signMessage()method
- Always check
signedTuple.yParityis not null before proceeding - Both
accountAddressandsignerAddressmust be the same EOA address - Use account type
"kernel-v3.3-ecdsa"withdeploymentType: "EIP7702"
- Role-based:
signTypedData(operation.typedDataToSign) - Kernel 3.3 (EIP-7702):
signMessage({ message: { raw: userOpHash } })
What happens if my wallet already has an EIP-7702 delegation to another contract?
OneBalance won’t override pre-existing EIP-7702 delegations. This is by design to prevent potential security issues like double-spend attacks where a prior delegation could manipulate state before our transaction executes. If your wallet already has a delegation to a different contract, OneBalance will return aDELEGATION-001 error during quote generation.
Workaround:
- Revoke the existing delegation from your wallet, then retry. OneBalance will automatically delegate to Kernel v3.3 on the next quote execution
- Alternatively, use a different EOA that doesn’t have an existing EIP-7702 delegation
This only affects wallets with pre-existing delegations to non-OneBalance contracts. New wallets or wallets without any prior EIP-7702 delegation work without issues.
Getting Help
Complete Signing Guide
Full implementation guide with code examples for all account types
EIP-7702 Guide
Step-by-step EIP-7702 integration with delegation signing
Solana Guide
Solana-specific signing patterns and troubleshooting
For additional support with signing issues:
- Intercom chat (bottom right corner) for instant help
- Email: support@onebalance.io
- Discord community for peer support and updates