Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
wallet_getCapabilities – 1auth
Skip to content

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

PositionTypeDescription
0stringThe wallet address (optional, ignored)
1string[]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

CapabilityDescription
atomicBatch calls are executed atomically (all-or-nothing)
paymasterServiceGas fees are sponsored - users don't need ETH
auxiliaryFundsCross-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:
  1. User submits a transaction via eth_sendTransaction or wallet_sendCalls
  2. The 1auth intent system handles gas payment automatically
  3. 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:
  1. User initiates a transaction on Chain A
  2. If insufficient funds on Chain A, the system checks other chains
  3. Funds are automatically bridged to complete the transaction
  4. 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