Transparency

How PerpFarm works โ€”
and how we make money

PerpFarm is free to use and non-custodial. Your trading keys live in your browser, not on our servers, and our revenue comes from referral fee-shares the DEXs pay us out of their own fees โ€” not from charging you. This page explains exactly how that works, including the parts that aren't perfect.

$0 PerpFarm fees
0 private keys stored in plaintext
100% of revenue from DEX fee-shares

Your keys never leave your browser

When you sign in, you sign one message with MetaMask. Your browser โ€” not our server โ€” computes a deterministic trading key from that signature. The same MetaMask wallet always produces the same trading key, on any device, so you can recover it anywhere without trusting us to hold it.

๐ŸฆŠMetaMask signsone message, once
๐Ÿ”‘Browser derives keykeccak256 of the signature
โœ๏ธBrowser signs tradeskey stays in page memory
๐Ÿ“กServer relaysalready-signed payloads only

The trading key is derived and used entirely inside your browser tab. It is never written to disk or sent over the network.

The encrypted backup we store โ€” and can't read

For convenience, your browser uploads one thing to the server: a backup of your trading key encrypted with AES-256-GCM. The encryption key is derived from your MetaMask signature โ€” something only your wallet can produce. The server stores the ciphertext and a random nonce, nothing else. Without your MetaMask signature it is mathematically incapable of decrypting the backup. This isn't a policy promise; it's how the math works. (And because the key is deterministic, you don't even need the backup โ€” you can always re-derive it from MetaMask.)

Every chain, signed client-side

Trades are signed in your browser using the native format of each DEX, and the server only relays the result:

  • EIP-712 typed data โ€” Hyperliquid and its HIP-3 markets, Lighter
  • Signed EVM transactions (EIP-155) โ€” Ostium, Avantis, Aster, Reya, Ethereal
  • ed25519 โ€” Orderly, and Solana DEXs (Drift, Backpack, Pacifica)
  • StarkNet curve โ€” Paradex
โš  The honest exceptions

A few on-chain DEXs have flows we can't fully run in a browser yet. For Avantis, Ostium, Aster, Lighter, and Ethereal, some operations (like complex multi-step deposits or SDK-driven order execution) are executed server-side โ€” using per-user API/agent keys scoped to trading, or a key your browser supplies for that specific request and that we don't retain.

These scoped credentials can place trades on that one venue but are not your MetaMask key and cannot empty your wallet; withdrawal protections still apply. We're moving these flows client-side over time, but we'd rather tell you the current state plainly than pretend the model is purer than it is.

Don't trust us โ€” check

Verify 01

Watch the network

Open DevTools โ†’ Network while you trade. Search every request for your trading key. You won't find it โ€” only JWTs and pre-signed payloads ever leave the browser.

Verify 02

Read the signing code

The signers are plain, unminified JavaScript served from this site (/js/). View-source and confirm the key derivation and signing happen locally.

Verify 03

Read the docs

The full architecture โ€” key derivation, backup encryption, per-DEX signing formats โ€” is documented in detail in the security docs.

Trust Boundaries

What the server can and cannot do

The server is a coordinator, not a custodian. Here is the exact boundary โ€” the same one that would apply to an attacker who fully compromised our infrastructure.

The server CAN

  • โœ“Build unsigned payloads โ€” construct the transaction or order for your browser to review and sign
  • โœ“Relay signed transactions โ€” submit what you already signed to the DEX or chain
  • โœ“Read balances and positions โ€” using per-user, read/trade-scoped API keys, so your dashboard stays live
  • โœ“Register referral codes โ€” attach PerpFarm's referral or broker code to your DEX accounts (see below)

The server CANNOT

  • โœ—Decrypt your key backup โ€” the AES-GCM key comes from your MetaMask signature, which we never see
  • โœ—Withdraw to addresses you didn't sign for โ€” withdrawals require your signature, plus an optional whitelist
  • โœ—Trade without your signature โ€” on browser-signed DEXs, no signature means no trade, full stop
  • โœ—Touch your MetaMask wallet โ€” the server never interacts with your main wallet's key in any form

How we earn: DEX referral fee-shares

PerpFarm registers a referral, builder, or broker code with each DEX. When you trade, the DEX pays PerpFarm a slice of its own trading fee. In almost every case you pay exactly the same rates as trading on the DEX directly โ€” the fee-share comes out of the DEX's cut, not on top of it. PerpFarm charges zero fees of its own: no subscriptions, no markups, no spread.

Referral codes are public by nature โ€” anyone can see them on-chain or in signup URLs โ€” so here they are.

DEX Program How it's applied
Hyperliquid Builder code ยท PERPFARMFUN Attached per order. This is the one exception to "nothing extra": a small builder fee of 0.025% (2.5 bps) is added to each order. You approve the maximum on-chain, once, and can revoke it at any time.
Orderly Network Broker ID Set once at account registration; Orderly shares a portion of its trading fee with the broker.
Avantis Referral code ยท pffun Linked to your wallet address; Avantis shares a portion of its fee on your trades.
Aster Referral code ยท c7a466 Applied via referral link at signup; Aster shares a portion of its fee.
Ethereal Referral code ยท 8MW2MSYS4ZPV Passed as a parameter in your first deposit transaction โ€” visible on-chain.
Paradex, GRVT, Drift, ApeX & others Pending Referral or broker programs exist but PerpFarm codes aren't registered yet โ€” we earn nothing from these venues today.
Why this model keeps incentives aligned

We only earn when you trade, on venues where the DEX itself funds the payout. We have no incentive to hold your funds (we can't), inflate your costs (rates match trading directly, with the Hyperliquid builder fee disclosed above), or lock you in (your key is yours โ€” you can derive it and leave any time).

Security Practices

Defense in depth, beyond custody

Non-custodial architecture is the foundation, but the server and transport layers are hardened too.

๐Ÿชช

SIWE authentication

Sign-In With Ethereum (EIP-4361) with single-use, expiring nonces. No passwords, no email, nothing to phish or leak.

๐ŸŽŸ๏ธ

Short-lived JWT sessions

Sessions use signed JWTs with a 7-day expiry and no refresh tokens โ€” after expiry you re-authenticate with your wallet.

๐Ÿ›ก๏ธ

Strict CSP + HSTS

A strict Content-Security-Policy blocks script injection and clickjacking; HSTS forces HTTPS on every request for a full year.

๐Ÿงช

Transaction simulation

Every transaction is dry-run before broadcast. Anything that would revert โ€” bad balance, contract error โ€” is blocked before it costs you gas.

๐Ÿ“‰

Price sanity checks

Trade prices are validated against independent reference feeds before execution, guarding against oracle manipulation and obviously wrong fills.

๐Ÿ“‹

Withdrawal whitelist & limits

Optionally restrict withdrawals to addresses you pre-approve, with per-user daily limits and audit logging on every sensitive operation.

โš  What this does not protect against

No architecture makes trading risk-free, and we won't claim otherwise. Client-side signing cannot protect you from malware or malicious extensions in your own browser, a phished MetaMask signature on a fake site (bookmark perpfarm.fun โ€” never follow links from messages), a compromised MetaMask seed phrase, or exploits in the DEXs' own smart contracts. Details in the security docs.

Verify it, then trade.

Connect a wallet, open DevTools, and watch exactly what leaves your browser. That's the point.

Launch PerpFarm โ†’ Read the docs