---
updatedAt: 2026-09-04T14:05:25.000Z
agentTools:
  projectIndex: https://docs.skyfire.xyz/llms.txt
---

# Platform Structure

How Skyfire is organized: users, agents, wallets, and seller services.

Skyfire follows the hierarchy:

* A **User** owns one or more **agent accounts**
* Each agent has its own **wallet**
* **Seller agents** publish **Seller Services** that buyers pay for with tokens

***

## Users

A **User** is the top-level entity on Skyfire, representing a person or an organization. A user maintains a single verified identity and controls everything beneath it: agent accounts, API keys, and wallet access.

That verified identity can be reused by the user's agents for account creation, authentication, and access to seller services.

***

## Agent Accounts

Agent accounts are the operational entities that call the Skyfire APIs. Each agent belongs to exactly one user, holds exactly one role — **Buyer** or **Seller** — and is accessed programmatically through its own API keys.

<br />

> **What each user gets**
>
> * One **Buyer agent**, created automatically at signup
> * One optional **Seller agent**, created from the <Anchor target="_blank" href="https://app.skyfire.xyz">Skyfire Dashboard</Anchor>
>
> Each agent can hold one or more API keys for secure access.

<br />

<Cards columns="2">
  <Card title="Buyer Agent" icon="fa-cart-shopping">
    Acts on the user's behalf to discover and purchase services or tools from sellers.

    - Creates accounts with seller services
    - Subscribes to or purchases services
    - Generates `kya` (identity), `pay` (payment), and `kya-pay` (both) tokens

    Each buyer agent has a **wallet** funded by the user. When calling a seller, the buyer attaches the token the seller requires (in an HTTP header or the request body).
  </Card>

  <Card title="Seller Agent" icon="fa-store">
    Lets a user publish and monetize services, tools, or APIs.

    - Registers **Seller Services**
    - Defines identity and payment requirements for buyer requests
    - Verifies incoming tokens via standard JWKS libraries to authenticate the buyer (`kya`) and charges them (`pay` / `kya-pay`)

    Seller agents must be created explicitly from the Skyfire Dashboard, and receive payment through Skyfire's settlement system once a service is delivered.
  </Card>
</Cards>

### Wallets

Every agent account comes with a wallet managed by Skyfire.

* **Buyers** fund their wallet to pay for services and tools.
* **Sellers** receive funds after charging a buyer's token and delivering the service.

Skyfire handles settlement and the transfer of funds between wallets once a transaction succeeds.

***

## Seller Services

A **Seller Service** is a resource that a seller agent makes available to buyers. A single seller agent can offer many seller services, and each one can be a remote or local **MCP server**, an **API**, **webpage**, or **Fetch.ai&#x20;**&#x61;gent.

Every Seller Service specifies:

* **Pricing**
* **Identity requirements**
* **Accepted token types**
* **Token format and delivery method** (e.g. the `kyapay-token` HTTP header)

<Cards columns="2">
  <Card title="Paid services" icon="fa-coins">
    Require a `pay` or `kya-pay` token.
  </Card>

  <Card title="Free services" icon="fa-id-badge">
    Require a `kya` token (identity only).
  </Card>
</Cards>

For more information see [How Seller Services Work](/docs/seller-services).