Skip to content

Deposits & Withdrawals

Fund your Parti account by sending SOL to your personal Solana deposit address, or USDC.s directly on Fogo. Deposits are auto-bridged and credited within 1–5 minutes.

Get your deposit address

GET https://api.parti-oracle.pbcapps.dev/v1/deposit/bridge-address/{your_fogo_pubkey}

Response:

{
  "success": true,
  "data": {
    "chain": "solana",
    "address": "4xR2kF7b8K...",
    "instructions": "Send SOL from any Solana wallet...",
    "initialized": true,
    "min_sol_lamports": 30000000,
    "max_usdc_per_tx_micro": 10000000000,
    "daily_cap_remaining_usdc_micro": 100000000000
  }
}

Your Fogo pubkey can be passed as base58 or 32-byte hex. The address is deterministic — same input always returns the same output.


Send SOL (Solana → Fogo)

From any Solana wallet (Phantom, Backpack, Solflare), send native SOL to your deposit address.

Parameter Value
Minimum 0.03 SOL
Token Native SOL only (not USDC)
Auto-swap Jupiter SOL → USDC (1% max slippage)
Bridge Wormhole NTT
Time 1–5 minutes
Fee 0% (slippage only)

What happens automatically

  1. Listener detects SOL at your deposit address (~10s)
  2. Jupiter swaps SOL → USDC
  3. USDC locked on Solana via NTT
  4. Wormhole guardians sign VAA (~15-30s)
  5. USDC.s minted on Fogo to your proxy wallet
  6. Vault credits your engine balance
  7. Ready to trade

Already on Fogo?

Send USDC.s directly to your proxy wallet ATA — skip the bridge entirely:

proxy_wallet = PDA([b"proxy", user_fogo_pubkey], oracle_vault_program_id)
ata          = ATA(proxy_wallet, fogo_usdc_mint)

USDC.s mint: uSd2czE61Evaf76RNbq4KPpXnkiL3irdzgLFUMe3NoG

Credited within ~3 seconds. No bridge fees, no minimums beyond dust.


Limits

Minimums: - SOL deposit: 0.03 SOL - Fogo deposit: 0.01 USDC - Withdrawal: > $0.50 (Solana) or > $0 (Fogo) - Max withdrawal: 1,000,000 USDC

Per-tx caps (tier-based):

Tier Max per tx Upgrade
0 — Retail 10,000 USDC Default
1 — LP 1,000,000 USDC Contact team
2 — Institutional 10,000,000 USDC Contact team

Daily bridge cap: 100,000 USDC aggregate (resets 00:00 UTC)


Check balance

GET https://api.parti-oracle.pbcapps.dev/v1/balance/{your_fogo_pubkey}
{
  "data": {
    "available_usdc": 10000000,
    "locked_usdc": 0,
    "gas_debt_usdc": 0
  }
}

All values in micro-USDC (6 decimals). 1 USDC = 1,000,000.


Withdraw

To Fogo (instant, free)

POST https://api.parti-oracle.pbcapps.dev/v1/withdraw
{
  "fogo_address": "<fogo pubkey hex>",
  "amount": 10000000,
  "chain": "fogo",
  "recipient_fogo": "<destination base58>",
  "signature": "<ed25519 hex>",
  "nonce": 1
}

To Solana ($0.50 fee)

POST https://api.parti-oracle.pbcapps.dev/v1/withdraw
{
  "fogo_address": "<fogo pubkey hex>",
  "amount": 10000000,
  "chain": "solana",
  "recipient_solana": "<solana wallet base58>",
  "signature": "<ed25519 hex>",
  "nonce": 1
}

Signature

Sign this human-readable message with your wallet:

Parti Withdraw
User: <your base58 pubkey>
Amount: $10.00 USDC
To: <recipient base58>
Chain: solana
Nonce: 1

Ed25519 signature over the raw UTF-8 bytes.


Poll deposit progress

GET https://api.parti-oracle.pbcapps.dev/v1/deposit/progress/{your_fogo_pubkey}

Returns current stage: detectedbridgingconfirmingcredited


FAQ

Why SOL only on Solana? SOL brings its own gas for the swap + bridge. USDC deposits would need the operator to fund your address with SOL first. For USDC, deposit directly on Fogo.

Is it safe? Funds are in the operator's custody for ~10-60 seconds during the bridge. After that, they're in Wormhole NTT (decentralized) then your proxy wallet (vault program). Zero-custody alternative: bridge USDC to Fogo via Portal and send to your proxy wallet directly.

What about EVM / Bitcoin? Bridge to Solana first (Wormhole, CCTP, or CEX), then deposit SOL.

Fees? - Deposit: 0% (Jupiter slippage ~0.1% only) - Withdrawal to Fogo: free - Withdrawal to Solana: $0.50 gas fee