SKEWGATE / DOCSOpen app

How Skewgate works

Paired token pools provide a shared budget for long and short positions. Deposits expand that budget; the market owner allocates it between the two directions.

Current release

Skewgate is a leverage-market launchpad: token creation, paired liquidity and long/short exposure belong to one connected market. The public website is an interactive preview, not a standalone coin deployment tool. Public trading contracts and an official Skewgate token address have not been configured. The executable prototype runs on a local Hardhat EVM chain using test assets. Hardhat itself is not an Ethereum L2.

The local prototype implements market creation, token issuance, paired deposits, LP redemptions, long/short positions, weighted capacity and settlement. The core flow below describes the original local prototype. Risk-engine changes are in progress and have not completed regression testing or independent review; they are not a production release. The website does not execute trades while its public deployment configuration is absent.

Robinhood Chain deployment

Skewgate targets Robinhood Chain, an Ethereum-compatible L2. Mainnet uses chain ID 4663; testnet uses 46630. Both use ETH for gas. The official network documentation lists public RPCs and infrastructure providers. Public RPCs are rate-limited; production applications should use a dedicated provider.

Market transactions require a configured factory, pool, quote asset and verified price source on the selected chain. It never asks for a private key. You need your own compatible EVM wallet and enough ETH on that network to pay the gas shown in the wallet. Testnet ETH has no monetary value.

Choosing a chain does not deploy any contracts. The public leverage interface remains disabled until a reviewed deployment is configured. Skewgate is an independent project, not an official Robinhood product.

Market release checklist

  1. Define the launch token, quote asset, initial paired liquidity and distribution of unseeded supply.
  2. Establish a credible price source for that market. A creator-entered price is suitable for demonstration, not trustless leveraged trading.
  3. Complete and test collateral segregation, reserved payout backing, liquidation, LP valuation, fees, circuit breakers and adverse price-gap behavior.
  4. Run the full launch, deposit, trade, liquidation and withdrawal lifecycle on Robinhood testnet, including multiple traders and price-feed failures.
  5. Obtain independent contract review, verify deployed source, configure monitoring and liquidation operations, then publish the exact token, pool, factory and oracle addresses.

No step is satisfied by deploying a standalone token. The public leverage launch stays disabled until the connected market deployment is ready.

Official contract address

The official Skewgate CA is not available yet. After launch, the confirmed Robinhood Chain address will appear in the official CA section, with a Copy official CA button. That button stays disabled until the address is published.

Follow @Skewgate on X for announcements. A market token, visitor-created token, or matching name is not automatically the official project token. Always compare the full address and chain.

Launch a market

  1. Connect on the configured network and obtain quote assets. The local demo provides mock quote tokens.
  2. Choose a token name, symbol, fixed supply, base tokens to seed, quote deposit and initial price.
  3. Approve the factory to transfer the quote deposit.
  4. Submit the launch. One transaction creates the token, oracle and pool, seeds liquidity and credits LP shares to the creator.

The launch token uses 18 decimals and has no post-construction mint function. Unseeded supply goes to the creator. The creator controls the market's capacity weight and initially controls its oracle. The registry lists the latest 20 markets in the interface. Oracle price is entered separately from the seed ratio; the contract does not force them to match.

Liquidity & LP shares

Deposit both base and quote assets. The interface derives the quote amount from the current reserve ratio. Initial shares are the integer square root of base amount multiplied by quote amount. Later deposits mint the smaller of the base-proportional and quote-proportional share amounts. Unbalanced deposits can contribute excess assets without additional shares.

Shares are recorded in the pool's internal ledger; they are not a transferable ERC-20 token. The interface requests a minimum of 99.5% of the contract's previewed share amount when submitting a deposit.

Withdraw all redeems your shares for proportional base and quote reserves. A withdrawal reverts if it would leave either direction's open interest above its remaining capacity. The interface requires at least 99.5% of each previewed output, protecting against larger reserve changes before inclusion.

Trading fees and realized trader losses increase quote reserves; trader profits reduce them. There is no guaranteed APY, separate yield claim, or yield source independent of these cash flows. A profitable trader can cause LP losses.

Weighted capacity

Total capacity = quote reserve × 80%
Long capacity = total capacity × long weight
Short capacity = total capacity × (1 − long weight)
Available capacity = max(0, side capacity − side open interest)

The default allocation is 50/50. Only the immutable pool owner can change the long weight, within 10–90%. Rebalancing reverts when existing open interest exceeds a proposed side's capacity.

Example: 100,000 quote tokens create an 80,000 notional budget. At 65/35, the long limit is 52,000 and the short limit is 28,000. A proportional deposit of another 10,000 quote tokens adds 5,200 long and 2,800 short capacity.

Changing the allocation changes trading limits, not token ownership or separate physical reserve balances. Both sides use the same quote reserve. The original prototype's split does not guarantee solvency after price movement. Reserved-profit backing is being added to the risk engine; it is not yet a verified public release.

The chamber water indicates unused capacity fraction. Particle routing follows the confirmed weight, while stirring is a visual interaction. Clicking a chamber stages a trade direction; it does not submit a transaction.

Positions, fees & settlement

ParameterOriginal prototype value
Integer leverage1× to 10×
Opening fee0.30% of notional
Closing fee0.10% of notional
Shared capacity80% of quote reserve

Notional equals deposited collateral multiplied by leverage. The opening fee goes into LP quote reserves and is deducted from the position's recorded collateral. Position entry uses the oracle price at execution.

Long PnL = notional × (exit price − entry price) / entry price
Short PnL = −long PnL
Requested payout = max(0, recorded collateral + PnL − closing fee)
Actual payout = min(requested payout, quote reserve + this position's collateral)

For 1,000 quote collateral at 3×, notional is 3,000, the opening fee is 9 and recorded collateral is 991. A 10% favorable move yields 300 gross PnL. After a 3 quote closing fee, requested payout is 1,288, subject to the pool's payout cap.

Only the trader can close their position. PnL shown in the interface is a gross estimate, before the closing fee and payout cap. No base tokens are borrowed or sold when opening a short: positions are cash-settled exposure against the oracle.

Contracts & permissions

ContractRole
ScaleFactoryCreates markets and stores creator, token, pool and oracle addresses.
LaunchTokenFixed-supply ERC-20-style asset; transfers and approvals.
ScalePoolHolds reserves, records shares and positions, applies limits and settles payouts.
ScaleOracleStores a price controlled by its reporter. Reporter authority can be transferred.
MockTokenLocal test asset with minting/faucet behavior; not production USDC.

Solidity source names retain their original Scale prefix. The product brand is Skewgate. The original local baseline has no upgrade proxy or pool-owner transfer. Liquidation and entry-pause changes exist in the development working tree but are not yet release-verified or deployed. An oracle reporter remains a trusted authority, not a decentralized price feed.

Known limitations

  • The reporter can change prices directly. There is no independent price aggregation, freshness limit, L2 sequencer check or manipulation resistance.
  • No liquidation, periodic funding, insurance fund or automatic market balancing is implemented.
  • A capped payout may be smaller than displayed PnL implies. Settlement order affects the reserve available to later winners.
  • A depleted quote reserve with outstanding LP shares can make deposit previews divide by zero. Market recovery needs an explicit design.
  • The client reads token decimals from each contract. Launch tokens and oracle prices use 18 decimals; quote amounts use the quote token’s decimals. Nonstandard and fee-on-transfer assets are not supported.
  • Contract tests are functional checks, not a security audit. Public-network behavior has not been verified.
  • Approvals may grant unlimited spending to the chosen contract. Review wallet prompts and revoke unused allowances through your wallet tools.

Install on your phone

Open the HTTPS website. On browsers supporting an install prompt, select Install app. On iPhone, use Safari's Share menu and Add to Home Screen. The app shell can be cached, but chain data and transactions require an online connection and a compatible wallet. Installing the app does not deploy contracts or provide a wallet.

Developer reference

Run npm install, then npm run demo for the local chain and web app. Use npm test for contract tests and npm run test:e2e for the browser transaction flow. The local signer uses publicly known development accounts; they are test accounts only.

Pool methods: previewDeposit(base, quote), addLiquidity(base, quote, minShares), previewRedeem(shares), removeLiquidity(shares, minBase, minQuote), openPosition(isLong, collateral, leverage), closePosition(id) and owner-only setCapacityWeight(longWeightBps).

Read baseReserve, quoteReserve, totalShares, sharesOf, longCapacity, shortCapacity, both open-interest values, positions and getPositionIds. Closed IDs remain in the historical ID list; their position records are cleared.

Events include LaunchCreated, LiquidityAdded, LiquidityRemoved, PositionOpened, PositionClosed, PayoutCapped and CapacityWeightUpdated. Token and price amounts in the current demo use 18 decimals; weight and fee basis points use 10,000 as the denominator.

node scripts/build-web.mjs creates the public preview bundle. It deliberately omits local RPC configuration and credentials. Deployment scripts are preparation utilities, not a production-ready integration. Robinhood Chain is the selected network. A live release still needs a verified market price source, completed risk-engine integration, public-network testing and a reviewed deployment.

Troubleshooting

Why can't I trade on the public site?

No public contract deployment is configured. The public site disables transactional controls and does not create fake balances.

Why did withdrawal or rebalancing revert?

Open positions still require the capacity being removed. Close positions or provide enough remaining liquidity before retrying.

Does creating a token create leverage?

No. A Skewgate market needs its token, oracle and funded pool together. There is no standalone coin creator in the public app.

Why does my wallet show the wrong chain?

The wallet must match the chain ID in the deployment configuration. The app requests a network switch and verifies it before creating transaction contracts. Public deployment configuration is still absent.

Does the official Skewgate coin exist?

No official project-token address is configured here. Do not infer one from the NOVA demo market or a token with a matching name.