Returns the wallet’s capabilities for a given account. Capabilities indicate what additional functionality the wallet supports beyond standard RPC methods, such as atomic batch transactions, gasless transactions, auxiliary funds, and authentication features.
Parameters
string
required
The account address to check capabilities for.
Pattern:
^0x[0-9a-fA-F]{40}$Returns
object
An object where each key is a chain ID (as a hexadecimal string) and each value is an object containing the capabilities supported on that chain.
Example Usage
Capability Detection Patterns
Check Single Capability
Check Multiple Capabilities
Conditional Transaction Building
Error Handling
Not all wallets support all capabilities. Use capability detection to provide progressive enhancement rather than blocking functionality when capabilities aren’t available.
Integration with Other Methods
With wallet_sendCalls
Use capabilities to enhance transaction execution:With wallet_connect
Capabilities detection doesn’t affect wallet_connect, but you can use the results to inform your authentication flow:Best Practices
- Always Check First: Call
wallet_getCapabilitiesbefore using advanced features - Cache Results: Capabilities typically don’t change frequently, consider caching
- Graceful Fallbacks: Implement fallback behavior when capabilities aren’t supported
- Chain-Specific: Check capabilities for each chain your app supports
- Progressive Enhancement: Use capabilities to enhance UX, not gate basic functionality
Related Documentation
- Capabilities Overview - Complete guide to using capabilities
- wallet_sendCalls - Execute transactions with capabilities
- wallet_connect - Connect with authentication capabilities