Thetanuts · Builder hub

Options infrastructure.
Your app.

Start with a working multichain app. Choose your assets and design. Use shared data services without tying your frontend to another subDAO.

Ethereum · Base · HyperEVM

One market, two sides

Built for liquidity providers
and option buyers.

Vaults

Provide liquidity. Manage a position.

The wheel uses Uniswap liquidity for swap-driven hedging. Providers can manage their vault position and list it in Markets.

Markets

Choose an option. Review the price.

Buyers choose a strike, quantity and term. The app shows an executable quote before the buyer accepts the trade.

The aim: options for tokens throughout their lifecycle. Shared services support the apps; they do not replace on-chain execution.

Make it yours

A fork, not a dependency.

Your copy can change without coordinating a release with other apps.

  1. 01

    Start from Gyro

    Copy the working frontend, its local adapters and assets. Keep chain and asset choices in the per-site configuration.

  2. 02

    Connect your services

    Set the shared API base. Register your site origin, vaults and return URLs before enabling shared referrals and cards.

  3. 03

    Give it your own design

    Change the layout, copy and visual style. Keep the tested transaction and data-handling rules. Referrals and leaderboards are optional.

Before you publish a fork
  • Verify each chain, vault, token address and token decimal scale.
  • Test deposits, withdrawals, buyer quotes, chain switches and wallet reconnects.
  • Check position returns against the approved passive-limit comparison and current withdrawal value.
  • Test failed and stale reads. A missing result must not become zero.
  • Check referral destinations and share links on the correct chain.
  • Use your own services if the default campaign or policies do not fit.

One public API

Data that travels with your app.

View index status

API basehttps://amm.thetanuts.finance/api

Positions

Entry history for wallet returns

Indexed position inputs and coverage status. Combine them with the current withdrawal simulation in your app.

GET /position
Lending

Accrued interest by strike

Tracked Aave interest by series, with the time of the underlying record. Separate from the current lending APR.

GET /lending
Vault IV

Follow changes over time

The initial vault IV and its recorded changes, served from indexed history.

GET /iv-history
Referrals

Resolve a referral

Look up a referral code. Site-aware links send visitors to a registered app, asset and strike.

GET /referral/resolve
Leaderboard

Use the shared campaign

The default ranking spans chains. It is not a separate ranking for each subDAO; a fork can provide its own.

GET /referral/leaderboard
Position cards

Share a recorded result

Send the position identity. The service derives the figures and creates an immutable card and image.

POST /share
Response and integration rules
  • Send an explicit chainId and vault. Keep seriesId and benchmarkStrike when your position adapter supplies them.
  • Read each history record's own timestamp. A fresh request or indexer run does not make old history fresh.
  • Keep failure responses intact. A stale lending record returns 503; a fresh record can still have caughtUp: false.
  • Amounts are integer atom strings. Use the correct decimals for each token.
  • Keep ?chainId=… on /s/… and /og/… URLs.
  • Share creation requires no wallet signature. It accepts identity fields, not client-supplied financial results. Do not automatically retry an uncertain mint.
  • Browser origins and referral destinations need registration. Legacy cookie-link endpoints remain on their existing host.

Try a read

No wallet. No API key.

Read the M wstETH vault's lending history on Ethereum.

node read-lending.mjs \
  https://amm.thetanuts.finance/api

Keep the result's context

The example checks the chain, vault and record time. It prints raw amounts without inventing a dollar value or replacing an error with zero.

Open the sample response ↗

The reference app

See it working in Gyro.

Explore the app ↗