Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Solana bridge

The bridge moves supported tokens between Solana and Parcl Chain. USDC deposits become margin collateral. PRCL deposits become liquid PRCL in personal Master and do not increase trading collateral.

Closed-alpha funding

Every USDC bridge deposit has a $5 minimum, including top-ups. The Solana instruction rejects smaller amounts before transferring tokens. Solana network fees can still apply to a rejected transaction.

For a new account, enter a valid referral before depositing through the app. Email invitations bypass the referral requirement. After bridge confirmation, the app creates the account and deducts the $1 activation fee.

If onboarding stops after a deposit, sign in again and retry account activation. The confirmed funds stay assigned to the same owner key. Another deposit is unnecessary when at least $5 is already confirmed.

A direct deposit remains assigned to its owner key until account creation. Independent programmatic creation can omit a referral. Hosted onboarding must satisfy the app's current admission policy. There is no refund path before account creation. Keep the owner key and complete funded account creation to use the balance.

Deposit through the app

On mainnet:

  1. Sign in and open Deposit on personal Master in Accounts or the trading Account panel.
  2. Copy the displayed Solana address or scan its QR code.
  3. Send supported Solana USDC or PRCL to that address. No asset selection is required.
  4. Wait for bridge confirmation. USDC bridges once the wallet holds at least $5. PRCL is processed separately.

Smaller USDC transfers stay in the Solana wallet. For example, $2 followed by $3 reaches the $5 minimum. The app bridges those funds together.

Bridging runs while signed in and resumes on the next visit. If a bridge attempt needs checking, wait for it to finish before selecting Check balance and retry. The app checks the wallet balance again before sending.

Sending USDC to this address funds the Solana wallet first. The balance becomes available on Parcl Chain after bridge confirmation and account activation.

After a deposit completes, select View Master balances to open its balances on the Trade screen. If you renamed Master, the link uses that name. To fund a subaccount, transfer the asset from Master after confirmation.

On devnet, Get Test USDC provides test funds. Enter the amount, then select Bridge to Parcl to submit the deposit.

Deposit programmatically

A direct integration can submit the Solana bridge instruction without using the app UI. It must use the Solana key that is linked to the destination Parcl account. The Solana and Parcl public keys use different encodings of the same 32-byte key.

Do not deposit from an arbitrary Solana wallet. Parcl Chain credits the account whose owner bytes match the signer recorded by the bridge instruction. A plain SPL transfer to the bridge vault does not emit a bridge deposit and does not credit an account.

Before you start:

  • Fund the linked wallet's associated token account with supported USDC.
  • Fund a fee payer with enough SOL for the transaction.
  • Confirm the selected Parcl environment and chain ID.
  • Use the bridge program deployed for the corresponding Solana cluster.

Build one top-level Solana instruction with these accounts, in order:

AccountAccess
Bridge configuration PDA, derived from "bridge"Writable
Linked owner's USDC associated token accountWritable
USDC bridge-vault PDA, derived from "custody_usdc" and the bridge configuration PDAWritable
Linked ownerSigner
SPL Token programRead-only

The instruction data is:

BytesValue
0..8First 8 bytes of SHA-256(global:deposit)
8..16Amount in USDC base units as an unsigned 64-bit little-endian integer
16Token type 0 for USDC

The deposit instruction must be a top-level transaction instruction. Sign with the linked owner and the chosen fee payer, submit it to Solana, and retain the transaction signature. Parcl Chain credits the deposit after Solana confirmation and bridge processing.

If you use the hosted wallet, exporting its signing key requires an authenticated app session and a fresh export check. See Authentication.

Withdrawals

Hosted withdrawals require an authenticated owner session in the trading app. API keys and agent keys cannot request them. A client that holds the account owner key can sign a withdrawal directly through the validator.

Select USDC or PRCL in the withdrawal modal. Withdrawals debit personal Master. Transfer funds back from a subaccount first. Vault investments and redemptions use the vault interface.

Before signing, verify the token, amount, and Solana destination. The destination cannot be changed after submission.

A pending withdrawal can be cancelled, which restores the debited amount. Once the withdrawal becomes ready to claim, it can no longer be cancelled and can be claimed on Solana.

Each USDC withdrawal pays a flat fee. The fee is set by the protocol and reported as usdc_withdrawal_fee in the limits object of GET /v1/bridge/state, in base units. The full amount leaves the account at request time. The fee is charged only when the withdrawal is claimed on Solana, and the payout is the amount less the fee. A cancelled withdrawal returns the full amount, including the fee. A request must be for more than the fee. Normal Solana network fees can still apply.

Limits and status

Read GET /v1/bridge/state on the selected validator host before a transfer. The response reports current deposit and withdrawal status, the withdrawal window, per-transfer caps, rolling limits, and current usage. Amounts in the limits object are base-unit decimal strings.

Bridge transfers cross two chains and are not instant. Do not send an unsupported token or use a destination you do not control. Keep the Solana transaction signature and the Parcl Chain transaction hash until the transfer is complete.