Skip to main content
POST
SDK Alternative: Use giza.optimize(options) for a simpler TypeScript interface. See SDK docs

Description

Calculates the optimal capital allocation across DeFi lending protocols. Returns the optimal allocation, an action plan to achieve it, and execution-ready calldata. This endpoint is the core of the IaaS (Intelligence as a Service) integration.

Path Parameters

chain_id
integer
required
The blockchain chain ID

Request Body

total_capital
string
required
Total capital to allocate (as bigint string, e.g., “1000000000” for 1000 USDC)
token_address
string
required
Token address to optimize for
current_allocations
object
required
Current allocations by protocol (protocol name → amount as bigint string)Example: {"aave": "500000000", "compound": "500000000"}
protocols
array
required
List of protocol names to consider for optimization
constraints
array
Optional constraints for optimization. Each constraint is an object with kind and params.Constraint types and required parameters:
KindParamsDescription
min_protocolsmin_protocols (int), min_fraction_per_protocol (float, optional)Minimum number of protocols to use
max_amount_per_protocolprotocol (string), max_ratio (float 0-1)Cap a protocol at a percentage of total capital
max_allocation_amount_per_protocolprotocol (string), max_amount (int)Cap a protocol at an absolute amount
min_amountmin_amount (int)Minimum amount for any used protocol
min_allocation_amount_per_protocolprotocol (string), min_amount (int)Minimum amount for a specific protocol
exclude_protocolprotocol (string)Exclude a protocol from optimization
Example:
wallet_address
string
Optional wallet address that will execute the transactions. Example: "0x1234567890123456789012345678901234567890"

Response

optimization_result
object
Optimization results
action_plan
array
Ordered list of actions to execute
calldata
array
Execution-ready transaction data