---
description: Guide on how to run Walmart tasks on Hayha.
---

# Walmart

![](https://1118301084-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MZy3w3wu0X3uAZqF6pF%2Fuploads%2FKPM6lnlLYY158qYUsTMB%2FScreen%20Shot%202021-11-24%20at%208.19.39%20PM.png?alt=media\&token=f87da55a-320d-4214-8338-acf84b6d01fe)

## Task Input

* **OfferID** - `(Ex. 0CAEDEC4D94C4BBAB803AAF8A2667BF2)` - This is the best form of input for a task. While using OfferId, the task will skip loading the product page and immediately attempt to cart.&#x20;
* **URL** - `(Ex.` [`https://www.walmart.com/ip/-/12345`](https://www.walmart.com/ip/KetchupTest/15529427)`)` - The bot will just convert this into SKU, which is found at the end of URL.&#x20;
* **SKU**: `(Ex. 15529427)` - ProductID/Sku is found at the end of the URL

OfferIDs can be obtained from your cookgroups, monitors, and through the HTML of the product page. Using OfferID is more stable, because it will skip having to load the product page.\
Make sure you get your OfferIDs from a trusted source, it is possible for a person to send the wrong offer on purpose and try to get you to order something you do not want.

#### Max Price

The Max Price of a product refers to its price pre-shipping and pre-tax. You **must** use Max Price on all kinds of tasks (link, OfferID, and SKU). Max Price prevents third-party sellers from overcharging for a product. The Max Price check is per single item. Usually I like to increase Max Price to around 10-20% just to give it some leeway.

Let's say an item is $10 using a Price Match of $15 with a Quantity of 5 set making the order total around $50. Your task will pick up and attempt to checkout this item. Because it’s based on that single item cost rather than the total.

## Account Mode

Hayha supports the use of Walmart accounts as their **required** for consoles and other items.&#x20;

You can simply enable it by checking "**Use Accounts**" option and selecting an Account List.&#x20;

![](https://1118301084-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MZy3w3wu0X3uAZqF6pF%2Fuploads%2F6i9ojK2dUHK6nHIPTgbO%2Fimage.png?alt=media\&token=6e9a60d8-d1ee-41d4-b2e2-4d0d3a6529bb)

### Force Account to Match Profile

![Force Account to Match Profile Enabled.](https://1118301084-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MZy3w3wu0X3uAZqF6pF%2Fuploads%2FU4GEpUt1UE0vsMaxHaL0%2Fimage.png?alt=media\&token=601d1776-76a8-4cb1-a1f9-fe64e879c3a0)

**Enabled:** Tasks will **ONLY** run if they can find an account that matches the profile email. Tasks that cannot find an account matching the profile email will show Error`Failed Matching Account`.

**Disabled:** The task will use any account given to it.&#x20;

**How do we determine if an account matches the profile email?**  \
\
-Dot Trick `abcd@gmail.com` will match to `abc.d@gmail.com` \
-Plus Trick `abck+A@gmail.com` will match to `abck+D@gmail.com` \
-Capitalization `aBcd@gmail.com` will match to `abcd@gmail.com`

## Task Modes

* **Smart**
* **Experimental**
* **Account Gen**&#x20;

**Smart Mode** is extremely fast, but may encounter different errors that **Experimental** mode will not face.&#x20;

**Smart Mode has a 300 Task Limit** - It is still always a good idea to mix **Smart** mode tasks in with **Experimental**.

**Experimental Mode** is very different from **Smart** mode. It is starting to see more success as Walmart makes new changes. Currently we would suggest running more **Experimental** to Smart mode tasks. For example, 70-80% of your tasks should be **Experimental** And the other 20-30% can be **Smart**

**Account Gen Mode** only generates Walmart accounts. It will not attempt to add anything to cart or checkout. You need to make an account list and select it in the task menu with account gen mode. Start the tasks and every account made will be saved into that list.

## Monitor Modes

* **HTML**
* **Mobile**
* **API 1**
* **Experimental**&#x20;

The purpose of the monitor methods is so the task can load the `OfferId` for the product. It must select between third party offers, as well as multiple prices. Because of this, you are always required to provide a **Max Price** setting for the task.&#x20;

All of the methods more or less work the same, some may have higher security or get blocked so we have multiple as backups. Feel free to mix them around and test different ones and find what works best for you. **HTML** monitor mode will use a significant amount of data compared to the other modes. Overall usage in general should not be too high if tasks are set up properly.&#x20;

If you provide the task with `OfferID` as input, the monitor mode won't even be used - Which is why we suggest using `OfferId` when you are able to make things more simple for the task.

## Queue Handling

There are three different Queue Handling methods. **Queue 1** is the recommended and tested queue handling method we have been using since Walmart implemented Queues to console drops. **Queue 2** and **Queue 3** are still being tested to see how good they handle it. We recommend prioritizing **Queue 1.**

## Advanced Monitor/Checkout Mode

Advanced Monitor/Checkout mode is for users who intend to run a large amount of items at once, and or run for extended periods of time. The Checkout tasks will perform slightly slower than in Default setup ( Normal task ), but the small different should not matter in most cases.

There are Three task modes for this setup, to view them in the task creation menu you must check **"Show Advanced Options"**

* **Default Task** - This is what a normal task is. If you don't want to use the monitor/checkout mode, this is the value the task uses.
* **Monitor Task** - This task mode will monitor a single SKU, and send a launch signal to any waiting Checkout tasks which have the same input. You may use either SKU or URL as input, but it does not accept OfferID.&#x20;
*   **Checkout Task** - This task mode will set itself up and wait for a launch signal from a monitor task. You may provide multiple sku's for a single checkout task to accept launches from.&#x20;

    You may use SKU or URL as input, SKU is smaller so it may be easier visually when you make a checkout task with multiple items in the input. OfferID is not supported.

    For example, one task may have the input `123456, 474747, 999993`

    This task could be launched by any of the three SKUs it was provided, given their corresponding monitor task picked up stock.

For **Monitor Tasks** we would recommend using **Gen 2** as the `PX Strategy`, it will be the most stable for high speed / long term running. You may use low cost proxies with cheap data, as long as they work. Different pools can be used in different Monitor tasks for the same item, to give a more secure coverage. The monitor tasks are linked together so they will synchronize and spread the delay between themselves when they are going for the same product ID

After **Checkout tasks** are started and get to Waiting for Product, they will consume no data.&#x20;

For **Checkout Tasks,** you must provide a **Runtime.** This specifies how long you want the task to attempt to checkout after monitor pickup. It is in milliseconds. For instance, a runtime of `300000` means tasks will attempt to checkout for `300 seconds` before returning to waiting for monitor tasks to detect a restock. We would recommend a runtime of 5 to 10 minutes, being 300000 to 600000 ms respectively.&#x20;

**Smart Mode** is not supported for checkout tasks

## Delays

Hayha is evolved beyond the need for monitor tasks. All tasks act as monitor tasks, when something is picked up every task with the same SKU all tasks will spring into action.&#x20;

For prolonged restocks for random items, we recommend running a large quantity of tasks with very high delays so you can scale your setup accordingly. The chances of proxy blocks are also lower using this method.

For instance, 50 tasks at 20000ms delay will use the same data as 1 task at 400ms delay and is recommended for long-term running. For prolonged restocks for random items, we recommend running a large quantity of tasks with very high delays. So you can scale your setup accordingly. Chances of proxy blocks are also lower using this method.

For instance, 50 tasks at 20000ms delay will use the same data as 1 task at 400ms delay and is recommended for long-term running.

Of course, more tasks will use slightly more data for things such as submitting orders, submitting billing, etc. but for large-scale monitoring the impact is the same.

## FAQ

**Can I run 24/7?**

Yes, please use the recommended modes and "Advanced Monitor/Checkout" modes.&#x20;

**How does price check work?**

It's based on the price per item.

**Do I need accounts to bot Walmart?**

You only need accounts mainly for consoles such as PS5s and XBOX Series X. Guest checkouts will work for the majority of the items.

**What do I put for "item quantity"?**

This will vary for each item for instance consoles are a limit 1 and trading cards can be up to a quantity of 12 max per order. You can even check the max quantity on their site sometimes by selecting the quantity drop down. Recently they have maxed out trading cards at a quantity of 4, but the bot sometimes is able to cart and order up to 12. When the site displays a max of 4 and the bot is able to cart more than that, it may be more risky and prone to cancellation.

**What are good statuses when running my tasks?**

Out Of Stock (ATC)\
Out Of Stock (Order)\
Error Out of Stock (Order), Retrying

**What is "Error Solving PX"?**

Proxy related issues if you get stuck on solving PX, try different proxies.

Always test your setup, I suggest running a test profile on an in-stock item to see if you get a decline/charge attempt.

**What is "400 Error"?**

Usually an error relating to the profile/billing information. Also can be caused by certain items.\
If you are using the UI and you see a task endlessly looping with this error, try to restart the task if you can.

**What is "444 Error"?**

Potentially a proxy error. It should fix itself after a while. If it does not, try a different task mode, proxy pool, or PX Strategy. Walmart has a lot of places where they give a 444 error, so it is hard to pinpoint the exact setting which may be causing it in your setup. 444 errors can also be caused when an item is not deliverable to a certain address (ie if it is pickup only). This can occur often during tests on low-cost items as many <$5 items will not ship.



