# Business account FAQ

Answers about business accounts, members and roles, test and live applications, earnings, payouts, and what your users see.

## What is a business account?

A business account is where you register applications, manage their keys, read
traffic and earnings, and set up payouts. It is separate from a personal Enlitt
account: a personal account is for using applications, a business account is for
building them. The two kinds never share a balance, a plan, or an identity.

You create the business once, after your first business sign-in, and you become
its **owner**. Create applications under **Apps** in the
[dashboard](/dashboard/business/apps), or with `npx enlitt app create`
(see [the CLI](/docs/cli.md)).

## Who can sign in, and what can each role do?

A business is acted for by several logins. Each member has one role, and a role is
a fixed set of permissions. A page or command checks the permission, not the name.

| Role        | May do                                                                                              |
| ----------- | --------------------------------------------------------------------------------------------------- |
| `owner`     | Everything: applications, keys, members, payouts, payout account setup, and transferring ownership. |
| `admin`     | View stats, create and edit applications, and manage members.                                       |
| `developer` | View stats, and create and edit applications.                                                       |
| `viewer`    | View stats (traffic, earnings, payout status, and key metadata).                                    |

Today only the owner creates, rotates, or revokes keys, and only the owner
requests payouts, sets up the payout account, or transfers ownership. A member can
never grant a role holding a permission they lack, and a business always has
exactly one owner. Invite and remove members under **Members**, which needs the
members permission.

If the CLI answers `insufficient_permissions`, your role does not allow the action.
Its `action` says who can do it. Run `npx enlitt whoami` to see your role and the
commands it allows; the full table is in [CLI roles](/docs/cli.md#roles-what-your-sign-in-can-do).

## Can I belong to more than one business?

Yes. One login can own one business and be a member of any number of others.
In the dashboard, the business menu at the top of the sidebar shows the business
you are working in and your role in it; open it to switch. **All businesses and
invitations** in that menu lists every business you can reach and the
invitations waiting for you, where you can accept or decline them.

A CLI sign-in acts for one business, chosen on the approval page. To use the CLI
for another business, run `npx enlitt login` again and pick that business when
you approve.

## What is the difference between test and live?

Each application is either `test` or `live`.

* A `test` application is for an unpublished integration. The consent screen tells
  users it is a test application.
* A `live` application is published.
* **Both consume real credits and earn real money.** There is no simulated
  spending or separate pool. See [Test and live applications](/docs/environments.md).
* Keys carry their application's environment, and an existing key never changes
  environment. Create a new application and key for live use.

## How do I earn?

You earn only from premium calls. Each premium credit a user spends in your
application pays your business &#x2A;*800,000 NANOUSD (`$0.0008`)**. Standard calls
earn nothing. Earnings accrue as the calls settle and are available to pay out
as soon as they are earned, subject to the payout policy below.

A premium call you declare with a maximum charge and report with a lower actual
charge pays on the actual charge. A failed call is free. See
[Models and pricing](/docs/models.md) and [Spending limits](/docs/premium-limits.md).

## How and when do I get paid out?

The published payout policy is a **$50 minimum** and a **30-day cadence**, in
practice at most one payout per calendar month. The owner sets up the payout
destination through Enlitt's payment provider under **Settings** in the dashboard
and requests the payout under **Billing**. Payouts are not available from the CLI.

Whether you can be paid now is in your reporting data. `payout.eligible` is `true`
or `false`, and when `false`, `payout.blocked_reason` names the first rule that
refused: `below_minimum`, `monthly_payout_taken`, `payout_account_incomplete`,
`tax_details_required`, `outstanding_deficit`, `payout_pending`, or
`payout_blocked`. Read it with `npx enlitt business info --json`
(see [Business reporting](/docs/business-reporting.md)).

For anything about payout timing beyond this, contact Enlitt support.

## What do my users see?

* **Sign-in and authorization.** Users sign in to your application with their
  Enlitt account and review your application once, on a consent screen showing
  its name, icon, and description.
* **A cost disclosure.** When enough of your premium calls have been charged, the
  consent screen shows the typical and the largest charge per premium call. It
  shows nothing when there is too little data, never a placeholder.
* **Their own per-call limit.** Each user sets how many premium credits one call
  may cost in your application, and the default is zero, so premium calls are
  blocked until they raise it. They can also revoke your application at any time.
  Your application cannot propose or change that limit.
* **A refusal, not a surprise.** A call over the limit or over their balance is
  refused with a typed error, so your application can tell them what to do.
  See [Errors and recovery](/docs/errors.md).

## What plans do users have?

Personal plans are the same for every application. Users choose one on the
Billing page of their Enlitt dashboard:

| Plan      | Price       | Premium credits per month | Standard credits per month |
| --------- | ----------- | ------------------------- | -------------------------- |
| Free      | $0          | 0                         | 1,000                      |
| Starter   | $10 a month | 5,000                     | 5,000                      |
| Unlimited | $15 a month | 10,000                    | Not metered                |

Standard usage draws from the plan's included allowance. Premium requests draw
from premium credits, capped at the limit the user sets for your application.

A premium call spends its final price in credits at the same 800,000 NANOUSD
(`$0.0008`) per credit, rounded up to the next thousandth of a credit. For
example, a call that charges $0.005 spends 6.25 premium credits.

## How do I do the dashboard-only tasks?

These steps happen in the browser. The CLI cannot do them for any role.

* **Create a business.** Go to [Sign in](/login), choose **Business**, and sign
  in with Google or an emailed code. With no business yet, the start page shows
  a form: enter the business name and create it. You become its owner.
* **Join a business.** An invitation arrives by email at your sign-in address.
  Sign in as **Business**, then accept or decline it under **All businesses and
  invitations** in the business menu at the top of the sidebar.
* **Set up payouts** (owner). Open **Settings** and choose **Add payout method**
  on the **Payout method** card. Enlitt sends you to Stripe to enter your
  identity, tax, and bank details; Enlitt never sees them. When Stripe sends you
  back, the badge shows the status. If it is not yet **Active**, choose **Update
  payout method** to finish what Stripe still needs.
* **Request a payout** (owner). Open **Billing** and choose **Pay out** on the
  **Earnings** card, enter the amount, and confirm. A greyed button's tooltip
  says why you cannot be paid yet.
* **Invite, change, or remove members** (owner or admin). Open **Members**, enter
  an email and a role in the invite form, and send it. Change a role or remove a
  member from their row. Removal does not revoke the API keys that member made;
  revoke those under **Keys**.
* **Transfer ownership** (owner). On **Members**, choose transfer on the new
  owner's row and confirm. You become an admin, and you cannot undo it yourself.
* **Change your sign-in email.** Open **Settings**, choose **Change email** on the
  **Sign-in email** card, enter the new address, and type the six-digit code
  sent to it. Invitations sent to your old address no longer appear.
* **Leave a business** (any member but the owner). On **Members**, choose leave
  on your own row. If your role cannot open **Members**, ask an owner or admin
  to remove you.

## Where does each task live?

| Task                                         | Dashboard            | CLI                                             |
| -------------------------------------------- | -------------------- | ----------------------------------------------- |
| Create or edit an application                | Apps                 | `enlitt app create`, `enlitt app update`        |
| Create, rotate, or revoke a key              | Keys                 | `enlitt key create`, `key rotate`, `key revoke` |
| Read traffic and earnings                    | Overview, Apps       | `enlitt traffic`, `enlitt business info`        |
| Wire a project (client ID, key, env file)    | Not applicable       | `enlitt setup`, `enlitt doctor`                 |
| Request a payout, set up the payout account  | Billing, Settings    | Not available                                   |
| Invite, change, or remove members            | Members              | Not available                                   |
| Transfer ownership, change the sign-in email | Members, Settings    | Not available                                   |
| Create a business                            | First sign-in        | Not available                                   |
| Change account settings                      | Settings             | Not available                                   |
| Revoke a CLI sign-in                         | Settings, CLI access | `enlitt logout`                                 |
