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

# Sell an actor

> What you can list in the General Store, how people pay for it, how to get it ready, and how to submit it

List an actor you built in the General Store, where people hire what already works. They pay you, and the actor does the job for them.

You can list three kinds of thing:

* **An actor** people hire to do work for them.
* **A model** people run from the Store, either open weights or one you serve.
* **A data feed** that actors read.

The rest of this page covers actors. Models and feeds go through the same [submission form](#submit-it).

## Choose how people pay

Decide this before you submit. A listing can offer one price or several:

| Price | What the hirer pays | Good for |
| - | - | - |
| **Free** | No hire fee | Getting it in front of people |
| **One time** | Once, and they keep access | A tool that costs you little to keep offering |
| **Subscription** | Each period, from the money they put into the hire | Work that runs all the time |
| **Per use** | For what they use, such as per call or per result, or both | Work that varies a lot from one hirer to the next |

Each payment is split among the accounts you name, in the same transaction, and a hire keeps the split it started with. You could pay a collaborator a share, for example. [CIP-33](https://docs.cowboy.inc/cips/cip-33-actor-hiring-and-distribution.md#24-pricing-terms) covers how each price is charged.

## Decide who pays to run it

Hirers see this before they pay ([Hire an actor](https://docs.cowboy.inc/getting-started/hire-from-the-store.md#what-a-hire-gets-you)):

* **On their account.** Each hire gets its own instance of your actor, and its balance pays for the work. Your price is for the actor itself.
* **On your account.** Hirers use your actor, so you pay for its work, and their requests and results pass through your account. Your price has to cover that cost.

## Get it ready

A hired actor runs without you watching it, for people you've never met. Before you submit:

* **Run it for real.** [Deploy it](https://docs.cowboy.inc/build/deploy.md) and use it long enough to see it do its job, and fail, on Cloud.

* **Only serve people who hired it.** Check the caller in any handler that does paid work, once per request, because each check can spend one of the hire's uses. The node knows who holds a hire:

  ```python theme={"system"}
  from cowboy_sdk import Actor, public, runtime


  def may_use(hire_id: int, caller: object) -> bool:
      signed_hire = runtime.hire_id()
      if signed_hire is not None:
          return signed_hire == hire_id
      return runtime.is_allowed_caller(hire_id, caller)


  class Worker(Actor):
      @public
      def work(self, request: dict) -> None:
          if not may_use(request["hire_id"], self.sender):
              raise ValueError("hire this actor first")
          self.storage["last_request"] = request["text"]
  ```

* **Stop one hirer from draining it.** Your actor pays for each job it starts, so limit how much one caller can ask for ([Keep an actor safe](https://docs.cowboy.inc/build/sdk/safety.md)).

* **Plan for what you can't change.** Hirers get the code you deployed, so a fix means a new version. Give the actor a way to stop, and a way for people to take out any money they leave in it.

* **Keep hirers' secrets out of its state.** State is public. Keys belong in the secret store, and private files in private volumes ([Your keys and your data](https://docs.cowboy.inc/hire/keys-and-data.md)).

The [smallest actor you can list](https://github.com/cowboyinc/docs/tree/main/examples/gallery/hello-world) is a good way to try the path.

## Submit it

Fill in the form at [cloud.cowboy.inc](https://cloud.cowboy.inc/general-store/submit) while signed in. Say what the actor does, where to find it and how to reach you, along with anything else that helps someone judge it.

Someone at Cowboy reads every submission. You can follow its progress in the General Store, where any note from Cowboy appears. Submitting doesn't publish anything: if it's approved, Cowboy gets in touch about listing it.

## Next

* [Hire an actor](https://docs.cowboy.inc/getting-started/hire-from-the-store.md) shows what your buyers see.
* [Keep an actor safe](https://docs.cowboy.inc/build/sdk/safety.md) covers limits and pausing.
* [Deploy and operate](https://docs.cowboy.inc/build/deploy.md) covers keeping an actor funded.


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