For the complete documentation index, see llms.txt. This page is also available as Markdown.

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.

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.

Last updated