client.lifecycle correlates multi-step deposit, withdrawal, and transfer flows for operations
dashboards.
| Method | Purpose |
|---|---|
list_flows | Paginated summaries |
get_flow | One flow by flow/intent ID |
get_flow_by_tx / list_flows_by_tx | Transaction lookup |
subscribe_open_flows | Public or account-specific open flows |
subscribe_flow_detail | One flow's updates |
use polyester::proto::chain::lifecycle::v1::ListFlowsRequest;
let flows = client.lifecycle.list_flows(ListFlowsRequest {
limit: 50,
..Default::default()
}).await?;
for flow in flows.flows {
println!(
"{} {} {} terminal={} reason={}",
flow.intent_id, flow.flow_kind, flow.latest_step, flow.is_terminal, flow.lifecycle_reason
);
if let Some(zipper) = &flow.zipper_reason {
println!("{} {} {}", zipper.reason_id, zipper.message, zipper.code);
}
}Each flow summary exposes:
lifecycle_reason: product-facing catalog label (unspecified,zipper_validation_rejected, ledger-mirror variants, orunknown_reason_<n>when the wire code is ahead of the SDK catalog).zipper_reason: optional Zipper detail (code,reason_id,message) when Zipper supplied a precise rejection. Preferreason_id/messagefor user-facing copy instead of raw numeric codes.
Generated request page tokens are opaque. subscribe_open_flows(Some(account_id)) is private; None uses the public open-flows channel. subscribe_flow_detail(flow_id) is public-by-flow-ID.
Singular lookups return Error::Transport if a successful response omits the requested flow or
its required summary; they never return an empty placeholder flow.
Lifecycle progress is not the same as spendable balance. Confirm completed funding/trading balances before enabling dependent orders.
Related Topics
Address book Saved destinations and whitelist views. API keys List, get, subscribe, and generate local API key material (no create on API-key SDKs). Auth Auth service helpers including nested profile access. Balances List ledger balances via GetBalancesRequest, history, holds, and private subscribe. Candles Read and stream public spot OHLCV candles via market_data. Catalog Spot/Zipper catalog hydration with hydrate_catalogs and wait_for_catalogs. Chain helpers On-chain Funding โ Trading and Funding withdraw helpers. Chain analytics Chain analytics read APIs. Client configuration Config fields, URLs, catalogs, wire format, and from_env behavior. Deposit Create and list per-account chain deposit addresses for funding your Polyester account. Errors Rust Error enum variants, MFA auth codes, and queue overflow. Guard signer Guard signer approval helpers. Heatmap L2 order book heatmap reads. Internal transfers Move trading balances between Polyester accounts without touching a chain. Layout Layout collaboration APIs (reference-only). Market overview List and subscribe to per-market stats with optional snapshot-then-stream merge. Order book Depth snapshots and a stateful live order book that reconstructs the book for you. Orders Place, modify, cancel, batch, and stream spot orders with the Rust OrdersService. Policies Realtime API-key and subaccount-policy updates. Polychart Polychart collaboration APIs (reference-only). Profile Profile identity reads and subscribe helpers. Public trades Public trade tape reads and subscribe via market_data. Realtime Shared Centrifugo client, observable failures, handshake-before-return, and fail-closed overflow. Social verification Social verification APIs (reference-only). Subaccounts Subaccount reads, members, invites, activity. User trades List and stream your private spot fills (not the public tape). Transfers Transfer history reads. Triggers Create, manage, pause/resume, and stream standalone triggers with the Rust TriggersService. Whiteboard Whiteboard collaboration APIs (reference-only). Withdrawals Trading withdraw intents to funding or external chain destinations (signed payload). Zipper Deposit/withdraw config and related Zipper reads.