Seashail

Tools: Staking

Stake and unstake tokens across Lido, Eigenlayer, Marinade, and Jito.

Staking tools manage liquid staking positions. All tools require policy approval. Protocol is auto-selected by chain when omitted (EVM defaults to Lido, Solana defaults to Jito).

stake_tokens

Stake tokens to earn staking rewards. Native staking paths are supported for Lido (Ethereum) and Jito (Solana); other protocols execute via transaction envelope fallback.

Parameters

Prop

Type

Per-Protocol Behavior

  • Default protocol for EVM chains when protocol is omitted - Stake: Wraps native ETH to stETH via Lido staking contract - Token identifier: "native" (ETH) - Native execution path: calls Lido submit(address _referral) with ETH value - Returns transaction hash (txid) and USD value - Supported on Ethereum mainnet
  • Set protocol: "eigenlayer" explicitly - Executes via transaction envelope fallback - Requires agent or adapter to provide envelope fields (to, data, value_wei)
  • Default protocol for Solana when protocol is omitted - Stake: Swaps native SOL for JitoSOL via Jupiter swap - Token identifier: "native" (SOL)
  • Native execution path: uses Jupiter swap aggregator under the hood - slippage_bps controls swap slippage tolerance - Returns signature and USD value - Supported on Solana mainnet
  • Set protocol: "marinade" explicitly - Executes via transaction envelope fallback - Requires agent or adapter to provide envelope fields (tx_b64, allowed_program_ids)

Response

{
  "chain": "solana",
  "protocol": "jito",
  "signature": "5UfD...txid",
  "usd_value": 42.5
}

Response shape is representative; actual fields may vary by protocol. Lido returns txid instead of signature.

Examples

{
  "chain": "ethereum",
  "protocol": "lido",
  "token": "native",
  "amount": "0.1",
  "amount_units": "ui"
}
{
  "chain": "solana",
  "protocol": "jito",
  "token": "native",
  "amount": "1.5",
  "amount_units": "ui",
  "slippage_bps": 100
}

Notes

  • Requires policy approval — transactions may be auto-approved, require confirmation, or be blocked depending on your policy configuration and USD value.
  • Protocol auto-selection: If protocol is omitted, Seashail selects by chain (EVM → Lido, Solana → Jito).
  • Jito swap mechanism: Jito staking on Solana uses Jupiter swap to convert SOL to JitoSOL. slippage_bps controls the maximum slippage tolerance for this swap.
  • Native execution paths: Lido (Ethereum ETH) and Jito (Solana SOL) have native execution paths when token, amount, and chain are provided. Other protocols fall back to transaction envelope mode.
  • Transaction envelope fallback: If native execution is not available or envelope fields are provided, Seashail executes the supplied transaction envelope.
  • See also: DeFi Guide

unstake_tokens

Unstake tokens and redeem staking rewards. Native unstaking paths are supported for Lido (Ethereum, creates withdrawal request) and Jito (Solana, swaps back to SOL); other protocols execute via transaction envelope fallback.

Parameters

Prop

Type

Per-Protocol Behavior

  • Default protocol for EVM chains when protocol is omitted - Unstake: Creates a withdrawal request via Lido WithdrawalQueue - Token identifier: "stETH" (or use default) - Native execution path: approves stETH to WithdrawalQueue, then calls requestWithdrawals - Returns transaction hash (txid), withdrawal request IDs (request_ids), and next action - Claim functionality not yet implemented — monitor withdrawal claimability via Lido UI or on-chain reads - Supported on Ethereum mainnet
  • Set protocol: "eigenlayer" explicitly - Executes via transaction envelope fallback - Requires agent or adapter to provide envelope fields (to, data, value_wei)
  • Default protocol for Solana when protocol is omitted - Unstake: Swaps JitoSOL back to native SOL via Jupiter swap - Token identifier: "JitoSOL" (or use default) - Native execution path: uses Jupiter swap aggregator under the hood - slippage_bps controls swap slippage tolerance - Returns signature and USD value - Supported on Solana mainnet
  • Set protocol: "marinade" explicitly - Executes via transaction envelope fallback - Requires agent or adapter to provide envelope fields (tx_b64, allowed_program_ids)

Response

{
  "chain": "ethereum",
  "protocol": "lido",
  "status": "pending",
  "txid": "0xabc...txhash",
  "request_ids": ["123456"],
  "next_action": "Monitor Lido WithdrawalQueue claimability in the Lido UI or via on-chain reads; Seashail claim support is not implemented yet.",
  "usd_value": 42.5
}

Response shape is representative; actual fields may vary by protocol. Lido returns additional fields (status, request_ids, next_action). Jito returns signature instead of txid.

Examples

{
  "chain": "ethereum",
  "protocol": "lido",
  "amount": "0.5",
  "amount_units": "ui"
}

Note: token defaults to "stETH" for Lido unstaking.

{
  "chain": "solana",
  "protocol": "jito",
  "amount": "2.0",
  "amount_units": "ui",
  "slippage_bps": 100
}

Note: token defaults to "JitoSOL" for Jito unstaking.

Notes

  • Requires policy approval — transactions may be auto-approved, require confirmation, or be blocked depending on your policy configuration and USD value.
  • Protocol auto-selection: If protocol is omitted, Seashail selects by chain (EVM → Lido, Solana → Jito).
  • Jito swap mechanism: Jito unstaking on Solana uses Jupiter swap to convert JitoSOL back to SOL. slippage_bps controls the maximum slippage tolerance for this swap.
  • Lido withdrawal limitation: Lido unstaking creates a withdrawal request asynchronously. The response includes request_ids for tracking, but Seashail does not yet implement the claim functionality. Monitor withdrawal claimability via the Lido UI or on-chain reads.
  • Native execution paths: Lido (Ethereum stETH) and Jito (Solana JitoSOL) have native execution paths when amount and chain are provided. Other protocols fall back to transaction envelope mode.
  • Transaction envelope fallback: If native execution is not available or envelope fields are provided, Seashail executes the supplied transaction envelope.
  • See also: DeFi Guide

On this page