Skip to main content
GET
Generate strategy transaction bytecode

Authorizations

x-api-key
string
header
required

API key for authentication. Obtain from your Pods dashboard.

Path Parameters

strategyId
string
required

Strategy ID or slug

Query Parameters

action
enum<string>
required

Strategy action type

Available options:
lend,
request-lend,
withdraw,
request-withdraw,
quick-withdraw,
claim-airdrop,
borrow,
repay
amount
string

Amount in token smallest unit. Omit when amountInShares supplies the withdrawal amount.

Example:

"1000000000000000000"

amountInShares
string

Withdrawal amount in strategy share-token units.

Example:

"1000000000000000000"

withdrawAll
boolean
default:false

Redeem the complete wallet share balance for supported ERC-4626 strategies. Use for an exact full exit; amount remains required as the expected underlying amount.

skipBalanceCheck
boolean
default:false

Skip on-chain wallet balance checks while generating bytecode (fee transfers, native transfers, and Aave lend). The returned transactions can still revert at execution if the wallet cannot fund them.

wallet
string
required

User wallet address

chainIdIn
number

Source chain ID alias for cross-chain deposits

Example:

8453

fromChainId
number

Source chain ID for cross-chain deposits

Example:

8453

fromTokenAddress
string

Source token for same-chain swap or cross-chain deposit

Example:

"0xb794F5eA0ba39494cE839613fffBA74279579268"

chainIdOut
number

Destination chain ID alias for cross-chain withdrawals

Example:

8453

toChainId
number

Destination chain ID for cross-chain withdrawals

Example:

8453

toTokenAddress
string

Destination token for cross-chain withdrawals

Example:

"0xb794F5eA0ba39494cE839613fffBA74279579268"

destinationAddress
string

Destination wallet address when different from wallet

Example:

"0xb794F5eA0ba39494cE839613fffBA74279579268"

preferredProvider
string

Registered swap provider name to use for any swap or bridge leg.

Example:

"pods"

output
enum<string>
default:bytecode

Response format

Available options:
bytecode,
userOperation,
fireblocks,
instructions
accountId
string

Fireblocks vault account ID. Required when output=fireblocks.

Example:

"12"

reserveAddress
string

Solana reserve address for supported borrow/repay operations

webhookURL
string<uri>

Optional per-action webhook endpoint override.

Example:

"https://example.com/webhooks/strategy-action"

Response

Bytecode generated successfully

feeCharged
string
required

Large integer represented as string (for amounts with decimals)

Example:

"1000000000000000000"

id
string
required

ID created for execution tracking

Example:

"6a04f2f75bf7233c6220b3ca"

chainIdIn
number
Example:

8453

chainIdOut
number
Example:

42161

crossChain
object

Cross-chain route metadata, or null for same-chain strategy actions

quote
any | null

Bridge or swap quote metadata when the strategy action includes a swap or bridge

bytecode
object[]
userOperation
any | null

User operation when output=userOperation

transactionData
any | null

Fireblocks transaction request when output=fireblocks

transaction
string

Base64 Solana transaction when output=bytecode on Solana

instructions
null[]

Solana instructions when output=instructions

lutsByAddress
any | null

Solana lookup tables keyed by address