HomeMarketsPortfolioProtocolDocsAPISecurity
DEVELOPER DOCUMENTATION

Arcc Systems protocol

Arcc Systems is an Arc-first USDC credit market. It deliberately uses a single debt asset, USDC, with a small set of governed collateral assets. It currently runs on Arc Testnet (chain 5042002) with USDC as the supply and borrow asset and tWETH as collateral.

Parameters on this page are read live from the chain when it loads.

Market model

Suppliers deposit USDC and receive internal supply shares. Their balance grows as borrowers pay interest. Borrowers deposit approved collateral and borrow USDC up to their borrow power. Debt is tracked in debt shares, so interest accrues continuously and is added to every borrower's debt without a transaction.

Interest is only paid on the part of the pool that is borrowed. A share of it, the reserve factor, goes to protocol reserves; the rest goes to suppliers.

Interest rates

Rates depend only on utilization, the share of supplied USDC that is currently borrowed. Below the kink the borrow rate rises gently. Above it the rate rises steeply to push borrowers to repay and attract new supply, so suppliers can withdraw.

utilization  U = total borrows / total supplied
borrow APR     = base + slope1 × U / kink                                  (U ≤ kink)
borrow APR     = base + slope1 + slope2 × (U − kink) / (1 − kink)          (U > kink)
supply APR     = borrow APR × U × (1 − reserve factor)
Base rate0%
Kink (optimal utilization)85%
Slope below kink5%
Slope above kink75%
Borrow APR at 100% utilization80%
Reserve factor10%

Examples at the current parameters. Rates are variable and simple (annualized, not compounded).

UtilizationBorrow APRSupply APR
50%2.94%1.32%
80%4.71%3.39%
85%5%3.83%
90%30%24.3%
95%55%47.03%
100%80%72%

Risk parameters

tWETH loan-to-value (LTV)70%Borrow power per dollar of tWETH
tWETH liquidation threshold78%Below this the position can be liquidated
Liquidation bonus5%Extra collateral a liquidator receives
Close factor50%Max share of a debt repaid in one liquidation
tWETH collateral cap5,000 tWETH (706 tWETH deposited)Pool-wide limit on deposited collateral
USDC borrow cap500,000 USDCPool-wide limit on total borrows
tWETH price$2,000Oracle price used for borrow power and liquidation
Price freshness24 hoursOlder prices are rejected; borrowing and collateral withdrawal revert until refreshed

Borrow power and health factor

borrow power  = Σ collateral USD value × LTV
health factor = Σ collateral USD value × liquidation threshold / current debt

A new borrow or a collateral withdrawal must keep the debt within borrow power. A position with a health factor below 1 can be liquidated. For example, 1 tWETH at $2,000 gives 70% × $2,000 of borrow power. With 1,000 USDC of debt, its health factor is $2,000 × 78% / 1,000 = 1.56.

Liquidation

Liquidation is permissionless. When a borrower's health factor is below 1, anyone can repay part of that debt and receive the borrower's collateral at a discount:

Arcc Systems does not run a liquidation bot. A read-only monitor scans borrowers every minute and reports positions that are eligible.

Pauses

A normal risk pause blocks new supply, collateral deposits, collateral withdrawals and new borrows. Repayment, supplier withdrawals and liquidations keep working so users can always reduce risk. A liquidation emergency pause additionally stops liquidations and also forces the normal pause; reopening requires two separate admin actions.

Governance

Admin0x0b53…C30DSets risk parameters, rate model and oracle; unpauses
Guardian0x0b53…C30DCan pause immediately; cannot change parameters or move reserves
Treasury0x0b53…C30DReceives withdrawn protocol reserves

All three roles are currently held by the same deployment wallet, so the separation described above is not yet in effect.

The Timelock is deployed but does not yet own the Pool or Oracle. The mainnet authority path is Safe multisig → Timelock → Pool / Oracle, with a separate guardian that can only pause.

Website limits

During the testnet, the arcc.systems interface applies two limits per wallet:

Both are enforced by the website, not by the contract. Positions already above a limit are kept and can always be repaid or reduced; only further deposits or borrows through the website are blocked.

Contract addresses

Pool0xcca1C2099776AE22EaD43DF042714b7F9BCCaC06Lending market
USDC0x3600000000000000000000000000000000000000Debt and supply asset (6 decimals)
tWETH0x6A2387F4A5e61365F750e526E60B65c7791a25C0Collateral asset (18 decimals)
Oracle0x449961258B9BC17E4A6857Cbdc5F260f13782C2FPrice feeds
Rate model0xb55Da9023f1978741A3843e2088d81d52b58235CKink interest rate model
Timelock0xb104905C54Ca95f1C811266C9933Df492b54D9d6Deployed; not yet in the authority path

Integration

Read-only integrations should use the public HTTP API documented in the API reference. GET /api/v1/params returns every parameter and address on this page. Transaction integrations should use the Pool ABI and check the contract addresses above, the Pool's USDC and Oracle, and the admin before sending transactions; the Arcc Systems app runs the same checks before it enables transactions.

OpenAPI 3.1

Machine-readable API specification

Download YAMLAPI docs