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

# Merchant account overview

> Read your own balance and ledger, as distinct from your customers'.

Every other endpoint in this reference acts *on behalf of* one of your customers,
identified by the **`customer-id`** header. These two do not: they answer for
**your own merchant account**.

<Info>
  These endpoints must **not** carry a `customer-id` header. Sending one returns a
  `400` rather than quietly answering for that customer, so you can never mistake a
  customer's balance for your own.
</Info>

## Your money vs your customers' money

Your customers hold their own wallets: the funds they deposit, and the amounts
locked in open escrows. That money is theirs, and it is never counted in your
balance.

Your merchant wallet holds what Payluk has settled to **you**:

| Lands in your wallet | Where it comes from                                                                                           |
| -------------------- | ------------------------------------------------------------------------------------------------------------- |
| `commission`         | Your share of the escrow fee on a completed escrow. Set by your `escrowFee` rate.                             |
| `delivery`           | A delivery fee you charged a buyer with [Update additional fee](/api-reference/escrow/update-additional-fee). |

See [Fees and settlement](/concepts/fees-and-settlement) for how each is calculated.

## Endpoints

| Route                                                                                  | Method & path                   | What it does                                                                                                                                                                |
| -------------------------------------------------------------------------------------- | ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Get merchant balance](/api-reference/merchant-account/get-merchant-balance)           | `GET /v1/merchant/balance`      | Returns `mainBalance` and `escrowBalance` on your own merchant wallet. **Super-admin key required.**                                                                        |
| [Get merchant transactions](/api-reference/merchant-account/get-merchant-transactions) | `GET /v1/merchant/transactions` | Your own ledger: commission and delivery earnings, and your withdrawals. Supports `page`, `limit`, `type`, `reference`, `fromDate`, `toDate`. **Super-admin key required.** |

## Which endpoint do you want?

<CardGroup cols={2}>
  <Card title="Your own money" icon="building-columns" href="/api-reference/merchant-account/get-merchant-balance">
    `GET /v1/merchant/balance` and `GET /v1/merchant/transactions`. No
    `customer-id` header.
  </Card>

  <Card title="A customer's money" icon="user" href="/api-reference/merchant-customers/get-customer-wallet">
    `GET /v1/wallet` and `GET /v1/payment/history`. Both require the
    `customer-id` header.
  </Card>
</CardGroup>

## Pagination and filters

`GET /v1/merchant/transactions` behaves exactly like
[Get payment history](/api-reference/payments/get-payment-history): paginated by
default, and a **flat array** the moment you supply `reference`, `fromDate`, or
`toDate`. See [Pagination](/essentials/pagination).

<Tip>
  To reconcile a single settlement, filter by its `reference`. To close off a
  period, pass `fromDate` and `toDate` and read the flat array straight through.
</Tip>

## Keeping in step with webhooks

Both earnings types also arrive as webhooks the moment they settle:
`payment.commission.success` and `payment.delivery.success`. Treat the webhook as
the trigger and these endpoints as the source of truth, rather than polling for a
balance change. See [Webhooks](/concepts/webhooks).
