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

settlementMode
enum<string>

Explicit depositAddress returns funding instructions for supported strategy transfers. Send the exact quoted customer funding amount in one transfer. With strategy routing enabled, eligible Aave and Morpho deposits compose swaps and bridges into the selected strategy; direct mode returns source-wallet transactions and continuation completes asynchronously. Existing underlying-asset deposit paths remain available. Aave Polygon withdrawals require the selected aToken and redeem the admitted position including accrued interest. No helper deployment is required: fee-bearing withdrawals redeem into the deposit Safe before paying confirmed fees and the customer remainder. Wrong-amount customer funding is refunded to the verified source; wrong tokens and additional transfers are flagged for review. Withdrawals do not compose swaps or bridges. Other requests preserve existing wallet execution.

Available options:
direct,
depositAddress
action
enum<string>
required

Strategy action type. buy and sell are aliases of request-lend and request-withdraw on Ondo stock strategies.

Available options:
lend,
request-lend,
buy,
withdraw,
request-withdraw,
sell,
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. For Aave Polygon depositAddress withdrawals, uses the full quoted aToken balance; interest accrued before funding may remain in the source wallet. Requires configured withdrawal support. 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"

priceInUsd

Ondo BSC CoW request-lend / request-withdraw only. Client limit price as integer USD cents (17050 = $170.50). Independent of expireAt. Other strategies return 400 PRICE_IN_USD_NOT_SUPPORTED.

Example:

17050

expireAt
integer

Ondo BSC CoW request-lend / request-withdraw only. CoW validTo as a UTC Unix timestamp in seconds (not milliseconds). Must be in the future and at most 168 hours from now. Independent of priceInUsd. Other strategies return 400 EXPIRE_AT_NOT_SUPPORTED.

Example:

1778000000

slippage
number

Ondo stock strategies on BSC and Ethereum only. Order slippage as a fraction of 1 (0.01 = 1% = 100 bps). Range 0.0001–0.5. Omitted, BSC CoW market orders stay at 100 bps, BSC client limits (priceInUsd) stay at 10 bps, and Ethereum primary orders stay at 60 bps. buyAmount, tokenOut.expectedAmountOut, and tokenOut.minAmountOut stay equal at that tolerance. Other strategies return 400 SLIPPAGE_NOT_SUPPORTED. Out of range returns 400 INVALID_SLIPPAGE.

Example:

0.002

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. Ondo BSC client-limit quotes also include clientLimitPriceUsd (dollars), spotPriceUsd, and distanceBps.

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