StarkZap
The main SDK class for initializing and managing wallet connections.Constructor
Methods
| Method | Returns | Description |
|---|---|---|
connectWallet(options) | Promise<Wallet> | Connect with signer + account preset |
connectCartridge(options?) | Promise<CartridgeWallet> | Connect via Cartridge Controller |
onboard(options) | Promise<OnboardResult> | Onboard with strategy selection |
stakingTokens() | Promise<Token[]> | Get stakeable tokens |
getStakerPools(staker) | Promise<Pool[]> | Get validator’s delegation pools |
getProvider() | RpcProvider | Get the underlying RPC provider |
Configuration
Wallet / WalletInterface
The wallet interface provides access to account operations, transactions, and token management.Properties
| Property | Type | Description |
|---|---|---|
address | Address | Wallet address |
Methods
| Method | Returns | Description |
|---|---|---|
isDeployed() | Promise<boolean> | Check deployment status |
ensureReady(options?) | Promise<void> | Deploy if needed |
deploy(options?) | Promise<Tx> | Deploy account contract |
execute(calls, options?) | Promise<Tx> | Execute contract calls |
signMessage(typedData) | Promise<Signature> | Sign typed data |
preflight(options) | Promise<PreflightResult> | Simulate transaction |
tx() | TxBuilder | Create a transaction builder |
balanceOf(token) | Promise<Amount> | Get token balance |
transfer(token, transfers, options?) | Promise<Tx> | Transfer ERC20 tokens |
stake(pool, amount, options?) | Promise<Tx> | Smart stake (enter or add) |
enterPool(pool, amount, options?) | Promise<Tx> | Enter staking pool |
addToPool(pool, amount, options?) | Promise<Tx> | Add to existing stake |
claimPoolRewards(pool, options?) | Promise<Tx> | Claim staking rewards |
exitPoolIntent(pool, amount, options?) | Promise<Tx> | Start exit process |
exitPool(pool, options?) | Promise<Tx> | Complete exit |
isPoolMember(pool) | Promise<boolean> | Check pool membership |
getPoolPosition(pool) | Promise<PoolMember | null> | Get staking position |
getPoolCommission(pool) | Promise<number> | Get pool commission rate |
estimateFee(calls) | Promise<EstimateFeeResponse> | Estimate execution fee |
getAccount() | Account | Get starknet.js Account |
getProvider() | RpcProvider | Get RPC provider |
getChainId() | ChainId | Get chain ID |
getFeeMode() | FeeMode | Get default fee mode |
disconnect() | Promise<void> | Disconnect wallet |
Tx
Transaction object returned fromexecute(), deploy(), and transfer().
Properties
| Property | Type | Description |
|---|---|---|
hash | string | Transaction hash |
explorerUrl | string | Block explorer URL |
Methods
| Method | Returns | Description |
|---|---|---|
wait(options?) | Promise<void> | Wait for confirmation |
watch(callback) | TxUnsubscribe | Watch status changes |
receipt() | Promise<TxReceipt> | Get transaction receipt |
TxBuilder
Fluent API for building and executing batched transactions.Methods
| Method | Returns | Description |
|---|---|---|
.add(...calls) | TxBuilder | Add raw Call objects |
.approve(token, spender, amount) | TxBuilder | ERC20 approval |
.transfer(token, transfers) | TxBuilder | ERC20 transfer(s) |
.stake(pool, amount) | TxBuilder | Smart stake (enter or add based on membership) |
.enterPool(pool, amount) | TxBuilder | Enter pool as new member |
.addToPool(pool, amount) | TxBuilder | Add to existing pool position |
.claimPoolRewards(pool) | TxBuilder | Claim staking rewards |
.exitPoolIntent(pool, amount) | TxBuilder | Start exit process |
.exitPool(pool) | TxBuilder | Complete exit after window |
.calls() | Promise<Call[]> | Resolve all calls without sending |
.estimateFee() | Promise<EstimateFeeResponse> | Estimate gas cost |
.preflight() | Promise<PreflightResult> | Simulate the transaction |
.send(options?) | Promise<Tx> | Execute all calls atomically |
Amount
Type-safe amount handling for token values.Static Methods
| Method | Returns | Description |
|---|---|---|
Amount.parse(value, token) | Amount | From human-readable value |
Amount.fromRaw(value, token) | Amount | From raw blockchain value |
Instance Methods
| Method | Returns | Description |
|---|---|---|
toUnit() | string | Human-readable string |
toBase() | bigint | Raw value for contracts |
toFormatted(compressed?) | string | Locale-formatted with symbol |
getDecimals() | number | Token decimal places |
getSymbol() | string | undefined | Token symbol |
add(other) | Amount | Addition |
subtract(other) | Amount | Subtraction |
multiply(scalar) | Amount | Multiplication |
divide(scalar) | Amount | Division |
eq(other) | boolean | Equal |
gt(other) | boolean | Greater than |
gte(other) | boolean | Greater than or equal |
lt(other) | boolean | Less than |
lte(other) | boolean | Less than or equal |
isZero() | boolean | Is zero |
isPositive() | boolean | Is positive |