from glide_client import GlideClient, StepUpRequired
import os
client = GlideClient(grant_token=os.environ["GLIDE_GRANT_TOKEN"])
result = client.call(
"treasury", "yield.allocate",
{
"from_protocol": "idle",
"to_protocol": "aave",
"chain": "base",
"token": "USDC",
"amount_cents": 500000,
"min_apr_bps": 350,
"idempotency_key": "yield-rebalance-20260504-001",
},
idempotency_key="yield-rebalance-20260504-001",
)
if isinstance(result, StepUpRequired):
print("Step-up needed:", result.step_up_url)
else:
print("Allocation enqueued:", result["allocation_id"])