ProxyHubb Docs

Escrow and orders

Marketplace order FSM — pending, pay/solana, confirm-escrow, credentials, and terminal states.

Marketplace purchases lock buyer SOL in a Solana escrow PDA until the order is active (and later settled). Credentials for CONNECT are issued only when the order and session are ready.

Happy path

text
POST /v1/orders
    → pending
POST /v1/orders/{id}/pay/solana
    → pending_payment  (+ program_id, escrow_pda, amount_lamports)
Buyer signs & submits on-chain escrow fund
POST /v1/orders/{id}/confirm-escrow
    → active  (session active)
GET /v1/orders/{id}/credentials
    → username / password for proxy.proxyhubb.com:8090

pay/solana may return 402 if the buyer cannot fund. Credentials before ready → 409 with order_not_ready (retryable: true when applicable).

Status machine (simplified)

StatusMeaning
pendingOrder created; not funded
pending_paymentAwaiting / confirming on-chain escrow
activeEscrow confirmed; session usable; credentials available
completedUsage finished / settled path
disputedDispute open
cancelled / refundedTerminal without (or after) refund path

Credentials are available when status is in {active, completed} and the linked session is active. Details: Orders.

What buyers should know

  • Escrow amounts are in lamports / SOL on Solana devnet for public testnet
  • Confirm may take { tx_signature } or rely on a chain listener — always poll status if UX is async
  • Dev-only shortcuts (activate-dev, sandbox) require PROXYHUB_ALLOW_DEV_ESCROW_ACTIVATE=true and must not be assumed in production