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.
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.
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;quoteIdis its canonical id.Order type β
MARKET(fill now, bounded byslippage) orLIMIT(fill atlimitPriceor better).Position type β
LONGorSHORT.
Margin fields
When a position opens, collateral is locked on both sides. These appear in position/balance payloads:
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
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
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
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

