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

# Retailer Accounts

> Who places your order at the retailer — Zinc's accounts by default, or your own.

Every order is placed on a real account at the retailer. By default that's Zinc's
problem, not yours: we buy the item on accounts we run and maintain, and your wallet
covers the cost. If you'd rather have orders placed on your own retailer account —
to keep your card, your loyalty program, or your purchase history in the loop — bring
your own account instead.

## The two models

| | Zinc buys (default) | Bring your own account |
| - | - | - |
| Whose retailer account | Zinc's | Yours |
| Setup | None | Save the credentials once |
| Who pays the retailer | Zinc | The payment method saved on your account |
| What your wallet is charged | Item cost + API fee | API fee only |
| Balance needed to place an order | `max_price` + API fee | API fee only |
| Account upkeep (2FA, verification codes) | Zinc's job | Yours |
| Loyalty, cashback, order history | — | Yours |

<Info>
  The API fee is \$1 per order by default. See [Wallet](/docs/v2/wallet) for funding and fees.
</Info>

## Zinc buys (default)

Send an order with no `retailer_credentials_id` and there's nothing to set up. Zinc
picks how to check out based on the retailer:

* **Guest checkout**, where the retailer allows it — a fresh checkout per order, no
  standing account involved.
* **A Zinc account**, where the retailer requires a login.

Either way Zinc pays the retailer, and your wallet is charged the item cost plus the
API fee once the order is placed. Your wallet needs to cover `max_price` + the fee at
order time, or the order fails with `insufficient_funds`. Keeping those accounts alive
— logins, verification challenges, lockouts — is our problem.

## Bring your own account

Two steps, and the second one is not optional:

<Steps>
  <Step title="Save the credentials">
    `POST /managed-accounts` with the retailer login, and the TOTP secret if the
    account has 2FA enabled. See
    [Retailer Credentials](/docs/v2/api-reference/configuration/managed-accounts) for the
    full setup, including email and SMS forwarding for verification codes.
  </Step>

  <Step title="Pass the account on each order">
    Send the account's `short_id` as `retailer_credentials_id` on the order.

    ```json theme={null}
    {
      "retailer_credentials_id": "zn_acct_a1b2c3d4",
      "products": [{ "url": "https://www.amazon.com/dp/B08N5WRWNW", "quantity": 1 }],
      "max_price": 5000,
      "shipping_address": { "...": "..." }
    }
    ```
  </Step>
</Steps>

<Warning>
  Saving a managed account does **not** by itself change how orders are placed. An order
  without `retailer_credentials_id` runs on Zinc's accounts even when you have your own
  accounts saved — Zinc never picks one for you. Pass it explicitly on every order that
  should use your account.
</Warning>

What changes once you do:

* **Zinc signs in as you and checks out with the payment method already saved on that
  account.** No card is sent to the checkout worker.
* **Your wallet is charged the API fee only.** The item cost never touches your wallet,
  because your own payment method paid the retailer directly. You only need the fee on
  hand to place an order.
* **The account must match the product.** A credential saved for one retailer can't be
  used on another retailer's product URL — the order is rejected at creation.
* **One order at a time per account.** Orders on the same account queue up and run
  sequentially, since an account only has one cart. See
  [Order Locking](/docs/v2/api-reference/configuration/managed-accounts#order-locking).
* **Account health is yours.** Verification challenges land in your inbox or on your
  phone, so set up
  [email](/docs/v2/api-reference/configuration/managed-accounts#email-forwarding) and
  [SMS](/docs/v2/api-reference/configuration/managed-accounts#sms-forwarding) forwarding, or
  orders will stall waiting on a code.

## Which should you use?

Default to letting Zinc buy — it's less to run, and account problems stop being yours.
Bring your own account when the purchase has to happen on a specific account: your own
card or credit line, a loyalty or cashback program, business pricing, tax-exempt
status, or a purchase history you need to keep in one place.

You can mix the two. The choice is per order, not per account.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.