Skip to content

Classes

PaymasterClient

Defined in: V4/PaymasterClient.ts:8

PaymasterClient Focus: Integration, Funding, Interaction.

Constructors

Constructor
ts
new PaymasterClient(): PaymasterClient;
Returns

PaymasterClient

Methods

approveGasToken()
ts
static approveGasToken(
   wallet, 
   token, 
   spender, 
amount): Promise<any>;

Defined in: V4/PaymasterClient.ts:47

Approve the Paymaster (or any spender) to spend gas tokens.

Parameters
ParameterType
walletany
token`0x${string}`
spender`0x${string}`
amountbigint
Returns

Promise<any>

depositFor()
ts
static depositFor(
   wallet, 
   address, 
   user, 
   token, 
amount): Promise<any>;

Defined in: V4/PaymasterClient.ts:34

Deposit tokens to Paymaster for a user (enables gasless transactions).

Parameters
ParameterType
walletany
address`0x${string}`
user`0x${string}`
token`0x${string}`
amountbigint
Returns

Promise<any>

encodeExecution()
ts
static encodeExecution(
   target, 
   value, 
   data): `0x${string}`;

Defined in: V4/PaymasterClient.ts:378

Helper: Encode a SimpleAccount execution. Wraps the inner call into: execute(target, value, data) This is the payload signed by the user.

Parameters
ParameterType
target`0x${string}`
valuebigint
data`0x${string}`
Returns

`0x${string}`

encodeTokenTransfer()
ts
static encodeTokenTransfer(recipient, amount): `0x${string}`;

Defined in: V4/PaymasterClient.ts:365

Helper: Encode a standardized ERC-20 Transfer. Returns the raw function data: transfer(to, amount)

Parameters
ParameterType
recipient`0x${string}`
amountbigint
Returns

`0x${string}`

estimateUserOperationGas()
ts
static estimateUserOperationGas(
   client, 
   wallet, 
   aaAddress, 
   entryPoint, 
   paymasterAddress, 
   token, 
   bundlerUrl, 
   callData, 
   options?): Promise<{
  callGasLimit: bigint;
  paymasterPostOpGasLimit: bigint;
  paymasterVerificationGasLimit: bigint | undefined;
  preVerificationGas: bigint;
  verificationGasLimit: bigint;
}>;

Defined in: V4/PaymasterClient.ts:60

Estimate Gas for a UserOperation.

Parameters
ParameterType
clientany
walletany
aaAddress`0x${string}`
entryPoint`0x${string}`
paymasterAddress`0x${string}`
token`0x${string}`
bundlerUrlstring
callData`0x${string}`
options?{ factory?: `0x${string}`; factoryData?: `0x${string}`; operator?: `0x${string}`; validityWindow?: number; }
options.factory?`0x${string}`
options.factoryData?`0x${string}`
options.operator?`0x${string}`
options.validityWindow?number
Returns

Promise<{ callGasLimit: bigint; paymasterPostOpGasLimit: bigint; paymasterVerificationGasLimit: bigint | undefined; preVerificationGas: bigint; verificationGasLimit: bigint; }>

getDepositedBalance()
ts
static getDepositedBalance(
   publicClient, 
   address, 
   user, 
token): Promise<bigint>;

Defined in: V4/PaymasterClient.ts:13

Get user's deposited balance on the Paymaster.

Parameters
ParameterType
publicClientany
address`0x${string}`
user`0x${string}`
token`0x${string}`
Returns

Promise<bigint>

getFeeFromReceipt()
ts
static getFeeFromReceipt(receipt, paymasterAddress): 
  | {
  actualGasCostWei: bigint;
  tokenCost: bigint;
}
  | null;

Defined in: V4/PaymasterClient.ts:325

Helper to extract the actual Gas Token fee from a UserOperation receipt. Looks for the 'PostOpProcessed' event emitted by the Paymaster.

Parameters
ParameterType
receiptany
paymasterAddress`0x${string}`
Returns

| { actualGasCostWei: bigint; tokenCost: bigint; } | null

getTransactionFee()
ts
static getTransactionFee(
   publicClient, 
   txHash, 
   paymasterAddress): Promise<
  | {
  actualGasCostWei: bigint;
  tokenCost: bigint;
}
| null>;

Defined in: V4/PaymasterClient.ts:352

Get the fee for a specific transaction hash. Fetches the receipt (no scanning required) and decodes the log.

Parameters
ParameterType
publicClientany
txHash`0x${string}`
paymasterAddress`0x${string}`
Returns

Promise< | { actualGasCostWei: bigint; tokenCost: bigint; } | null>

submitGaslessUserOperation()
ts
static submitGaslessUserOperation(
   client, 
   wallet, 
   aaAddress, 
   entryPoint, 
   paymasterAddress, 
   token, 
   bundlerUrl, 
   callData, 
options?): Promise<`0x${string}`>;

Defined in: V4/PaymasterClient.ts:165

High-level API to submit a gasless UserOperation. Automatically handles nonce fetching, gas estimation (if not provided), signing, and submission.

Parameters
ParameterType
clientany
walletany
aaAddress`0x${string}`
entryPoint`0x${string}`
paymasterAddress`0x${string}`
token`0x${string}`
bundlerUrlstring
callData`0x${string}`
options?{ autoEstimate?: boolean; callGasLimit?: bigint; factory?: `0x${string}`; factoryData?: `0x${string}`; maxFeePerGas?: bigint; maxPriorityFeePerGas?: bigint; operator?: `0x${string}`; paymasterPostOpGasLimit?: bigint; paymasterVerificationGasLimit?: bigint; preVerificationGas?: bigint; validityWindow?: number; verificationGasLimit?: bigint; }
options.autoEstimate?boolean
options.callGasLimit?bigint
options.factory?`0x${string}`
options.factoryData?`0x${string}`
options.maxFeePerGas?bigint
options.maxPriorityFeePerGas?bigint
options.operator?`0x${string}`
options.paymasterPostOpGasLimit?bigint
options.paymasterVerificationGasLimit?bigint
options.preVerificationGas?bigint
options.validityWindow?number
options.verificationGasLimit?bigint
Returns

Promise<`0x${string}`>


PaymasterOperator

Defined in: V4/PaymasterOperator.ts:8

PaymasterOperator Focus: Deployment, Configuration, Maintenance, Keeper Bots.

Constructors

Constructor
ts
new PaymasterOperator(): PaymasterOperator;
Returns

PaymasterOperator

Methods

addDeposit()
ts
static addDeposit(
   wallet, 
   address, 
amount): Promise<any>;

Defined in: V4/PaymasterOperator.ts:107

Parameters
ParameterType
walletany
address`0x${string}`
amountbigint
Returns

Promise<any>

addGasToken()
ts
static addGasToken(
   wallet, 
   address, 
token): Promise<any>;

Defined in: V4/PaymasterOperator.ts:117

Parameters
ParameterType
walletany
address`0x${string}`
token`0x${string}`
Returns

Promise<any>

addStake()
ts
static addStake(
   wallet, 
   address, 
   amount, 
unstakeDelaySec): Promise<any>;

Defined in: V4/PaymasterOperator.ts:96

Parameters
ParameterType
walletany
address`0x${string}`
amountbigint
unstakeDelaySecnumber
Returns

Promise<any>

checkGaslessReadiness()
ts
static checkGaslessReadiness(
   publicClient, 
   entryPoint, 
   paymasterAddress, 
   user, 
token): Promise<GaslessReadinessReport>;

Defined in: V4/PaymasterOperator.ts:169

Parameters
ParameterType
publicClientany
entryPoint`0x${string}`
paymasterAddress`0x${string}`
user`0x${string}`
token`0x${string}`
Returns

Promise<GaslessReadinessReport>

ensurePriceInitialized()
ts
static ensurePriceInitialized(
   wallet, 
   publicClient, 
address): Promise<boolean>;

Defined in: V4/PaymasterOperator.ts:87

Parameters
ParameterType
walletany
publicClientany
address`0x${string}`
Returns

Promise<boolean>

getCachedPrice()
ts
static getCachedPrice(publicClient, address): Promise<{
  price: bigint;
  updatedAt: bigint;
}>;

Defined in: V4/PaymasterOperator.ts:36

Parameters
ParameterType
publicClientany
address`0x${string}`
Returns

Promise<{ price: bigint; updatedAt: bigint; }>

getDepositedBalance()
ts
static getDepositedBalance(
   publicClient, 
   address, 
   user, 
token): Promise<bigint>;

Defined in: V4/PaymasterOperator.ts:69

Parameters
ParameterType
publicClientany
address`0x${string}`
user`0x${string}`
token`0x${string}`
Returns

Promise<bigint>

getTokenPrice()
ts
static getTokenPrice(
   publicClient, 
   address, 
token): Promise<bigint>;

Defined in: V4/PaymasterOperator.ts:54

Parameters
ParameterType
publicClientany
address`0x${string}`
token`0x${string}`
Returns

Promise<bigint>

prepareGaslessEnvironment()
ts
static prepareGaslessEnvironment(
   operatorWallet, 
   publicClient, 
   entryPoint, 
   paymasterAddress, 
   token, 
options): Promise<object[]>;

Defined in: V4/PaymasterOperator.ts:229

Parameters
ParameterType
operatorWalletany
publicClientany
entryPoint`0x${string}`
paymasterAddress`0x${string}`
token`0x${string}`
options{ minDeposit?: bigint; minStake?: bigint; tokenPriceUSD?: bigint; }
options.minDeposit?bigint
options.minStake?bigint
options.tokenPriceUSD?bigint
Returns

Promise<object[]>

removeGasToken()
ts
static removeGasToken(
   wallet, 
   address, 
token): Promise<any>;

Defined in: V4/PaymasterOperator.ts:127

Parameters
ParameterType
walletany
address`0x${string}`
token`0x${string}`
Returns

Promise<any>

setMaxGasCostCap()
ts
static setMaxGasCostCap(
   wallet, 
   address, 
cap): Promise<any>;

Defined in: V4/PaymasterOperator.ts:147

Parameters
ParameterType
walletany
address`0x${string}`
capbigint
Returns

Promise<any>

setServiceFeeRate()
ts
static setServiceFeeRate(
   wallet, 
   address, 
rate): Promise<any>;

Defined in: V4/PaymasterOperator.ts:137

Parameters
ParameterType
walletany
address`0x${string}`
ratebigint
Returns

Promise<any>

setTokenPrice()
ts
static setTokenPrice(
   wallet, 
   address, 
   token, 
priceUSD): Promise<any>;

Defined in: V4/PaymasterOperator.ts:26

Set the token price (in 8 decimals, e.g., 1e8 = $1 USD).

Parameters
ParameterType
walletany
address`0x${string}`
token`0x${string}`
priceUSDbigint
Returns

Promise<any>

updatePrice()
ts
static updatePrice(wallet, address): Promise<any>;

Defined in: V4/PaymasterOperator.ts:14

Update the cached ETH/USD price from Chainlink Oracle. Must be called if cachedPrice is 0 (uninitialized).

Parameters
ParameterType
walletany
address`0x${string}`
Returns

Promise<any>

withdrawPNT()
ts
static withdrawPNT(
   wallet, 
   address, 
   to, 
   token, 
amount): Promise<any>;

Defined in: V4/PaymasterOperator.ts:157

Parameters
ParameterType
walletany
address`0x${string}`
to`0x${string}`
token`0x${string}`
amountbigint
Returns

Promise<any>


SuperPaymasterAdminClient

Defined in: SuperPaymaster/index.ts:95

Admin Client for SuperPaymaster V3

Constructors

Constructor
ts
new SuperPaymasterAdminClient(client, paymasterAddress): SuperPaymasterAdminClient;

Defined in: SuperPaymaster/index.ts:99

Parameters
ParameterType
clientany
paymasterAddress`0x${string}`
Returns

SuperPaymasterAdminClient

Methods

getOperator()
ts
getOperator(operator): Promise<any>;

Defined in: SuperPaymaster/index.ts:104

Parameters
ParameterType
operator`0x${string}`
Returns

Promise<any>

configureOperator()
ts
static configureOperator(
   wallet, 
   paymaster, 
   token, 
   treasury, 
exchangeRate): Promise<any>;

Defined in: SuperPaymaster/index.ts:113

Parameters
ParameterType
walletany
paymaster`0x${string}`
token`0x${string}`
treasury`0x${string}`
exchangeRatebigint
Returns

Promise<any>

setAPNTsToken()
ts
static setAPNTsToken(
   wallet, 
   paymaster, 
token): Promise<any>;

Defined in: SuperPaymaster/index.ts:149

Parameters
ParameterType
walletany
paymaster`0x${string}`
token`0x${string}`
Returns

Promise<any>

setOperatorPaused()
ts
static setOperatorPaused(
   wallet, 
   paymaster, 
   operator, 
paused): Promise<any>;

Defined in: SuperPaymaster/index.ts:129

Parameters
ParameterType
walletany
paymaster`0x${string}`
operator`0x${string}`
pausedboolean
Returns

Promise<any>

setXPNTsFactory()
ts
static setXPNTsFactory(
   wallet, 
   paymaster, 
factory): Promise<any>;

Defined in: SuperPaymaster/index.ts:159

Parameters
ParameterType
walletany
paymaster`0x${string}`
factory`0x${string}`
Returns

Promise<any>

updateReputation()
ts
static updateReputation(
   wallet, 
   paymaster, 
   operator, 
score): Promise<any>;

Defined in: SuperPaymaster/index.ts:139

Parameters
ParameterType
walletany
paymaster`0x${string}`
operator`0x${string}`
scorebigint
Returns

Promise<any>


SuperPaymasterClient

Defined in: V4/SuperPaymasterClient.ts:20

SuperPaymasterClient High-level API for SuperPaymaster operations, including dynamic gas estimation.

Constructors

Constructor
ts
new SuperPaymasterClient(): SuperPaymasterClient;
Returns

SuperPaymasterClient

Methods

submitGaslessTransaction()
ts
static submitGaslessTransaction(
   client, 
   wallet, 
   aaAddress, 
   entryPoint, 
   bundlerUrl, 
config): Promise<`0x${string}`>;

Defined in: V4/SuperPaymasterClient.ts:26

Submit a gasless transaction using SuperPaymaster. Automatically handles gas estimation with a smart efficiency buffer.

Parameters
ParameterType
clientany
walletany
aaAddress`0x${string}`
entryPoint`0x${string}`
bundlerUrlstring
configGaslessTransactionConfig
Returns

Promise<`0x${string}`>

Type Aliases

GaslessReadinessReport

ts
type GaslessReadinessReport = object;

Defined in: V4/PaymasterUtils.ts:11

Properties

details
ts
details: object;

Defined in: V4/PaymasterUtils.ts:14

ethUsdPrice
ts
ethUsdPrice: bigint;
paymasterDeposit
ts
paymasterDeposit: bigint;
paymasterStake
ts
paymasterStake: bigint;
tokenPrice
ts
tokenPrice: bigint;
tokenSupported
ts
tokenSupported: boolean;
userPaymasterDeposit
ts
userPaymasterDeposit: bigint;
userTokenBalance
ts
userTokenBalance: bigint;
isReady
ts
isReady: boolean;

Defined in: V4/PaymasterUtils.ts:12

issues
ts
issues: string[];

Defined in: V4/PaymasterUtils.ts:13


GaslessTransactionConfig

ts
type GaslessTransactionConfig = object;

Defined in: V4/SuperPaymasterClient.ts:6

Properties

amount
ts
amount: bigint;

Defined in: V4/SuperPaymasterClient.ts:9

factory?
ts
optional factory: Address;

Defined in: V4/SuperPaymasterClient.ts:12

factoryData?
ts
optional factoryData: Hex;

Defined in: V4/SuperPaymasterClient.ts:13

operator
ts
operator: Address;

Defined in: V4/SuperPaymasterClient.ts:10

paymasterAddress
ts
paymasterAddress: Address;

Defined in: V4/SuperPaymasterClient.ts:11

recipient
ts
recipient: Address;

Defined in: V4/SuperPaymasterClient.ts:8

token
ts
token: Address;

Defined in: V4/SuperPaymasterClient.ts:7


PaymasterConfig

ts
type PaymasterConfig = object;

Defined in: SuperPaymaster/index.ts:4

Properties

maxRate?
ts
optional maxRate: bigint;

Defined in: SuperPaymaster/index.ts:7

operator
ts
operator: Address;

Defined in: SuperPaymaster/index.ts:6

paymasterAddress
ts
paymasterAddress: Address;

Defined in: SuperPaymaster/index.ts:5

postOpGasLimit?
ts
optional postOpGasLimit: bigint;

Defined in: SuperPaymaster/index.ts:9

verificationGasLimit?
ts
optional verificationGasLimit: bigint;

Defined in: SuperPaymaster/index.ts:8


PaymasterV4MiddlewareConfig

ts
type PaymasterV4MiddlewareConfig = object;

Defined in: V4/PaymasterUtils.ts:4

Properties

gasToken
ts
gasToken: Address;

Defined in: V4/PaymasterUtils.ts:6

paymasterAddress
ts
paymasterAddress: Address;

Defined in: V4/PaymasterUtils.ts:5

postOpGasLimit?
ts
optional postOpGasLimit: bigint;

Defined in: V4/PaymasterUtils.ts:8

verificationGasLimit?
ts
optional verificationGasLimit: bigint;

Defined in: V4/PaymasterUtils.ts:7

Functions

buildPaymasterData()

ts
function buildPaymasterData(
   paymasterAddress, 
   token, 
   options?): `0x${string}`;

Defined in: V4/PaymasterUtils.ts:59

Build paymasterAndData for gasless UserOperation. Layout: [Paymaster(20)] [VerificationGasLimit(16)] [PostOpGasLimit(16)] [Token(20)] [ValidUntil(6)] [ValidAfter(6)]

Parameters

ParameterType
paymasterAddress`0x${string}`
token`0x${string}`
options?{ postOpGasLimit?: bigint; validityWindow?: number; verificationGasLimit?: bigint; }
options.postOpGasLimit?bigint
options.validityWindow?number
options.verificationGasLimit?bigint

Returns

`0x${string}`


buildSuperPaymasterData()

ts
function buildSuperPaymasterData(
   paymasterAddress, 
   operator, 
   options?): `0x${string}`;

Defined in: V4/PaymasterUtils.ts:95

Build paymasterAndData for SuperPaymaster V3. Layout: [Paymaster(20)] [verGas(16)] [postGas(16)] [operator(20)] [maxRate(32)]

Parameters

ParameterType
paymasterAddress`0x${string}`
operator`0x${string}`
options?{ postOpGasLimit?: bigint; verificationGasLimit?: bigint; }
options.postOpGasLimit?bigint
options.verificationGasLimit?bigint

Returns

`0x${string}`


checkEligibility()

ts
function checkEligibility(
   client, 
   paymaster, 
   user, 
   operator): Promise<{
  credit?: bigint;
  eligible: boolean;
  token?: `0x${string}`;
}>;

Defined in: SuperPaymaster/index.ts:49

Enhanced eligibility check for SuperPaymaster V3. Validates that user has sufficient credit with the given operator.

Parameters

ParameterType
clientany
paymaster`0x${string}`
user`0x${string}`
operator`0x${string}`

Returns

Promise<{ credit?: bigint; eligible: boolean; token?: `0x${string}`; }>


formatUserOpV07()

ts
function formatUserOpV07(userOp): any;

Defined in: V4/PaymasterUtils.ts:123

Helper to format UserOp for Alchemy/Standard Bundlers (v0.7 Decomposed)

Parameters

ParameterType
userOpany

Returns

any


getPaymasterV4Middleware()

ts
function getPaymasterV4Middleware(config): object;

Defined in: V4/PaymasterUtils.ts:32

Constructs the middleware for Paymaster V4. Returns the paymasterAndData hex string.

Parameters

ParameterType
configPaymasterV4MiddlewareConfig

Returns

object

NameTypeDefined in
sponsorUserOperation()(args) => Promise<{ paymasterAndData: `0x${string}`; preVerificationGas: any; verificationGasLimit: bigint; }>V4/PaymasterUtils.ts:34

getSuperPaymasterMiddleware()

ts
function getSuperPaymasterMiddleware(config): object;

Defined in: SuperPaymaster/index.ts:19

Constructs the middleware for SuperPaymaster. Returns the paymasterAndData hex string.

Parameters

ParameterType
configPaymasterConfig

Returns

object

NameTypeDefined in
sponsorUserOperation()(args) => Promise<{ paymasterAndData: `0x${string}`; preVerificationGas: any; verificationGasLimit: bigint; }>SuperPaymaster/index.ts:21

getUserOpHashV07()

ts
function getUserOpHashV07(
   userOp, 
   entryPoint, 
   chainId): `0x${string}`;

Defined in: V4/PaymasterUtils.ts:167

Parameters

ParameterType
userOpany
entryPoint`0x${string}`
chainIdbigint

Returns

`0x${string}`

Released under the MIT License. | Last Updated: 2026-01-15 09:16