wallet_getCapabilities
Returns the wallet's supported features for each chain. Use this to discover capabilities like atomic batching, gas sponsorship, and cross-chain fund sourcing. This helps your dApp adapt its UX based on what the wallet supports.
Try it
Parameters
| Position | Type | Description |
|---|---|---|
| 0 | string | The wallet address (optional, ignored) |
| 1 | string[] | Array of chain IDs to query (optional, returns all if omitted) |
Returns
type Capabilities = {
[chainId: `0x${string}`]: {
atomic: { status: 'supported' };
paymasterService: { supported: boolean };
auxiliaryFunds: { supported: boolean };
};
};Example
const capabilities = await provider.request({
method: 'wallet_getCapabilities',
params: [],
});
console.log(capabilities);
// {
// "0x1": {
// atomic: { status: "supported" },
// paymasterService: { supported: true },
// auxiliaryFunds: { supported: true }
// },
// "0x89": { ... },
// ...
// }Capabilities
| Capability | Description |
|---|---|
atomic | Batch calls are executed atomically (all-or-nothing) |
paymasterService | Gas fees are sponsored - users don't need ETH |
auxiliaryFunds | Cross-chain funds can be used for transactions |
atomic
Multiple calls sent via wallet_sendCalls execute atomically. If any call fails, all calls are reverted.
// All calls execute together or none execute
const callsId = await provider.request({
method: 'wallet_sendCalls',
params: [{
chainId: 8453,
calls: [
{ to: tokenAddress, data: approveData },
{ to: dexAddress, data: swapData },
],
}],
});paymasterService
Gas fees are sponsored. Users don't need to hold ETH to pay for transactions.
How it works:- User submits a transaction via
eth_sendTransactionorwallet_sendCalls - The 1auth intent system handles gas payment automatically
- User signs with their passkey - no ETH required
auxiliaryFunds
Funds from other supported chains can be used to fulfill transactions. The 1auth intent system automatically sources funds cross-chain when needed.
How it works:- User initiates a transaction on Chain A
- If insufficient funds on Chain A, the system checks other chains
- Funds are automatically bridged to complete the transaction
- User only signs once - cross-chain complexity is abstracted away
Notes
- Returns capabilities for all supported chains by default
- All 1auth accounts have the same capabilities
- Use this to check if features like gas sponsorship are available