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

# Merchants: Your IteraPay Account Structure

> A merchant is the top-level account in IteraPay. It holds your crypto balances, fee configuration, transaction limits, and team members.

A merchant is the central account entity in IteraPay. Everything you do — creating invoices, receiving payments, managing team access, and withdrawing funds — happens within the context of a merchant account. Each merchant has a unique UUID that you supply in API paths to scope requests to your account.

## Account structure

When you create a merchant account, IteraPay provisions:

* A **unique merchant ID** (UUID) used in all API requests
* **Per-token balances** tracking how much of each supported cryptocurrency you hold
* A **fee configuration** defining what you pay for each operation type
* **Transaction limits** setting the minimum amounts for collecting and withdrawing funds
* A **roles and permissions system** for controlling team access

## Balances

Your merchant account maintains a separate balance for each payment method (cryptocurrency) you accept. You can retrieve your current balances at any time:

```http theme={null}
GET /merchants/{merchantID}/funds
```

The response lists each available payment method alongside its current balance. Balances reflect funds that have been received and settled — not funds that are pending confirmation on-chain.

<Info>
  Balances are denominated in the native token unit for each payment method. USD conversion uses the exchange rates configured in your account.
</Info>

## Fees

IteraPay charges fees based on the type of operation. You can inspect your fee structure at any time:

```http theme={null}
GET /merchants/{merchantID}/fees
```

<AccordionGroup>
  <Accordion title="onetime">
    Applied when a customer pays a one-time invoice. Charged as a percentage or flat amount per transaction.
  </Accordion>

  <Accordion title="reusable">
    Applied to each payment collected through a reusable invoice. A reusable invoice can be paid multiple times, and the fee applies to each individual payment.
  </Accordion>

  <Accordion title="collect">
    Applied when you sweep settled funds from an invoice into your main merchant balance.
  </Accordion>

  <Accordion title="withdrawal">
    Applied when you move funds from your merchant balance to an external on-chain address.
  </Accordion>
</AccordionGroup>

## Transaction limits

IteraPay enforces minimum amounts for collect and withdrawal operations. These limits exist to keep on-chain transaction fees proportionate to the transfer value. Retrieve your limits with:

```http theme={null}
GET /merchants/{merchantID}/limits
```

The response includes the minimum USD-equivalent amount you must collect or withdraw in a single operation. Attempts below the minimum will be rejected.

<Warning>
  If a customer sends an amount below your configured minimum collect threshold, those funds cannot be swept until additional payments bring the total above the limit.
</Warning>

## Roles and permissions (RBAC)

IteraPay uses role-based access control (RBAC) to let you grant team members the access they need without exposing your full account. Each role bundles a set of named permissions, and each member is assigned one or more roles.

### Viewing roles and permissions

To see what roles exist on your merchant account and which permissions each role includes:

```http theme={null}
GET /merchants/{merchantID}/roles
```

To check which permissions the currently authenticated user holds:

```http theme={null}
GET /merchants/{merchantID}/permissions
```

### Managing members

Members are the users who have access to your merchant account. You can list them with:

```http theme={null}
GET /merchants/{merchantID}/members
```

The members list is paginated. Each entry includes the member's identity and their assigned roles. For step-by-step instructions on inviting members and assigning roles, see the [Team management guide](/guides/team-management).

## Related reference

<CardGroup cols={2}>
  <Card title="List merchants" icon="list" href="/api-reference/merchants/list">
    Retrieve all merchant accounts accessible to your credentials.
  </Card>

  <Card title="Get merchant funds" icon="wallet" href="/api-reference/merchants/funds">
    Check current balances for each supported payment method.
  </Card>

  <Card title="Get merchant fees" icon="percent" href="/api-reference/merchants/fees">
    Inspect the fee structure applied to your account.
  </Card>

  <Card title="Get merchant limits" icon="gauge" href="/api-reference/merchants/limits">
    View minimum collect and withdrawal amounts.
  </Card>
</CardGroup>
