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
protocolis omitted - Stake: Wraps native ETH to stETH via Lido staking contract - Token identifier:"native"(ETH) - Native execution path: calls Lidosubmit(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
protocolis 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_bpscontrols 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
protocolis 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_bpscontrols the maximum slippage tolerance for this swap. - Native execution paths: Lido (Ethereum ETH) and Jito (Solana SOL) have native execution paths when
token,amount, andchainare 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
protocolis omitted - Unstake: Creates a withdrawal request via Lido WithdrawalQueue - Token identifier:"stETH"(or use default) - Native execution path: approves stETH to WithdrawalQueue, then callsrequestWithdrawals- 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
protocolis 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_bpscontrols 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
protocolis 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_bpscontrols the maximum slippage tolerance for this swap. - Lido withdrawal limitation: Lido unstaking creates a withdrawal request asynchronously. The response includes
request_idsfor 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
amountandchainare 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