diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 26e6c485f32ef6f97ccc02ef1b31a60c698895ba..83db4548ded7200616f4f8b4d6d92c74481f41dd 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -216,6 +216,7 @@ set(viewer_SOURCE_FILES
     llfloaternotificationsconsole.cpp
     llfloaterobjectweights.cpp
     llfloateropenobject.cpp
+    llfloateroutbox.cpp
     llfloaterpay.cpp
     llfloaterperms.cpp
     llfloaterpostprocess.cpp
@@ -789,6 +790,7 @@ set(viewer_HEADER_FILES
     llfloaternotificationsconsole.h
     llfloaterobjectweights.h
     llfloateropenobject.h
+    llfloateroutbox.h
     llfloaterpay.h
     llfloaterperms.h
     llfloaterpostprocess.h
diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml
index a44b895f7bcf1b79f486065ec9b8cb3ecf2cf447..c12d22adc32b64f4dc7813babf7fe883ad41dfbb 100644
--- a/indra/newview/app_settings/commands.xml
+++ b/indra/newview/app_settings/commands.xml
@@ -135,6 +135,16 @@
            is_running_function="Floater.IsOpen"
            is_running_parameters="moveview"
            />
+  <command name="outbox"
+           available_in_toybox="true"
+           icon="Command_Outbox_Icon"
+           label_ref="Command_Outbox_Label"
+           tooltip_ref="Command_Outbox_Tooltip"
+           execute_function="Floater.ToggleOrBringToFront"
+           execute_parameters="outbox"
+           is_running_function="Floater.IsOpen"
+           is_running_parameters="outbox"
+           />
   <command name="people"
            available_in_toybox="true"
            icon="Command_People_Icon"
diff --git a/indra/newview/llfloateroutbox.cpp b/indra/newview/llfloateroutbox.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..8fea3d674e4c76252b39529a06712f50bb3e8fa8
--- /dev/null
+++ b/indra/newview/llfloateroutbox.cpp
@@ -0,0 +1,68 @@
+/** 
+ * @file llfloateroutbox.cpp
+ * @brief Implementation of the merchant outbox window
+ *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, Linden Research, Inc.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ * 
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA
+ * $/LicenseInfo$
+ */
+
+#include "llviewerprecompiledheaders.h"
+
+#include "llfloateroutbox.h"
+
+#include "llfloaterreg.h"
+#include "lltransientfloatermgr.h"
+
+
+///----------------------------------------------------------------------------
+/// LLFloaterOutbox
+///----------------------------------------------------------------------------
+
+LLFloaterOutbox::LLFloaterOutbox(const LLSD& key)
+	: LLFloater(key)
+	, mPanelOutboxInventory(NULL)
+{
+	LLTransientFloaterMgr::getInstance()->addControlView(this);
+}
+
+LLFloaterOutbox::~LLFloaterOutbox()
+{
+	LLTransientFloaterMgr::getInstance()->removeControlView(this);
+}
+
+BOOL LLFloaterOutbox::postBuild()
+{
+	return TRUE;
+}
+
+void LLFloaterOutbox::onOpen(const LLSD& key)
+{
+	//LLFirstUse::useInventory();
+}
+
+void LLFloaterOutbox::onClose(bool app_quitting)
+{
+	LLFloater::onClose(app_quitting);
+	if (mKey.asInteger() > 1)
+	{
+		destroy();
+	}
+}
diff --git a/indra/newview/llfloateroutbox.h b/indra/newview/llfloateroutbox.h
new file mode 100644
index 0000000000000000000000000000000000000000..cb5c2be81c4a998c381da846fc11206f34ffbe52
--- /dev/null
+++ b/indra/newview/llfloateroutbox.h
@@ -0,0 +1,56 @@
+/** 
+ * @file llfloateroutbox.h
+ * @brief LLFloaterOutbox
+ * class definition
+ *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, Linden Research, Inc.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * ABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ * 
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA
+ * $/LicenseInfo$
+ */
+
+#ifndef LL_LLFLOATEROUTBOX_H
+#define LL_LLFLOATEROUTBOX_H
+
+#include "llfloater.h"
+#include "llfoldertype.h"
+
+class LLInventoryPanel;
+
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+// Class LLFloaterOutbox
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+class LLFloaterOutbox : public LLFloater
+{
+public:
+	LLFloaterOutbox(const LLSD& key);
+	~LLFloaterOutbox();
+
+	BOOL postBuild();
+
+	// Inherited functionality
+	/*virtual*/ void onOpen(const LLSD& key);
+	/*virtual*/ void onClose(bool app_quitting);
+
+private:
+	LLInventoryPanel* mPanelOutboxInventory;
+};
+
+#endif // LL_LLFLOATEROUTBOX_H
diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp
index acbc5f8fb6fd3186f97af72f1e08d17e1d63d294..24070018c27c863f5c563c36d2b3b6be1faea168 100644
--- a/indra/newview/llviewerfloaterreg.cpp
+++ b/indra/newview/llviewerfloaterreg.cpp
@@ -82,6 +82,7 @@
 #include "llfloaternotificationsconsole.h"
 #include "llfloaterobjectweights.h"
 #include "llfloateropenobject.h"
+#include "llfloateroutbox.h"
 #include "llfloaterpay.h"
 #include "llfloaterperms.h"
 #include "llfloaterpostprocess.h"
@@ -237,6 +238,7 @@ void LLViewerFloaterReg::registerFloaters()
 
 	LLFloaterReg::add("object_weights", "floater_object_weights.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterObjectWeights>);
 	LLFloaterReg::add("openobject", "floater_openobject.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterOpenObject>);
+	LLFloaterReg::add("outbox", "floater_merchant_outbox.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterOutbox>);
 	LLFloaterReg::add("outgoing_call", "floater_outgoing_call.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLOutgoingCallDialog>);
 	LLFloaterPayUtil::registerFloater();
 
diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml
index 8702ebde2ab5ea8aee4ef691e0b36f611ba8c503..5da1276881286c2589f5d0cdea789ab06ac909a4 100644
--- a/indra/newview/skins/default/textures/textures.xml
+++ b/indra/newview/skins/default/textures/textures.xml
@@ -137,6 +137,7 @@ with the same filename but different name
   <texture name="Command_MiniCart_Icon"     file_name="toolbar_icons/mini_cart.png"    preload="true" />
   <texture name="Command_MiniMap_Icon"      file_name="toolbar_icons/mini_map.png"     preload="true" />
   <texture name="Command_Move_Icon"         file_name="toolbar_icons/move.png"         preload="true" />
+  <texture name="Command_Outbox_Icon"       file_name="toolbar_icons/outbox.png"       preload="true" />
   <texture name="Command_People_Icon"       file_name="toolbar_icons/people.png"       preload="true" />
   <texture name="Command_Picks_Icon"        file_name="toolbar_icons/picks.png"        preload="true" />
   <texture name="Command_Places_Icon"       file_name="toolbar_icons/places.png"       preload="true" />
diff --git a/indra/newview/skins/default/textures/toolbar_icons/outbox.png b/indra/newview/skins/default/textures/toolbar_icons/outbox.png
new file mode 100644
index 0000000000000000000000000000000000000000..9fcf46794d1374c08e3b0407515867289a6c3f90
Binary files /dev/null and b/indra/newview/skins/default/textures/toolbar_icons/outbox.png differ
diff --git a/indra/newview/skins/default/xui/en/floater_merchant_outbox.xml b/indra/newview/skins/default/xui/en/floater_merchant_outbox.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2f8a83c072c2c537ace0a531cbbac45076f9f3f3
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/floater_merchant_outbox.xml
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<floater
+ open_positioning="cascading"
+ can_close="true"
+ can_resize="true"
+ height="400"
+ help_topic="floater_merchant_outbox"
+ min_width="333"
+ min_height="440"
+ name="floater_merchant_outbox"
+ save_rect="true"
+ save_visibility="true"
+ reuse_instance="true"
+ title="MERCHANT OUTBOX"
+ width="333" >
+ <panel
+      follows="all"
+      layout="topleft"
+      left="0"
+      name="marketplace_outbox"
+      class="panel_marketplace_outbox"
+      top="0"
+      label=""
+      height="400"
+      width="330">
+     <string name="OutboxLabelWithArg">Merchant outbox ([NUM])</string>
+     <string name="OutboxLabelNoArg">Merchant outbox</string>
+     <button
+        label="Merchant outbox"
+        font="SansSerifMedium"
+        name="outbox_btn"
+        height="35"
+        width="308"
+        image_unselected="MarketplaceBtn_Off"
+        image_selected="MarketplaceBtn_Selected"
+        halign="left"
+        handle_right_mouse="false"
+        follows="top|left|right"
+        is_toggle="true"
+        tab_stop="false"
+        pad_left="35"
+        top="0"
+        left="10" />
+     <button
+         image_unselected="OutboxPush_Off"
+         image_selected="OutboxPush_Selected"
+         image_hover_selected="OutboxPush_Selected_Over"
+         image_hover_unselected="OutboxPush_Over"
+         image_disabled_selected="OutboxPush_Selected_Disabled"
+         image_disabled="OutboxPush_Disabled"
+         image_pressed="OutboxPush_Press"
+         image_pressed_selected="OutboxPush_Selected_Press"
+         label=""
+         tool_tip="Push to my Marketplace Storefront"
+         is_toggle="false"
+         name="outbox_sync_btn"
+         follows="top|right"
+         tab_stop="false"
+         halign="center"
+         top="6"
+         left="-50"
+         height="23"
+         width="32"
+         enabled="false" />
+     <loading_indicator
+        follows="top|right"
+        name="outbox_sync_indicator"
+        top="6"
+        left="-50"
+        height="23"
+        width="32"
+        images_per_sec="1.15"
+        tab_stop="false"
+        visible="false">
+         <images>
+             <image name="OutboxPush_Progress_1"/>
+             <image name="OutboxPush_Progress_2"/>
+             <image name="OutboxPush_Progress_3"/>
+             <image name="OutboxPush_Progress_4"/>
+             <image name="OutboxPush_Progress_5"/>
+             <image name="OutboxPush_Progress_6"/>
+         </images>
+     </loading_indicator>
+     <panel
+        follows="all"
+        left="10"
+        bottom="400"
+        width="308"
+        top="35"
+        bg_opaque_color="InventoryBackgroundColor"
+        background_visible="true"
+        background_opaque="true"
+        >
+		<panel
+			name="outbox_inventory_placeholder_panel"
+			follows="all"
+			layout="topleft"
+			top="0"
+			left="0"
+			width="308"
+			height="365"
+			bg_opaque_color="InventoryBackgroundColor"
+			background_visible="true"
+			background_opaque="true"
+			>
+			<text
+				name="outbox_inventory_placeholder_title"
+				type="string"
+				follows="all"
+				layout="topleft"
+				top="10"
+				left="0"
+				width="308"
+				height="25"
+				wrap="true"
+				halign="center"
+				font="SansSerifBold">
+				Loading...
+			</text>
+			<text
+				name="outbox_inventory_placeholder_text"
+				type="string"
+				follows="all"
+				layout="topleft"
+				top="35"
+				left="0"
+				width="308"
+				height="130"
+				wrap="true"
+				halign="left" />
+		</panel>
+    </panel>
+ </panel>
+</floater>
diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml
index 493d44a9cf85921f44f0ae36d1a3d22a050c974e..72e6187a14d1fbb530ae112f39481347a7242cfe 100644
--- a/indra/newview/skins/default/xui/en/floater_toybox.xml
+++ b/indra/newview/skins/default/xui/en/floater_toybox.xml
@@ -5,7 +5,7 @@
   can_minimize="false"
   can_resize="false"
   default_tab_group="1"
-  height="330"
+  height="375"
   help_topic="toybox"
   layout="topleft"
   legacy_header_height="18"
@@ -46,7 +46,7 @@
       Buttons will appear as shown or as icon-only depending on each toolbar's settings.
   </text>
   <toolbar
-    bottom="265"
+    bottom="310"
     button_display_mode="icons_with_text"
     follows="all"
     left="20"
@@ -82,11 +82,11 @@
   <panel
     bevel_style="none"
     border="true"
-    bottom="266"
+    bottom="311"
     follows="left|bottom|right"
     left="20"
     right="-20"
-    top="266" />
+    top="311" />
   <button
     follows="left|bottom|right"
     height="23"
@@ -95,7 +95,7 @@
     layout="topleft"
     left="185"
     name="btn_clear_all"
-    top="285"
+    top="330"
     width="130">
     <button.commit_callback function="Toybox.ClearAll" />
   </button>
@@ -107,7 +107,7 @@
     layout="topleft"
     left="335"
     name="btn_restore_defaults"
-    top="285"
+    top="330"
     width="130">
     <button.commit_callback function="Toybox.RestoreDefaults" />
   </button>
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index befcc5dd87a40cb9b411b4ef8151bb2ce448de79..105c6095e6ad05dc490efb5f915059495c285869 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -3675,6 +3675,7 @@ Try enclosing path to the editor with double quotes.
   <string name="Command_Marketplace_Label">Marketplace</string>
   <string name="Command_MiniMap_Label">Mini-map</string>
   <string name="Command_Move_Label">Move</string>
+  <string name="Command_Outbox_Label">Merchant outbox</string>
   <string name="Command_People_Label">People</string>
   <string name="Command_Picks_Label">Picks</string>
   <string name="Command_Places_Label">Places</string>
@@ -3700,6 +3701,7 @@ Try enclosing path to the editor with double quotes.
   <string name="Command_Marketplace_Tooltip">Go shopping</string>
   <string name="Command_MiniMap_Tooltip">Show nearby people</string>
   <string name="Command_Move_Tooltip">Moving your avatar</string>
+  <string name="Command_Outbox_Tooltip">Transfer items to your marketplace for sale</string>
   <string name="Command_People_Tooltip">Friends, groups, and nearby people</string>
   <string name="Command_Picks_Tooltip">Places to show as favorites in your profile</string>
   <string name="Command_Places_Tooltip">Places you've saved</string>