> For the complete documentation index, see [llms.txt](https://docs.carbon.inc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.carbon.inc/developers/introduction/core-concepts-and-glossary.md).

# Core concepts & glossary

Carbon inherits its vocabulary from the SYMM protocol. These are the terms that appear across the API.

### The two parties

Every position is a bilateral contract between two parties.

| Term       | Also called          | Who                                                    |
| ---------- | -------------------- | ------------------------------------------------------ |
| **PartyA** | Trader, user         | **You** — the account opening the position.            |
| **PartyB** | Solver, market maker | The **counterparty** that quotes and fills your trade. |

Objects carry `partyA` (your subaccount) and `partyB` (the solver address).

### Solvers

A **solver** is a PartyB that prices your RFQ and settles against you on-chain. Target one via the `solver` parameter, or let Carbon route to the best available.

| Solver      | Notes                                     |
| ----------- | ----------------------------------------- |
| `PERPS_HUB` | Crypto perps & 24/7 RWAs                  |
| `NOXRWA`    | Real-world assets (equities, commodities) |

Solver liquidity, caps, and funding are exposed under `/v1/solvers/...`.

### Positions and orders

* **Quote /** `quoteId` — the on-chain object representing a position. In SYMM a position *is* a quote; `quoteId` is its canonical id.
* **Order type** — `MARKET` (fill now, bounded by `slippage`) or `LIMIT` (fill at `limitPrice` or better).
* **Position type** — `LONG` or `SHORT`.

### Margin fields

When a position opens, collateral is locked on both sides. These appear in position/balance payloads:

| Field                   | Meaning                                                            |
| ----------------------- | ------------------------------------------------------------------ |
| `cva`                   | Credit Valuation Adjustment — covers counterparty credit risk.     |
| `lf`                    | Liquidation Fee — reserved to pay whoever liquidates the position. |
| `partyAmm` / `partyBmm` | PartyA / PartyB maintenance margin.                                |
| `lockedValues`          | The bundle of the above locked for a position.                     |

### Balance fields

| Field               | Meaning                                                                                                                              |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `allocatedBalance`  | Balance allocated in the subaccount. Considered in equity of the account                                                             |
| `equity`            | Balance adjusted for unrealized PnL.                                                                                                 |
| `freeBalance`       | Free collateral in the account. When trading isolated, the parent subaccount contains the free balance, then it's allocated into VAs |
| `availableForOrder` | What you can commit to a new order now.                                                                                              |
| `upnl`              | Unrealized PnL across open positions.                                                                                                |
| `maintenanceMargin` | Collateral that must stay locked to keep positions solvent.                                                                          |

### Account hierarchy

| Level                    | What it is                                                                                                              |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
| **Account**              | Your wallet — the owner identity that signs in.                                                                         |
| **Subaccount**           | An on-chain PartyA under your wallet. Positions live here.                                                              |
| **Virtual Account (VA)** | A margin-isolated container inside a subaccount, for **isolated** (tradfi) positions. They are threated as a subaccount |

Cross positions share a subaccount's margin; isolated positions each get a VA. Controlled by `isolate`, `isolationType`, and `parentSubaccount`. See [Accounts & trading modes](/developers/architecture/accounts-and-trading-modes.md).

### Funding

Perps have no expiry, so a **funding rate** periodically transfers value between longs and shorts. Current rates come from `/v1/solvers/funding-info` and `/v1/pricing/...`; realized funding from `/v1/public/.../funding-history`.

### Prices

* **Mark price** — used to value positions and compute PnL / liquidations.
* **Index / last price** — the underlying's reference price.

Both under `/v1/pricing/...`.

### Key identifiers

| Identifier            | What it is                                                                                            |
| --------------------- | ----------------------------------------------------------------------------------------------------- |
| `tempId`              | Client-side handle returned immediately on a trade submit, before it's on-chain. Poll status with it. |
| `quoteId`             | The on-chain position id, assigned once confirmed.                                                    |
| `marketId` / `symbol` | Numeric id / human name of a market.                                                                  |
| `subaccountAddress`   | The PartyA a request acts on.                                                                         |
| `chainId`             | `42161` (Arbitrum).                                                                                   |
| `batchId`             | Groups the results of a batch operation.                                                              |
| `apiKeyIdentifier`    | Public identifier of an API key, used in delegations.                                                 |

The `tempId` → `quoteId` transition is explained in [How trading works](/developers/architecture/how-trading-works.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.carbon.inc/developers/introduction/core-concepts-and-glossary.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
