Skip to content
DOCS
GIWA Sepolia
Docs/SDK EXAMPLES/Code examples
SDK EXAMPLES

Code examples

Explore 188 SDK examples and their supporting files. Copy code or Markdown, then follow the guide for your integration.

On this page
AI documentation index ↗

188 / 188 examples

quickstart:verifyquickstart

Standalone read-only trust-root check. Copy this file into a project, install @ammora-protocol/sdk, viem and dotenv, then run: AMMORA_CHAIN_ID=91342 npx tsx verify-deployment.ts

Markdown ↗
quickstart:aggregationquickstart

Standalone read-only Aggregation Router readiness check. The official catalog is the activation boundary. A testnet canary address is not permission to patch an application catalog or request a wallet signature. Copy this file into a project, install @ammora-protocol/sdk, viem and dotenv, then run: AMMORA_CHAIN_ID=91342 npx tsx check-aggregation.ts

Markdown ↗
quickstart:configsquickstart

Standalone read-only V4 Config listing at one explicit block. AMMORA_CHAIN_ID=91342 npx tsx list-configs.ts 10

Markdown ↗
quickstart:create-launchquickstart

Standalone V4 launch creation from an existing immutable Config. AMMORA_CHAIN_ID=91342 AMMORA_PRIVATE_KEY=0x... AMMORA_SEND=1 \ npx tsx create-launch.ts 1 "My Token" MTK ipfs://example/metadata.json

Markdown ↗
quickstart:swapquickstart

Standalone reviewed exact-input swap. AMMORA_CHAIN_ID=91342 AMMORA_PRIVATE_KEY=0x... AMMORA_SEND=1 \ npx tsx safe-swap.ts <almm|concentrated|compounding|dbc> <pool> <tokenIn> <amountIn> [native]

Markdown ↗
almm:active-binalmm

Read a bin pool's active bin, the one trading happens in. No key required. npm run almm:active-bin -- <poolAddress> The reference repository splits this across `active-id` and `get-active-bin`; the id and the bin's contents are one read here, so this covers both.

Markdown ↗
almm:quote-swapalmm

Check the source for arguments and transaction requirements.

Markdown ↗
almm:swapalmm

Check the source for arguments and transaction requirements.

Markdown ↗
almm:create-poolalmm

Create a bin pool for a token pair. npm run almm:create-pool -- <baseToken> <quoteToken> <binStepBps> [activeId] The preflight runs first and refuses anything the factory would reject, such as an unsupported token, a bin step outside policy, a pair that already has a pool at this step. Read its complaints instead of guessing at a revert.

Markdown ↗
almm:get-positionsalmm

List the bin-pool positions a wallet holds. Reads only, so no key is required. npm run almm:get-positions -- <ownerAddress> ── How listing works on EVM ─────────────────────────────────────────────────── There is no equivalent of Solana's "scan every account owned by this program". Positions are ERC-721 tokens and the manager does not implement the enumerable extension, so you cannot ask it which tokens an address holds. What you can do is read the standard ERC-721 `Transfer(from, to, tokenId)` event, filtered on `to`, which is indexed so the node does the work. Every way a position can arrive is a Transfer: minting is a transfer from the zero address, and so is receiving one from someone else. Filtering the manager's own `PositionCreated` event instead would miss positions that arrived by transfer, including ones created through the factory's locked-creation route, where the factory mints to itself, seals the position and only then hands it over. Two consequences any production listing has to handle: 1. A Transfer *in* does not mean the wallet still holds it. Ownership is re-read from the chain before anything is reported. 2. Log queries are bounded by the RPC. Public endpoints cap the block span per request, so this walks the range in chunks from the deployment's own start block instead of asking for all of history at once. ───────────────────────────────────────────────────────────────────────────────

Markdown ↗
almm:zap-inalmm

Check the source for arguments and transaction requirements.

Markdown ↗
almm:zap-outalmm

Check the source for arguments and transaction requirements.

Markdown ↗
almm:create-limit-orderalmm

Check the source for arguments and transaction requirements.

Markdown ↗
almm:close-limit-orderalmm

Check the source for arguments and transaction requirements.

Markdown ↗
almm:create-rewardalmm

Check the source for arguments and transaction requirements.

Markdown ↗
almm:claim-rewardalmm

Collect what a position has earned from a pool's reward campaign. npm run almm:claim-reward -- <tokenId> [slot] The other side of `almm:create-reward`. Rewards accrue to a position for as long as it holds liquidity while a campaign runs, and this collects them without touching the liquidity itself. The position stays exactly as it was and keeps earning. ── Read before sending ─────────────────────────────────────────────────────── `previewPositionReward` reports what the position would be paid right now. It is worth asking, because a position that joined after a campaign ended, or that has already claimed, has earned nothing, and claiming nothing still costs gas. A pool can run two campaigns at once, in slots 0 and 1, paying different tokens. They accrue independently and are claimed independently, so a position in a pool running both has two claims to make. ───────────────────────────────────────────────────────────────────────────────

Markdown ↗
almm:create-position:balancedalmm

Open a bin-pool position with both sides funded evenly across a range. npm run almm:create-position:balanced -- <pool> <baseAmount> <quoteAmount> [width] `width` is how many bins either side of the active one to cover; it defaults to 2.

Markdown ↗
almm:create-position:imbalancedalmm

Open a position with the two sides funded in whatever ratio you pass. npm run almm:create-position:imbalanced -- <pool> <baseAmount> <quoteAmount> [width] Same call as the balanced example, and the difference is only the amounts. Depositing away from the pool's current ratio costs a composition fee on the active bin, which the quote printed below already accounts for.

Markdown ↗
almm:create-position:one-sidedalmm

Open a position funded from one side only. npm run almm:create-position:one-sided -- <pool> <baseAmount> <quoteAmount> [width] Pass 0 for the side you are not funding. A one-sided position sits entirely above or below the active bin and fills as price moves into it, the same shape a resting order takes.

Markdown ↗
arl:claim-position-feearl

Claim the fees a concentrated (ARL) position has earned. npm run arl:claim-position-fee -- <poolAddress> <tokenId> [recipient] The token id is the one `arl:get-user-positions` prints, which is the position manager's NFT. The optional recipient receives only fees; NFT ownership, locked principal and future fee rights remain with the owner. Omitting it pays the owner, including when an authorized fee delegate is the connected caller. ── Two things called "position 1" ──────────────────────────────────────────── A concentrated pool keeps its own positions, numbered per pool, and the position manager wraps them as ERC-721 tokens numbered per manager. Both accept a `tokenId` and both answer `ownerOf`, so passing an id from one to the other does not fail loudly. It reports a different position, or refuses because that id belongs to someone else entirely. Every example here works in the manager's numbering, because that is what a wallet actually holds and what the listing script can enumerate. The managed calls also check the caller's permission on the token, so a delegate can claim where the owner allowed it. ───────────────────────────────────────────────────────────────────────────────

Markdown ↗
arl:fee-delegatearl

Fee-only managed NFT delegation. Only the NFT owner may grant or revoke it. npm run arl:fee-delegate -- <pool> <managerNftId> <delegate> <claim-fee|claim-fee-to-owner> npm run arl:fee-delegate -- <pool> <managerNftId> revoke

Markdown ↗
arl:swap-nativearl

Check the source for arguments and transaction requirements.

Markdown ↗
arl:swap-with-permitarl

Check the source for arguments and transaction requirements.

Markdown ↗
swap:safearl

Executes the preferred wallet-facing exact-input flow: reviewed pool, revision-correct quote, exact approval, receipt-block simulation, swap, and receipt-block output reconciliation. npm run swap:safe -- <almm|concentrated|compounding|dbc> <pool> <tokenIn> <amountIn> [native]

Markdown ↗
arl:plan-seedarl

Check the source for arguments and transaction requirements.

Markdown ↗
arl:create-poolarl

Check the source for arguments and transaction requirements.

Markdown ↗
arl:create-compounding-poolarl

Check the source for arguments and transaction requirements.

Markdown ↗
arl:get-user-positionsarl

List the concentrated (ARL) positions a wallet holds, and what each is owed. Reads only, so no key is required. npm run arl:get-user-positions -- <ownerAddress> ── How listing works on EVM ─────────────────────────────────────────────────── There is no equivalent of Solana's "scan every account owned by this program". Positions are ERC-721 tokens and the manager does not implement the enumerable extension, so you cannot ask it which tokens an address holds. What you can do is read the standard ERC-721 `Transfer(from, to, tokenId)` event, filtered on `to`, which is indexed so the node does the work. Every way a position can arrive is a Transfer: minting is a transfer from the zero address, and so is receiving one from someone else. Filtering the manager's own `PositionCreated` event instead would miss positions that arrived by transfer, including ones created through the factory's locked-creation route, where the factory mints to itself, seals the position and only then hands it over. Two consequences any production listing has to handle: 1. A Transfer *in* does not mean the wallet still holds it. Ownership is re-read from the chain before anything is reported. 2. Log queries are bounded by the RPC. Public endpoints cap the block span per request, so this walks the range in chunks from the deployment's own start block instead of asking for all of history at once. ───────────────────────────────────────────────────────────────────────────────

Markdown ↗
arl:lock-positionarl

Permanently lock liquidity in a concentrated position. npm run arl:lock-position -- <pool> <tokenId> [liquidity] Locking is one-way. Without a liquidity argument this locks everything still unlocked, which is what a creator proving their liquidity is committed usually wants. If you are creating the pool as well, the factory's createProductionPoolLocked seals the first position in the creating call, so there is no window where it is unlocked at all.

Markdown ↗
arl:add-liquidity-and-lockarl

Check the source for arguments and transaction requirements.

Markdown ↗
arl:split-positionarl

Split a concentrated position, sending a share of it to another address. npm run arl:split-position -- <pool> <tokenId> <recipient> <percent> Each part of a position splits separately: unlocked liquidity, permanently locked liquidity, owed fees, rewards, vesting. This example moves the same percentage of every part, which is the common case; pass different numerators to the SDK for anything else.

Markdown ↗
almm:add-liquidityalmm

Check the source for arguments and transaction requirements.

Markdown ↗
almm:seed-liquidityalmm

Check the source for arguments and transaction requirements.

Markdown ↗
almm:create-extended-positionsalmm

Check the source for arguments and transaction requirements.

Markdown ↗
launch:get-configlaunch

Read a launch config, or list what is registered. No key required. npm run launch:get-config # list the first page npm run launch:get-config -- <configId> # one config in detail A config is the shape of a launch: the curve, the fee schedule, what happens at graduation. Launches reference one by id rather than restating it, so reading the config tells you what a launch built on it will do.

Markdown ↗
launch:create-configlaunch

Create a permissionless launch config by starting from one that already works. npm run launch:create-config -- <templateConfigId> <saleSupply> <quoteThreshold> A config has around fifty fields covering the fee schedule, rate limiter, dynamic fee, graduation mode, post-migration pool shape, vesting. Writing them all out from scratch is how a launch ends up with a graduation that can never reconcile, so this reads an existing config, changes the two things a new launch usually differs in, and creates a new one. Read the template first with `launch:get-config <id>` and make sure it is the shape you want. No governance approval or registrar role is required. The caller becomes the immutable Config owner, while `partnerRecipient` remains the fee claimer encoded in the Config.

Markdown ↗
launch:quick-createlaunch

Create an immutable Config and launch a token in one transaction. npm run launch:quick-create -- <templateId> <saleSupply> <quoteThreshold> <name> <symbol> <metadataURI> This is the public Quick Create path. It is permissionless, but it is not a reduced-security encoder: the connected client verifies the shared factory, registry, one-shot forwarder and optional callback before returning a plan. The receipt remains canonical if another Config is created between planning and inclusion, so the example resolves both the final Config identity and the launched token addresses from that receipt.

Markdown ↗
launch:create-launchlaunch

Launch a token on a registered config. npm run launch:create-launch -- <configId> <name> <symbol> <metadataURI> [decimals] The config decides the curve, the fees and what happens at graduation; this only names the token. Read the config first with `launch:get-config`, because once a launch is created it follows that config for its whole life.

Markdown ↗
launch:claim-feeslaunch

Claim the selected fee asset accrued to you as creator or partner. For WETH-denominated launch fees pass WETH, not the launched base token. npm run launch:claim-fees -- <feeTokenAddress> [recipient] Creator and partner each sign for their own entitlement in the same FeeVault. An optional payout address changes the destination, never the fee beneficiary.

Markdown ↗
vault:createvault

Open a yield vault for a token, so deposits can earn without each holder doing anything. npm run vault:create -- <assetToken> [performanceBps] [unlockDays] A vault takes deposits of one token and hands back shares. Whatever the vault earns raises what a share is worth, so a depositor's balance grows without them acting, and without them holding a position they have to manage. ── Where the yield comes from, and why it is not here ──────────────────────── A fresh vault earns nothing. It holds the asset and waits until a strategy is approved for it and added, and only the owner may approve one. That separation is the point: creating a vault is permissionless, but pointing depositors' money at a strategy is not. So this creates an empty vault, which is a real thing to do and the only thing that is yours to do without governance. ── The two numbers ─────────────────────────────────────────────────────────── `performanceBps` is the vault's cut of the yield, not of the deposit. It is taken from the increase, so a vault that earns nothing charges nothing. `unlockDays` is what stops a share price jumping. Realised profit is released into the share price gradually over that window rather than all at once. Paid out instantly, anyone who deposited a block earlier would take a share of gains earned before they arrived, and anyone watching could time exactly that. ───────────────────────────────────────────────────────────────────────────────

Markdown ↗
vault:depositvault

Check the source for arguments and transaction requirements.

Markdown ↗
vault:genesisvault

Check the source for arguments and transaction requirements.

Markdown ↗
vault:genesis-depositvault

Check the source for arguments and transaction requirements.

Markdown ↗
routing:quoterouting

npm run routing:quote -- <almm|concentrated|compounding|dbc> <pool> <tokenIn> <tokenOut> <amountInRaw> <recipient>

Markdown ↗
routing:auto-route-statusrouting

Read-only explicit GIWA auto-route generation check. It does not change the default deployment.

Markdown ↗
integration:quoteintegrations

npm run integration:quote -- <concentrated|compounding> <pool> <tokenIn> <amountInRaw> <recipient>

Markdown ↗
portable:curveportable

npm run portable:curve -- [path/to/economics.json] — offline, no deployment or wallet.

Markdown ↗
launch:graduatelaunch

Finish a V4 launch curve and execute its separate permissionless Graduation. AMMORA_GRADUATION_CONFIRM=1 npm run launch:graduate -- <curve> <quoteInputRaw> The input is a maximum, not a promise to spend it all. At the terminal quote-to-base boundary the curve consumes only what remains fillable and returns `amountLeft` to the payer. A second transaction calls `migrate()`; applications normally enqueue that permissionless step in a migrator rather than ask the trading user for another signature.

Markdown ↗
launch:preview-configlaunch

npm run launch:preview-config -- <templateId> <saleSupplyRaw> <quoteThresholdRaw> <configOwner>

Markdown ↗
launch:quotelaunch

npm run launch:quote -- <curve> [buy|sell <amountInRaw>]

Markdown ↗
launch:fee-sharinglaunch

Read a Config's fee policy, beneficiaries and illustrative splits. No key required. npm run launch:fee-sharing -- <configId> [beneficiary] FeeVault claimable is keyed by fee asset (usually quote/WETH), not launch identity.

Markdown ↗
launch:migration-positionslaunch

Resolve all Graduation NFTs, including rounding dust, from one canonical receipt. npm run launch:migration-positions -- <curve> <migrationHash>

Markdown ↗
launch:team-configlaunch

npm run launch:team-config -- preview|create <policy.json> <saleSupplyRaw> <quoteThresholdRaw> [reviewHash]

Markdown ↗
launch:fundinglaunch

Read only. npm run launch:funding -- <configId> <wallet> [humanNativeToWrap]

Markdown ↗
routing:policyrouting

npm run routing:policy -- [newPoolWindowSeconds=1036800] [blockTimeSeconds=2] [model=venue:demo]

Markdown ↗
venues:quote-mathvenues

npm run venues:quote-math -- [synthetic-fixture.json]

Markdown ↗
partner:catalogpartner

Check the source for arguments and transaction requirements.

Markdown ↗
partner:onboardingpartner

Check the source for arguments and transaction requirements.

Markdown ↗
partner:quotepartner

Check the source for arguments and transaction requirements.

Markdown ↗
partner:claimspartner

Check the source for arguments and transaction requirements.

Markdown ↗
partner:reconcilepartner

Check the source for arguments and transaction requirements.

Markdown ↗
almm:remove-liquidityalmm

almm:remove-liquidity -- <pool> <managerNftId> <shareBps>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
almm:close-empty-positionalmm

almm:close-empty-position -- <pool> <managerNftId>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
almm:claim-position-feesalmm

almm:claim-position-fees -- <pool> <managerNftId>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
almm:position-delegatealmm

ALMM delegation can grant principal rights: choose the exact permission, never copy ARL fee-only masks.

Markdown ↗
arl:add-compounding-liquidityarl

arl:add-compounding-liquidity -- <pool> <maximumBaseRaw> <maximumQuoteRaw>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
arl:remove-compounding-liquidityarl

arl:remove-compounding-liquidity -- <pool> <tokenId> <liquidityRaw>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
arl:claim-compounding-feesarl

arl:claim-compounding-fees -- <pool> <tokenId>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
arl:merge-positionsarl

arl:merge-positions -- <pool> <destinationNftId> <sourceNftId>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
arl:refresh-vestingarl

arl:refresh-vesting -- <pool> <managerNftId>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
arl:claim-position-rewardarl

arl:claim-position-reward -- <pool> <managerNftId> <rewardIndex>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
vault:redeemvault

vault:redeem -- <vault> <sharesRaw> <minimumAssetsRaw> <maximumStrategies>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
vault:request-redeemvault

vault:request-redeem -- <vault> <sharesRaw> <minimumAssetsRaw>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
vault:cancel-withdrawalvault

vault:cancel-withdrawal -- <vault> <requestId>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
vault:process-withdrawalvault

vault:process-withdrawal -- <vault> <requestId> <maximumStrategies>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
vault:lower-withdrawal-minimumvault

vault:lower-withdrawal-minimum -- <vault> <requestId> <newMinimumRaw>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
vault:genesis-withdrawvault

vault:genesis-withdraw -- <vault> <quoteAmountRaw>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
vault:genesis-claim-basevault

vault:genesis-claim-base -- <vault>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
vault:genesis-refundvault

vault:genesis-refund -- <vault>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
vault:genesis-early-refundvault

vault:genesis-early-refund -- <vault>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
vault:genesis-close-escrowvault

vault:genesis-close-escrow -- <vault>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
staking:stakestaking

staking:stake -- <vault> <amountRaw>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
staking:claimstaking

staking:claim -- <vault>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
staking:request-unstakestaking

staking:request-unstake -- <vault> <amountRaw>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
staking:cancel-unstakestaking

staking:cancel-unstake -- <vault> <requestId>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
staking:withdraw-unstakestaking

staking:withdraw-unstake -- <vault> <requestId>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
staking:stake-v2staking

staking:stake-v2 -- <vaultV2> <amountRaw>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
staking:claim-v2staking

staking:claim-v2 -- <vaultV2> <maximumQuoteFeeRaw>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
token-lock:claimtoken-lock

token-lock:claim -- <lock> <maximumAmountRaw>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
merkle:claim-lockedmerkle

merkle:claim-locked -- <distributor>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
presale:create-escrowpresale

presale:create-escrow -- <presale>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
presale:depositpresale

presale:deposit -- <presale> <maximumQuoteRaw>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
presale:withdrawpresale

presale:withdraw -- <presale> <maximumQuoteRaw>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
presale:claimpresale

presale:claim -- <presale>; default unsigned preview, AMMORA_ACCOUNT is required.

Markdown ↗
arl:add-to-positionarl

npm run arl:add-to-position -- <pool> <tokenId> <maxBaseRaw> <maxQuoteRaw>. Default: unsigned preview; see docs/CONTRACT-FEATURES.md.

Markdown ↗
arl:remove-position-liquidityarl

npm run arl:remove-position-liquidity -- <pool> <tokenId> <liquidityRaw>. Default: unsigned preview; see docs/CONTRACT-FEATURES.md.

Markdown ↗
arl:remove-all-position-liquidityarl

npm run arl:remove-all-position-liquidity -- <pool> <tokenId>. Default: unsigned preview; see docs/CONTRACT-FEATURES.md.

Markdown ↗
almm:swap-exact-outputalmm

npm run almm:swap-exact-output -- <pool> <amountOutRaw> <sell-base|sell-quote>. Default: unsigned preview; see docs/CONTRACT-FEATURES.md.

Markdown ↗
arl:swap-exact-outputarl

npm run arl:swap-exact-output -- <pool> <amountOutRaw> <tokenOut>. Default: unsigned preview; see docs/CONTRACT-FEATURES.md.

Markdown ↗
almm:claim-referralalmm

npm run almm:claim-referral -- <pool> <token>. Default: unsigned preview; see docs/CONTRACT-FEATURES.md.

Markdown ↗
staking:request-unstake-v2staking

npm run staking:request-unstake-v2 -- <vault> <amountRaw>. Default: unsigned preview; see docs/CONTRACT-FEATURES.md.

Markdown ↗
staking:cancel-unstake-v2staking

npm run staking:cancel-unstake-v2 -- <vault> <requestId>. Default: unsigned preview; see docs/CONTRACT-FEATURES.md.

Markdown ↗
staking:withdraw-unstake-v2staking

npm run staking:withdraw-unstake-v2 -- <vault> <requestId>. Default: unsigned preview; see docs/CONTRACT-FEATURES.md.

Markdown ↗
dfs:statedfs

npm run dfs:state -- <vault>. Default: unsigned preview; see docs/CONTRACT-FEATURES.md.

Markdown ↗
dfs:funddfs

npm run dfs:fund -- <vault> <maxAmountRaw>. Default: unsigned preview; see docs/CONTRACT-FEATURES.md.

Markdown ↗
dfs:claimdfs

npm run dfs:claim -- <vault> <recipientIndex> [payoutAddress]. Default: unsigned preview; see docs/CONTRACT-FEATURES.md.

Markdown ↗
dfs:fund-fee-vaultdfs

npm run dfs:fund-fee-vault -- <vault> <feeVault>. Default: unsigned preview; see docs/CONTRACT-FEATURES.md.

Markdown ↗
dfs:delegated-funding-preflightdfs

npm run dfs:delegated-funding-preflight -- <vault> <feeVault> <beneficiary>. Default: unsigned preview; see docs/CONTRACT-FEATURES.md.

Markdown ↗
dfs:createdfs

npm run dfs:create -- <token> <base> <recipientA> <shareA> <recipientB> <shareB> <salt32>. Default: unsigned preview; see docs/CONTRACT-FEATURES.md.

Markdown ↗
revenue:almm-referralrevenue

npm run revenue:almm-referral -- <pool> <token>. Default: unsigned preview; see docs/CONTRACT-FEATURES.md.

Markdown ↗
revenue:arl-revenuerevenue

npm run revenue:arl-revenue -- <pool> <token>. Default: unsigned preview; see docs/CONTRACT-FEATURES.md.

Markdown ↗
arl-v5:inspectarl-v5

Read actual V5 state with a deployment-team-reviewed manifest; never substitute V4 addresses.

Markdown ↗
partner:graduation-statepartner

Separate from offline partner fixtures: authenticate the reviewed deployment and read chain state.

Markdown ↗
partner:pool-statepartner

Direct partner V5 state; catalog/provenance and aggregation eligibility remain separate.

Markdown ↗
portable:discover-poolportable

Verify raw custom deployment pins before constructing a portable planning context.

Markdown ↗
merkle:claimmerkle

First claim requires the distributor's independently obtained Merkle proof.

Markdown ↗
launch:claim-surpluslaunch

SDK-authenticated creator/partner recovery; unsigned by default.

Markdown ↗
launch:withdraw-leftoverlaunch

SDK-authenticated creator/partner recovery; unsigned by default.

Markdown ↗
launch:claim-partner-creation-feelaunch

SDK-authenticated creator/partner recovery; unsigned by default.

Markdown ↗
portable:gas-budgetportable

Read ETH and quote balance at one confirmed block; print a budget without signing.

Markdown ↗
portable:claim-sourceportable

A source-specific positive FeeVault claim with independent ETH/WETH gas budgeting.

Markdown ↗
launch:config-jsonlaunch

launch:config-json -- preview|create <full-config.json> [reviewHash]

Markdown ↗
launch:migratelaunch

launch:migrate -- <curve>; migration only, no buy/approval. Default unsigned preview.

Markdown ↗
arl:vest-positionarl

arl:vest-position -- <pool> <managerNftId> <cliffPoint> <periodFrequency> <numberOfPeriod> <cliffLiquidity> <liquidityPerPeriod>. Default unsigned preview.

Markdown ↗
arl:create-positionarl

arl:create-position -- <pool> <maxBaseRaw> <maxQuoteRaw> [recipient] [deadlineUnix]. Creates a NEW unlocked managed NFT; no existing LP is touched.

Markdown ↗
launch:author-configlaunch

launch:author-config -- <templateId> <saleSupplyRaw> <quoteThresholdRaw> concentrated|compounding > full-config.json; read only.

Markdown ↗
launch:config-enabledlaunch

launch:config-enabled -- <configId> true|false. Only the Config owner; existing launches retain their immutable Config.

Markdown ↗
launch:creator-metadatalaunch

launch:creator-metadata -- <curve> <metadataURI>. Only the recorded launch creator.

Markdown ↗
arl:partial-swaparl

arl:partial-swap -- <pool> <tokenIn> <maximumInputRaw>. Explicit partial-fill opt-in.

Markdown ↗
arl:zap-inarl

arl:zap-in -- <pool> <concentrated|compounding> <tokenIn> <inputRaw> <swapRaw>. New position; no permanent lock.

Markdown ↗
arl:resolve-added-positionarl

arl:resolve-added-position -- <pool> <concentrated|compounding> <txHash>. Canonical receipt read only.

Markdown ↗
arl:add-to-direct-positionarl

arl:add-to-direct-position -- <pool> <kind> <poolNftId> <maximumBaseRaw> <maximumQuoteRaw>. Not a managed NFT ID.

Markdown ↗
arl:claim-compounding-rewardarl

arl:claim-compounding-reward -- <pool> <poolNftId> <slot:0|1> [recipient].

Markdown ↗
arl:split-direct-positionarl

arl:split-direct-position -- <pool> <kind> <poolNftId> <liquidityRaw>. Owner-only split to self.

Markdown ↗
arl:close-direct-positionarl

arl:close-direct-position -- <concentratedPool> <emptyPoolNftId>. Compounding burns on full removal.

Markdown ↗
arl:merge-compounding-positionsarl

arl:merge-compounding-positions -- <pool> <destinationPoolNftId> <sourcePoolNftId>. Both owners and locks must match.

Markdown ↗
arl:lock-compounding-positionarl

arl:lock-compounding-position -- <pool> <poolNftId> <futureReleasePoint>. Time/block units follow pool activationType.

Markdown ↗
arl:wrap-direct-positionarl

arl:wrap-direct-position -- <pool> <poolNftId>. Grants approval only for this NFT, then wraps to self.

Markdown ↗
arl:prepare-single-side-poolarl

arl:prepare-single-side-pool -- <baseToken> <quoteToken> <base|quote> <amountRaw> <sqrtMinQ64> <sqrtMaxQ64> <salt32>. Read-only; no permanent-lock assumption.

Markdown ↗
launch:transfer-creatorlaunch

launch:transfer-creator -- <curve> <newCreator>. Only before migration; future authority moves immediately.

Markdown ↗
portable:curve-exact-outputportable

portable:curve-exact-output -- <deployment.json> <targets.json> <curve> <buy|sell> <outputRaw> <maximumInputRaw> <maxFeePerGasWei> [deadlineUnix].

Markdown ↗
portable:atomic-first-buyportable

portable:atomic-first-buy -- <deployment> <targets> <templateId> <saleRaw> <thresholdRaw> <name> <symbol> <uri> <quoteRaw> <minimumBaseRaw> <maxFeeWei> [deadlineUnix].

Markdown ↗
portable:existing-config-first-buyportable

portable:existing-config-first-buy -- <deployment> <targets> <configId> <expectedConfigHash> <name> <symbol> <uri> <decimals> <quoteRaw> <minimumBaseRaw> <maxFeeWei> [deadlineUnix].

Markdown ↗
arl:add-direct-liquidityarl

arl:add-direct-liquidity -- <pool> <kind> <maximumBaseRaw> <maximumQuoteRaw> [deadlineUnix]. New unlocked pool NFT, separate from managed positions.

Markdown ↗
arl:remove-direct-liquidityarl

arl:remove-direct-liquidity -- <pool> <kind> <poolNftId> <liquidityRaw> [deadlineUnix]. Does not unlock or unwrap managed positions.

Markdown ↗
launch:create-config-and-first-buylaunch

launch:create-config-and-first-buy -- <deployment> <targets> <policy.json> <saleRaw> <thresholdRaw> <name> <symbol> <uri> <quoteRaw> <minBaseRaw> <maxFeeWei> <deadlineUnix> [reviewHash]

Markdown ↗
launch:create-config-and-pool-with-first-buylaunch

launch:create-config-and-pool-with-first-buy -- <policy.json> <saleRaw> <thresholdRaw> <name> <symbol> <uri> <quoteRaw> <minBaseRaw> <maxFeeWei> <deadlineUnix> [reviewHash]

Markdown ↗
launch:fee-configlaunch

launch:fee-config -- preview|document <fees.json> <saleSupplyRaw> <quoteThresholdRaw> Both modes only read. Pass the generated document to launch:config-json to create.

Markdown ↗
dfs:create-jsondfs

dfs:create-json -- preview <sharing.json> OR create <sharing.json> <reviewHash>

Markdown ↗
fees:verify-claimfees

npm run fees:verify-claim -- <launch|dfs> <hash> <vault> <token> <beneficiary> <payout> [index] Read-only, including when AMMORA_SEND=1. Never loads a signer or constructs a new transaction. This command covers direct beneficiary claims; use the LP verifier for LP/delegate receipts.

Markdown ↗
fees:delegatefees

fees:delegate -- <feeVault> <delegate> <allow|revoke>. Beneficiary signs; does not change LP permissions.

Markdown ↗
fees:claim-delegatedfees

fees:claim-delegated -- <feeVault> <token> <beneficiary> <payout>. Default unsigned preview.

Markdown ↗
fees:batch-claimfees

fees:batch-claim -- <requests.json> [new-progress.json]. Sequential own/delegated claims.

Markdown ↗
dfs:sourcedfs

dfs:source -- <vault> <source.json> <allow|revoke>. Vault owner only; separate from source-side permission.

Markdown ↗
dfs:fund-sourcedfs

dfs:fund-source -- <vault> <source.json>. Preflight reports setup; never automatically grants it.

Markdown ↗
dfs:position-permissiondfs

dfs:position-permission -- <vault> <pool> <concentrated|compounding> <nftId> <fee|reward|revoke>. Exact fee/reward bits only. Concentrated uses Manager NFTs; raw NFT approval is a broader, separate operation.

Markdown ↗
arl:claim-all-position-feesarl

arl:claim-all-position-fees -- <pool> <positions.json> <payout> [new-progress.json]. Concentrated pool/Manager IDs only.

Markdown ↗
almm:claim-all-position-feesalmm

almm:claim-all-position-fees -- <pool> <id,id> [new-progress.json]. Sequential transactions.

Markdown ↗
almm:rebalancealmm

almm:rebalance -- <pool> <rebalance.json>. Default unsigned preview; integer raw units.

Markdown ↗
fees:operator-batch-claimfees

fees:operator-batch-claim -- <feeVault> <requests.json>. Existing owner/operator only; pays beneficiaries themselves.

Markdown ↗
dfs:register-source-tokendfs

dfs:register-source-token -- <pool> <concentrated|compounding> <token> <probeRaw>. Normal permissionless exact-transfer probe in the authenticated pool factory's registry. Never changes an owner policy, registrar role, or aggregation admission.

Markdown ↗
stablecoin:inspectstablecoin

Check the source for arguments and transaction requirements.

Markdown ↗
stablecoin:policystablecoin

Check the source for arguments and transaction requirements.

Markdown ↗
stablecoin:plan-liquiditystablecoin

Check the source for arguments and transaction requirements.

Markdown ↗
stablecoin:probestablecoin

probe: SDK planner, unsigned by default. See STABLECOIN-PARTNER.md.

Markdown ↗
stablecoin:arl:createstablecoin

create-arl: SDK planner, unsigned by default. See STABLECOIN-PARTNER.md.

Markdown ↗
stablecoin:almm:createstablecoin

create-almm: SDK planner, unsigned by default. See STABLECOIN-PARTNER.md.

Markdown ↗
stablecoin:almm:seedstablecoin

seed-almm: SDK planner, unsigned by default. See STABLECOIN-PARTNER.md.

Markdown ↗
stablecoin:lp:addstablecoin

add: SDK planner, unsigned by default. See STABLECOIN-PARTNER.md.

Markdown ↗
stablecoin:lp:removestablecoin

remove: SDK planner, unsigned by default. See STABLECOIN-PARTNER.md.

Markdown ↗
stablecoin:quotestablecoin

Check the source for arguments and transaction requirements.

Markdown ↗
stablecoin:swapstablecoin

swap: SDK planner, unsigned by default. See STABLECOIN-PARTNER.md.

Markdown ↗
stablecoin:positionstablecoin

Check the source for arguments and transaction requirements.

Markdown ↗
stablecoin:fee-delegatestablecoin

fee-delegate: SDK planner, unsigned by default. See STABLECOIN-PARTNER.md.

Markdown ↗
stablecoin:claim-lp-feesstablecoin

claim-lp-fees: SDK planner, unsigned by default. See STABLECOIN-PARTNER.md.

Markdown ↗
stablecoin:almm:closestablecoin

close-almm: SDK planner, unsigned by default. See STABLECOIN-PARTNER.md.

Markdown ↗
stablecoin:riskstablecoin

Check the source for arguments and transaction requirements.

Markdown ↗
stablecoin:executestablecoin

Check the source for arguments and transaction requirements.

Markdown ↗
stablecoin:reconcilestablecoin

Check the source for arguments and transaction requirements.

Markdown ↗
stablecoin:check-almm-presetstablecoin

Check the source for arguments and transaction requirements.

Markdown ↗
stablecoin:create-almm-presetstablecoin

Check the source for arguments and transaction requirements.

Markdown ↗
stablecoin:check-almm-positionstablecoin

Check the source for arguments and transaction requirements.

Markdown ↗
stablecoin:almm:discoverstablecoin

Check the source for arguments and transaction requirements.

Markdown ↗
launch:vesting-configvesting

Offline raw-unit allocation; merge config into an explicitly authored complete launch policy.

Markdown ↗
launch:vesting-from-graduationvesting

Check the source for arguments and transaction requirements.

Markdown ↗
token-lock:inspectvesting

Check the source for arguments and transaction requirements.

Markdown ↗
token-lock:createvesting

Check the source for arguments and transaction requirements.

Markdown ↗
token-lock:claim-verifiedvesting

Check the source for arguments and transaction requirements.

Markdown ↗
Build a launchpad →Create, trade, graduate, earn and vestStablecoin integration →Review policy, supply liquidity, trade, claim and withdraw
All 29 detailed guides

The ALMM unified extension has a separate plan/execute walkthrough. Source manifest · Revision a9b3fd798fa5. Each guide records its own validation scope.

Was this page helpful?