Several researchers have recently advocated dynamic pricing mechanisms such as the smart market. This paper explores how dynamic state-dependent pricing and explicit congestion control can both be used to avoid and alleviate congestion. Dynamic pricing has significant advantages for heterogeneous traffic, although this paper demonstrates that this approach reduces raw throughput. It is shown that when propagation delay is non-trivial, as is the case in wide-area networks, a slow-reacting version of dynamic pricing is preferable. This paper also advocates the use of novel stream-oriented best-effort ATM services with which a stream's arrival process is declared to the network before transmission begins and then policed, although there are no performance guarantees and none of these best-effort streams are ever blocked. With this approach, it is possible to provide price incentives for applications to decrease traffic burstiness, and to reveal important information about their packet streams, making mechanisms like slow-reacting dynamic pricing more practical.