Docs

Everything you need to know about trading on Pennyperp: how deposits work, how positions are priced, and what happens to your money at every step.

Overview

Pennyperp lets you go long or short on penny stocks from 48 countries with a single ETH balance. Each country lists its most-traded shares under a low price threshold, so every market on the site is a small, volatile name rather than a blue chip. You connect a wallet, deposit ETH on Robinhood Chain, and open leveraged positions that fill at the live market price.

Positions are not orders in an order book. Every contract is a claim against Pennyperp, settled in ETH, with Pennyperp as your counterparty. You never hold the underlying stock or token.

48 countries620+ penny stocks1–5x leverageNo fundingNo expiry on perpsSettled in ETH

Getting started

  1. Install a wallet. MetaMask or any browser wallet that supports custom networks.
  2. Connect. Click Connect wallet. You will be asked to sign a short message. The signature proves you own the address; it costs nothing and sends no transaction.
  3. Switch network. Pennyperp runs on Robinhood Chain (chain id 4663). The site asks your wallet to add and switch to it automatically.
  4. Deposit ETH. Enter an amount in the Account card and confirm the transaction in your wallet. Your trading balance is credited after 2 confirmations.
  5. Trade. Pick a market, choose Long or Short, set leverage and margin, confirm.
Sessions last 7 days. Signing out or switching accounts in your wallet ends the session; your balance and positions stay on the server and reappear when you sign in again with the same address.

Deposits

Deposits are plain ETH transfers from your wallet to the Pennyperp treasury on Robinhood Chain. The site verifies each transfer on-chain: the sender must be your signed-in address, the recipient must be the treasury, and the transaction must have succeeded and reached the required confirmations. A transaction can only be credited once.

NetworkRobinhood Chain, chain id 4663
AssetETH (native)
Minimum0.005 ETH
Confirmations2 (about a minute)
TreasuryShown in the Account card once you connect, and returned by GET /api/config
Only send ETH on Robinhood Chain. Transfers on other networks, or of other tokens, are not detected and cannot be credited.

Getting ETH onto Robinhood Chain

Bridge ETH from Ethereum or Arbitrum using the official Robinhood Chain bridge, or withdraw directly to Robinhood Chain from an exchange that supports it. Keep a little extra for gas.

Markets

Pennyperp lists, for each of 48 countries, the most-traded shares whose price is under that market's penny threshold (for example $5 in the US, 50p in the UK, ₺6 in Turkey, ¥300 in Japan, Rp100 in Indonesia). Large caps that happen to have a low share price are excluded. Prices are quoted in the market's local currency and converted to USD and ETH at live exchange rates.

Some exchanges quote in a sub-unit of their currency and the site shows the same: pence (p) in London, agorot (ag) in Tel Aviv, cents (c) in Johannesburg and fils in Kuwait.

Prices come from a live market data feed and update every few seconds while the market is open. When an exchange is closed the last close is used; positions can still be opened and closed, and the price will jump when the market reopens.

TypeExamplesHours
Penny stocksPLUG, SASA.IS, IDEA.NS, 6740.T, HQC.VNLocal exchange hours

Perpetuals

A perpetual is a leveraged long or short with no expiry. You post margin in ETH, choose leverage from 1x to 5x, and your notional exposure is margin × leverage. There is no funding rate: you pay nothing to keep a position open, and you close whenever you like.

Example

You go long AAPL 3x with 0.1 ETH margin at $190. Your notional is 0.3 ETH. If AAPL rises 5% to $199.50, your profit is 0.3 × 5% = 0.015 ETH. If it falls 5%, you lose 0.015 ETH. If it falls 33.3%, your loss equals your margin and the position is liquidated.

notional  = margin × leverage
pnl       = margin × leverage × (mark − entry) / entry     (long)
pnl       = margin × leverage × (entry − mark) / entry     (short)
liq move  = 1 / leverage   (e.g. 20% at 5x, 50% at 2x)

Options COMING SOON

European calls and puts on every listed market, with 7, 14, 30 and 90 day expiries and strikes from 10% below to 10% above spot. You pay the premium up front in ETH; that premium is the most you can lose. Premiums are priced with Black–Scholes at the live spot using a fixed implied volatility per asset class (crypto 65%, stocks 32%, commodities 25%, indices 18%, FX 9%).

Positions are marked to the current model price and can be closed at any time. At expiry a contract settles to its intrinsic value automatically.

Futures COMING SOON

Dated contracts expiring on the last Friday of March, June, September and December. They work like perpetuals with leverage and margin, but the contract price carries a basis over spot of 5% per year, pro-rated to the time left. As expiry approaches the basis shrinks to zero and the contract settles to spot.

mark = spot × (1 + 0.05 × years_to_expiry)

PnL & liquidation

Open positions are re-priced continuously against the live market. Unrealised PnL is shown in ETH and added to your account equity, but only realised PnL (from closed positions) can be withdrawn.

Liquidation

A perpetual or futures position is liquidated when the price moves against it by 1 / leverage: at that point the loss equals the margin you posted. Liquidation takes the margin and nothing more. You can never owe more than you deposited, and one position cannot draw on the margin of another.

Closing

Closing fills at the live price at the moment the server processes your request. Margin plus realised PnL is returned to your available balance immediately.

Withdrawals

You can withdraw your available balance: deposits plus realised profit, minus anything already withdrawn. Balance locked as margin in open positions must be freed by closing them first.

Minimum0.005 ETH
DestinationThe wallet address you signed in with, on Robinhood Chain
TimingRequests are paid from the treasury, normally within hours. Large withdrawals may be reviewed.

Each request is listed in your Account card with its status and, once paid, a link to the transaction on the explorer.

Fees

There are currently no trading fees, no funding and no withdrawal fee. You pay only the network gas for your own deposit transaction. Fees, if introduced later, will be announced here and shown in the order form before you confirm.

Risk & counterparty

Pennyperp is the counterparty on every trade and pays winners out of the treasury. Your balance is a claim on Pennyperp, not a token in your wallet. If the treasury were exhausted, payouts could fail. You can check the treasury balance at any time on the Robinhood Chain explorer.

Leveraged trading can lose your entire margin quickly. Penny stocks are far more volatile than large caps: they gap at the open, get halted, and can move 20–50% in a day, so a 5x position can be liquidated within minutes. Only trade with funds you can afford to lose.

Pennyperp is not available to residents of jurisdictions where derivatives trading is restricted. By using the site you confirm you are allowed to trade these products where you live.

$PENP

$PENP is the Pennyperp token. The only official contract address is:

coming soon

It is also shown in the bar under the site menu, where one click copies it. Any other address claiming to be $PENP is not ours.

Never buy a token from an address that is not shown on pennyperp.app. Copy the address from the site, not from messages.

Public API

Market data endpoints are open and need no key. Account endpoints require a session token obtained by signing a nonce with your wallet.

EndpointDescription
GET /api/quotes?symbols=PLUG,SASA.ISPrice, previous close and day change per symbol
GET /api/candles?symbol=PLUG&tf=1hOHLCV candles. tf: 1m, 5m, 15m, 1h, 1d, 1w
GET /api/fx?ccys=TRY,INRUSD value of one unit of each currency
GET /api/configChain, treasury address, minimums
GET /api/auth/nonce?address=0x…Message to sign
POST /api/auth/verify{ address, signature } → session token
GET /api/userBalance, positions, history (Bearer token)
POST /api/position/open{ product, sym, countryId, side, lev, margin }
POST /api/position/close{ id }
POST /api/deposit{ hash } of your treasury transfer
POST /api/withdraw{ amount }
curl "https://pennyperp.app/api/quotes?symbols=SASA.IS,IDEA.NS"

FAQ

Do I need KYC?

No. You sign in with a wallet signature only.

Which wallets work?

Any injected browser wallet: MetaMask, Rabby, Coinbase Wallet, Brave. Mobile wallets with a built-in browser also work.

Why does my position show SIM instead of LIVE?

The price feed for that market is temporarily unavailable and the chart is showing simulated data. Orders are always filled server-side at the live price; if no live price is available the order is rejected rather than filled.

Can I lose more than my margin?

No. Liquidation takes at most the margin of that position.

How do I contact you?

Message @pennyperp on X.