Proto: Trades. [this might be a type of contract or something but it seems nice like a standalone too] A player (the seller) CAN create a Trade Offer by announcement, specifying a set of assets e owns (the tender) and an action (the exchange) that e wants in trade (e.g. a transfer of assets to emself). E may optionally specify a set of players other than the seller eligible to make the exchange (buyers). If e does not specify the default buyers are all players other than the seller. A Trade Offer is valid until: (a) a buyer makes the exchange for that Trade Offer; (b) the seller withdraws the offer; or (c) one week has passed. A buyer makes the exchange on a valid Trade Offer by announcement, citing the specific offer as the reason for performing the exchange action, provided that (1) the buyer CAN otherwise perform the exchange action by announcement; (2) the seller CAN transfer the tender to the buyer by announcement. When the exchange is made, that buyer performs the exchange action, and immediately afterwards the tender is transferred from the seller to the buyer. If either portion of the trade fails, both fail (no exchange action is performed and no tender is transferred).