Memebox

Docs

Memebox buys a box of up to 10 pons memes on Robinhood Chain in one transaction, and sells them back to ETH in one transaction. One small contract does it: it splits the ETH you send over the memes' pons bonding curves by your weights and sends every meme straight to your wallet. It never holds tokens or ETH between transactions.

Overview

On pons every meme trades on its own bonding curve until it graduates to Uniswap. Buying ten memes normally means ten transactions, ten confirmations and prices that move while you click. A box puts all ten buys into one transaction, so every leg lands in the same block at the prices you were shown.

Buying a box

buy(curves, weights, minOuts, to) is payable. It takes the ETH you send, keeps the fee, and calls buy(ethIn, minTokensOut, to) on each pons curve with that curve's share of the ETH. Each curve mints or transfers the meme directly to to, normally your own address.

Weights and rounding

Each leg gets (ETH after fee) × weight / 10,000. The last leg takes whatever is left after the others, so no wei stays behind. Example: 0.05 ETH, 0.5% fee, five memes at 30/25/20/15/10 gives 0.014925, 0.0124375, 0.00995, 0.0074625 and 0.004975 ETH.

Minimums and slippage

Before you sign, the app asks each curve how many tokens that leg would buy right now (a simulated call, nothing is sent) and sets the leg's minimum to that number less your slippage: 5%, 10% or 20%. The curve itself refuses to fill under the minimum, so if one meme pumps between the quote and your transaction by more than your slippage, the whole box reverts and you keep your ETH. Memes move fast; 10% is the default.

Selling back

sell(curves, tokens, amounts, minOuts, to) takes amounts of each meme from you, sells each on its curve and sends the total ETH, less the fee, to to in one payment. Each leg must return at least its own minimum in ETH. The app sells everything you hold of each ticked meme and sets each minimum from the live curve price less your slippage and the pons fee and tax.

The contract pulls the memes with transferFrom, so each meme needs a one-time approval for the Memebox contract. The app asks for it the first time and skips it afterwards.

Which memes

Any pons meme whose curve is quoted in ETH and has not graduated. The app reads the list from GeckoTerminal (pons curves on Robinhood Chain, sorted by 24h volume) and leaves out USDG-quoted curves and graduated ones. Graduated memes trade on Uniswap, which this contract does not route. You can still paste any curve address in the search box.

Presets: Top 5 and Top 10 by 24h volume, and Fresh 5: memes launched in the last 24 hours with the most buys.

Fees

Memebox0.5% of the ETH side, on buys and on sells (owner can set 0 to 1%)
ponsthe curve's trade fee, 1%, on every leg
Creator taxwhatever each meme's creator set, usually 0 to 3%
Gasa box of 10 is a few hundred thousand gas, well under a cent on Robinhood Chain

A round trip on two real memes on a fork of mainnet: 0.01 ETH in, 0.00946 ETH back right away, all fees included.

Who holds what

You do. Bought memes go straight from the curve to your wallet. During a sell the memes pass through the contract inside the same transaction and are sold at once. The contract keeps no balances and has no function that moves anyone's tokens.

The app

For bots

// a box of two memes, 60/40, 0.02 ETH
await wallet.writeContract({ address: MEMEBOX, abi, functionName: "buy",
  args: [[CURVE_A, CURVE_B], [6000, 4000], [minA, minB], me], value: 20_000000000000000n });

// sell both back
await wallet.writeContract({ address: MEMEBOX, abi, functionName: "sell",
  args: [[CURVE_A, CURVE_B], [TOKEN_A, TOKEN_B], [balA, balB], [minEthA, minEthB], me] });

Quote a leg with a simulated curve.buy(ethIn, 0, me) sent with value = ethIn.

Events

Owner limits

The owner can set the fee, at most 1%, and the treasury address. Nothing else: no pause, no list of allowed memes, no function that touches user funds.

Risks

Token

The Memebox token launches on pons. Its address will be listed here and on the home page.

Contracts

Memeboxopening soon