Manage all your LP positions from an agent of your choice.
Ask “Show my LP positions” in ChatGPT with Gina Spot connected. See your pairs, position values, estimated fees and price ranges in one view.
Connect to Spot MCP
Use Spot client setup to connect tohttps://askgina.ai/ai/spot/mcp, sign in, and approve tools:execute access. Run tools/list to check the deployed inventory. The tool reference lists the source-verified native tools.
Capability and access
Reviewed September 28, 2026 against application revision2e847ae3dd0523e7ea3e3b9944c9b6bcc232fd37. The matrix describes implemented contracts; production rollout and funded execution were not independently verified. A registered operation still needs a successful current quote and settlement evidence.
All rows are source-verified, with deployment availability unverified. Recenter is implemented as a composite operation, subject to quote guards and reconciliation of both the retired position and its replacement. Schema acceptance alone does not prove a successful lifecycle.
These tools are registered natively on Spot MCP and through its sandbox host-tool interface. Wallet Yield has the narrower exit controls above. Web chat’s Manage with Gina is a context handoff; do not assume it exposes all these operations. Gina Read is a separate connection with its own public catalog; an internal tool allowlist does not grant public Gina Read access to LP tools.
Discover and select
- Read
getAccountAddressesandgetCrosschainPortfoliofor wallet identity and available balances. - Read
getLpPositionsfor Robinhood Chain, orgetSolanaLpPositionsfor Solana. Follow returned inventory cursors and preserve partial coverage, unread positions and source times. - Select the exact pool and position.
resolveSolanaLpPoolreturns candidates from a mint or pool address; it neither selects one nor admits it. - Check
getLpAllowlistorgetSolanaLpAllowlist. Each user has separate EVM and Solana admission lists and revisions.
- EVM:
updateLpAllowlisttakesaction: "add"with the fullpool, oraction: "remove"with the entry’spoolKey. - Solana:
updateSolanaLpAllowlisttakesprotocol,poolAddressandaction: "add"or"remove". Adding checks the pool’s on-chain program owner.
expectedRevision. Re-read on a revision conflict. Revocation blocks new exposure, including recentering; supported reductions remain available: decrease, collect and close, plus CPMM withdraw.
Keep chain ID, wallet, protocol, pool and position identifiers intact. Uniswap token IDs and position-manager addresses are distinct from v4 pool IDs and pool keys. Raydium uses pool, mint, token-account and position addresses. A foreign EVM position may be observable; visibility never grants permission to operate it.
Fund and quote
Both assets must cover the intended operation. LP quotes do not swap into the desired ratio. Preparatory swaps are separate transactions: reconcile them before requesting a fresh LP quote. Uncollected position assets are not spendable wallet balances. For EVM,quoteLpOperation requires funding: delegated account, chainId: 4663, authorized fee alternatives, assetCeilings and retained-balance reserves. A fee alternative is sponsored or fee-token with asset and maxWeiAmount. There is no implicit paid fallback. Duplicate assets or a different wallet/chain are refused. Unknown costs are not zero fees.
For Solana, quoteSolanaLpOperation binds the selected pool, position, wallet, allowlist revision and slot window. Supply the last read expectedRevision to detect admission changes. Review token maximums, receive minimums and other returned constraints. Keep SOL for fees and account creation. The compiler can wrap native SOL to cover a WSOL funding shortfall; inspect wrapsNativeSol. Receiving native SOL instead of WSOL requires unwrapWsolToNative: true, supported for withdraw, decrease, collect and recenter. Review unwrapsWsolToNative in the quote.
A live Token-2022 transfer-hook program is refused, even if the token can be swapped. An empty transfer-hook slot can be supported. Other token-program and extension checks still apply; a successful swap is not proof of LP compatibility. Follow the quote’s refusal instead of repeatedly sending the same unsupported request.
Read and quote examples
The examples below are templates, checked against the pinned input schemas with synthetic test substitutions. Angle-bracket strings must be replaced with identities from your wallet and pool reads; they are deliberately not runnable addresses. Schema checks do not prove admission, balances, pool ownership or execution. Use a real admitted pool for new exposure, and inspect the current published schema before sending. Raw amounts are decimal strings in the token’s smallest units."1000000" is one token only when it has six decimals. LP-token amounts and liquidity units have their own protocol meaning.
getLpPositions with the input above; use "uniswap-v4" for v4. Call getSolanaLpPositions with:
quoteLpOperation. Copy the position reference returned by discovery; the same shape supports v4 with protocol: "uniswap-v4" and its actual manager/token ID. Amounts below are illustrative ceilings, not recommended sizes.
quoteSolanaLpOperation. Replace every position field from discovery and the revision from the Solana allowlist. Liquidity here is in protocol units, not tokens.
lpTokenAmount requests a raw LP-token quantity; the quote determines required pair amounts.
Execute the exact quote
KeepintentId, quoteId and planHash. intentId identifies the intended action; quoteId identifies its current quote; planHash binds the plan. Review amounts, fees, minimum receive bounds and expiry before authorizing execution.
Call executeLpOperation or executeSolanaLpOperation with the exact returned quoteId and planHash only when execution is authorized. Quoting signs and sends nothing. A quote request alone does not authorize execution.
To refresh an unexecuted intent, pass its intentId to the quote tool. The new quoteId supersedes the old one: never execute the old quote. An outstanding send blocks re-quoting. EVM quotes expire by their stated deadline; Solana quotes have an expiresAtSlot window. A replacement quote must be reviewed again if material terms change.
Recover an uncertain operation
Keep the returnedoperationId, quote identity and any attributable transaction reference. Read getLpOperationStatus by operationId or the exact claiming quoteId. Read getSolanaLpOperationStatus by operationId.
If those handles were lost, call the relevant status tool with:
nextCursor using cursor until null. The listing is bounded; a single page is not all outstanding operations. Native results expose operations and nextCursor directly; sandbox results wrap them under data. Rows may settle during reconciliation or remain unavailable.
Prepared, submitted and pending are not settled. Unknown or partial results require reconciliation of receipts, position state and attributable asset flows. A timeout, missing receipt or successful outer shell command does not prove whether funds moved. Never automatically resend, replace an unknown send or repeat a settled leg. Only authoritative resolution can establish whether a distinct new attempt is eligible.
Widgets and text clients
Compatible clients can render LP positions and quote/status widgets. Clients without widgets still receive the tool’s structured/text result, identifiers, constraints and recovery steps. Rendering a card changes presentation, not transaction authority; an Execute control must use the current bound quote and the user’s authorization.Position details in ChatGPT
The detail view shows the pair, network and protocol, token amounts, current price and range bounds. Use the pair-direction control to reverse the displayed price units. Read the labels beside each value: in this example, Position value is principal excluding uncollected balances, and Est. fee APR uses a 24-hour fee window before costs.