> ## Documentation Index
> Fetch the complete documentation index at: https://docs.echoauth.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# SMM Panel Automation Setup guide

> Go from license key to live, automated SMM order delivery in your own SellAuth shop.

EchoAuth connects your **SellAuth shop** to your **SMM panel**. When a buyer purchases a product, SellAuth calls your personal Dynamic Delivery URL, and EchoAuth places the order on your panel automatically.

This guide walks you through the full setup, from buying a license to your first delivered order.

<Info>
  **Before you start, have these ready:**

  * A SellAuth shop with the products you want to automate
  * An SMM panel account with API access (API URL + API key)
  * A Discord webhook URL for order notifications (optional but recommended)
</Info>

## Setup

<Steps>
  <Step title="Buy a license">
    Purchase a license from the [EchoAuth shop](https://shop.echoauth.dev/product/social-media-panel-automation). After checkout you receive a **license key** — keep it handy for the next step.

    <Tip>
      Every preset license includes a **+2 day setup buffer**, so a 1-month license gives you 32 days.
    </Tip>
  </Step>

  <Step title="Create your account">
    Go to the **Register** page and fill in a username, email, password, and the license key you just received, then click **Register**.

    <Frame caption="Register with the license key from your purchase.">
      <img src="https://mintcdn.com/echoauth/nPBjNPpiTJhDj_Yy/images/setup/01-register.png?fit=max&auto=format&n=nPBjNPpiTJhDj_Yy&q=85&s=c7693ec8f6baf693c34687d28d3e1b65" alt="Registration form with username, email, password and license key" width="1920" height="1200" data-path="images/setup/01-register.png" />
    </Frame>

    Right after registering, EchoAuth automatically provisions your own isolated order-processor. This can take a moment.

    <Note>
      If you see a **"provisioning failed"** notice, don't worry. Finish the Settings step below, then click **Rebuild** on the Overview page. Contact support if it keeps failing.
    </Note>
  </Step>

  <Step title="Open your dashboard">
    You land on the **Overview** page. It shows your license expiry, your Dynamic Delivery URLs, and your infrastructure status.

    Your delivery URLs won't appear yet — first you need to set your SellAuth Shop ID.

    <Frame caption="A fresh account: the Overview asks you to set your Shop ID first.">
      <img src="https://mintcdn.com/echoauth/nPBjNPpiTJhDj_Yy/images/setup/03-overview-empty.png?fit=max&auto=format&n=nPBjNPpiTJhDj_Yy&q=85&s=f9cc700e01ae973be5ba05231a675442" alt="Overview page prompting to set the SellAuth Shop ID" width="1920" height="1200" data-path="images/setup/03-overview-empty.png" />
    </Frame>
  </Step>

  <Step title="Fill in your Settings">
    Open the **Settings** tab. **Set your SellAuth Shop ID first** — it routes incoming orders to your account and becomes part of your delivery URL (letters, numbers, hyphens and underscores only).

    Then fill in the rest of your credentials:

    | Field | Where to find it |
    | - | - |
    | **SellAuth Shop ID** | [dash.sellauth.com/api](https://dash.sellauth.com/api) |
    | **Panel API URL** | Your SMM panel's API endpoint, e.g. `smmpanel.com/api/v2` |
    | **SellAuth API Key** | [dash.sellauth.com/api](https://dash.sellauth.com/api) |
    | **SellAuth Webhook Secret** | [dash.sellauth.com/shop#miscellaneous](https://dash.sellauth.com/shop#miscellaneous) |
    | **Panel API Key** | Your SMM panel's account section |
    | **Discord Webhook URL** | Where order notifications and license expiry warnings are sent |
    | **Discord User ID** | Who gets @-mentioned on low-balance alerts |
    | **Low balance alert threshold** | Suggested \$10–20 |
    | **Default quantity multiplier** | Used for any service ID without its own rule on the Config tab |

    Click **Save settings**.

    <Frame caption="Settings filled in (secrets masked).">
      <img src="https://mintcdn.com/echoauth/nPBjNPpiTJhDj_Yy/images/setup/05-settings-filled.png?fit=max&auto=format&n=nPBjNPpiTJhDj_Yy&q=85&s=d1a8f2bcb635017efbccedd0d8584c7d" alt="Settings page with all credentials filled in" width="1920" height="2013" data-path="images/setup/05-settings-filled.png" />
    </Frame>

    <Warning>
      Panel API credentials are only picked up by your order processor after a **Rebuild**. You'll do that at the end of setup.
    </Warning>
  </Step>

  <Step title="Configure your services">
    Open the **Config** tab. It controls how incoming orders are turned into panel orders. Each section has its own **Add** and **Save** button — nothing is stored until you click Save.

    <Frame caption="Config tab with three service IDs, a quantity rule and two link rules.">
      <img src="https://mintcdn.com/echoauth/nPBjNPpiTJhDj_Yy/images/setup/06-config.png?fit=max&auto=format&n=nPBjNPpiTJhDj_Yy&q=85&s=74a5ce746c42a6b0d046153b6b8809ef" alt="Config page showing service ID allow-list, quantity multipliers and link rules" width="1920" height="2378" data-path="images/setup/06-config.png" />
    </Frame>

    <AccordionGroup>
      <Accordion title="Service ID allow-list (required)" icon="list-check">
        Add every panel service ID you sell (up to 5,000). Any order for a service ID **not** on this list is rejected. Give each one an optional name (e.g. "Instagram Followers HQ") to keep long lists searchable — names are labels only.

        Click **Save service IDs**. Takes effect immediately.
      </Accordion>

      <Accordion title="Per-service quantity multipliers" icon="calculator">
        Some panels count quantity in different units (e.g. 1 unit = 1000 followers). Set a multiplier per service ID. Anything without a rule uses the default multiplier from Settings.

        Click **Save quantity rules**. Takes effect immediately.
      </Accordion>

      <Accordion title="Per-service link rules" icon="link">
        Choose how the buyer's custom field becomes a link:

        * **A platform** (Instagram, YouTube, TikTok, Twitch, X, Kick, Threads) — the buyer's username is turned into the right profile URL automatically.
        * **Use custom field as raw link** — the buyer provides the full link themselves.

        Click **Save link rules**. Requires a **Rebuild** to apply.
      </Accordion>
    </AccordionGroup>
  </Step>

  <Step title="Rebuild">
    Go back to **Overview** and click **Rebuild**. This pushes your Settings and link rules to your running order processor. Check that **Infrastructure status** shows **success**.
  </Step>

  <Step title="Connect your SellAuth products">
    The **Overview** page now lists one **Dynamic Delivery URL** per service ID. Each has the format:

    ```text theme={null}
    https://smm-delivery.echoauth.dev/<shopid>/deliver/<serviceid>
    ```

    For example, Shop ID `1234` selling service `7866` uses `https://smm-delivery.echoauth.dev/1234/deliver/7866`.

    <Frame caption="Copy each URL into the matching SellAuth product.">
      <img src="https://mintcdn.com/echoauth/nPBjNPpiTJhDj_Yy/images/setup/07-overview-urls.png?fit=max&auto=format&n=nPBjNPpiTJhDj_Yy&q=85&s=01a32ac4b475cfb64cb8253decb6b5f5" alt="Overview page listing Dynamic Delivery URLs with Copy buttons" width="1920" height="1485" data-path="images/setup/07-overview-urls.png" />
    </Frame>

    In your SellAuth dashboard, open each product (or variant), enable **Dynamic Delivery**, and paste the matching URL using the **Copy** button.

    <Check>
      That's it — your shop is now automated. Place a test order to confirm it lands on your panel.
    </Check>
  </Step>
</Steps>

## After setup

### Track your orders

The **Orders** tab is a read-only view of your own order history: invoice ID, service ID, quantity, link, panel order ID, status, cost, and timestamp.

<Frame caption="Orders tab showing an in-progress and a completed order.">
  <img src="https://mintcdn.com/echoauth/nPBjNPpiTJhDj_Yy/images/setup/08-orders.png?fit=max&auto=format&n=nPBjNPpiTJhDj_Yy&q=85&s=0968b29b4ff8a2512db44401d1df8bf5" alt="Orders table with two example orders" width="1920" height="1200" data-path="images/setup/08-orders.png" />
</Frame>

### Renew your license

The **License** tab shows your days remaining. To renew, enter a new license key and click **Renew License**.

<Frame caption="License tab: days remaining and renewal form.">
  <img src="https://mintcdn.com/echoauth/nPBjNPpiTJhDj_Yy/images/setup/09-license.png?fit=max&auto=format&n=nPBjNPpiTJhDj_Yy&q=85&s=d07f6138db5f37007b6e40b44a36c372" alt="License page with days remaining and renew form" width="1920" height="1244" data-path="images/setup/09-license.png" />
</Frame>

* New time is **added on top** of your current expiry — renewing early never costs you time.
* You get a Discord reminder **7 days before expiry** (to the webhook URL in Settings).
* If your license fully expires, your automation is shut down. Renewing reactivates and restarts it automatically.

## When do I need to Rebuild?

| Change | Rebuild needed? |
| - | - |
| Service ID allow-list | No — applies immediately |
| Quantity multipliers | No — applies immediately |
| Link rules | **Yes** |
| Any Settings field (API keys, panel URL, Discord, etc.) | **Yes** |

## Troubleshooting

<AccordionGroup>
  <Accordion title="My delivery URLs don't appear on the Overview">
    Set your **SellAuth Shop ID** on the Settings page and add at least one service ID on the Config tab.
  </Accordion>

  <Accordion title="Orders are rejected">
    Make sure the product's service ID is on your **Service ID allow-list** and that you clicked **Save service IDs**.
  </Accordion>

  <Accordion title="I changed my API key but orders still fail">
    Settings changes need a **Rebuild** from the Overview page before they take effect.
  </Accordion>

  <Accordion title="I registered before the shared delivery domain existed">
    Your old `<subdomain>.echoauth.online/hook{serviceid}` URLs keep working. Use the new `smm-delivery.echoauth.dev` URLs for any new products.
  </Accordion>
</AccordionGroup>
