monaco.api.delegated_agents
Source: protos/api/delegated_agents.proto
Use DelegatedAgentsService when a master account authorizes another wallet to trade on its behalf.
Notes
- Owner-side RPCs require the master account.
UpsertDelegatedAgentrejects a configuredmax_open_orders; no concurrent open-order cap is enforced.- An owner holds at most 10 active, unexpired agents;
UpsertDelegatedAgentrejects another past that until one is revoked or expires. - An omitted
expires_atdefaults to 14 days from now, also on an update; one more than 180 days ahead returnsINVALID_ARGUMENT. allowed_actionsacceptsCREATE_ORDER,CANCEL_ORDER,REPLACE_ORDER,READ, andMANAGE_RISK_BUCKETS; any other value returnsINVALID_ARGUMENT. Every delegated session may read the owner’s data, so emptyallowed_actionsor onlyREADis a read-only key.- Each listed scope must match: with markets and margin accounts both listed, an order needs a listed market and a listed account. An agent listing only margin accounts trades those accounts on any market; one listing only markets trades them in every margin account. Both empty deny all orders. Empty order-type and time-in-force lists are unrestricted.
ip_allowlistholds up to 20 IP addresses or CIDR ranges; more, or an unparseable entry, returnsINVALID_ARGUMENT. Empty allows any address.DelegatedAgent.ip_allowlistreturns the entries normalized to CIDR form.- Over REST JSON,
agentAddress,allowedActions, andallowedTradingPairIdsmust be present. The other four policy arrays accept omission,null, or[]. Protobuf repeated fields default to empty lists; the same policy semantics apply. CreateDelegatedSessionexchanges an agent session for an owner-scoped delegated session. It returnsPERMISSION_DENIEDwhen no active delegation exists for the owner, or when the delegation has anip_allowlistthat does not include the caller’s address.

