Venues

Polymarket

Buy Yes or No on any Polymarket event from a Deposit Wallet nobody has seen before, one market per wallet.

mitoshi.xyz
A Polymarket event on mitoshi.xyz: the event title, its chance, the odds chart over one month, the outcomes, and on desktop the ticket beside it.
A live Polymarket event in Mitoshi, read over Oblivious HTTP.
A Polymarket event on mitoshi.xyz: the event title, its chance, the odds chart over one month, the outcomes, and on desktop the ticket beside it.
A live Polymarket event in Mitoshi, read over Oblivious HTTP.
You tradeAny outcome on Polymarket's book: Yes/No and multi-outcome events
The walletA Polymarket Deposit Wallet for a fresh signer key, one market per wallet
Funded withUSDC, credited as pUSD by Polymarket's bridge
Codepackages/venues/src/polymarket, apps/web/src/features/polymarket

Set up

Polymarket's official TypeScript SDK runs in its own Web Worker whose only network is the sealed fetch. The Deposit Wallet's address is known before it exists (it is derived from the signer), so Polymarket's bridge can give it a deposit address before it is deployed; the wallet is deployed and approved gasless through Polymarket's relayer on its first trade. The builder secret that authorises those relayer calls stays on the gateway, which signs only Deposit Wallet calls.

Funding

One standard amount of ZEC goes to a NEAR Intents deposit address, with a fresh shielded refund address.

NEAR delivers USDC to the wallet's Polymarket bridge address: on Polygon, or on Arbitrum or Base when NEAR has no Polygon route at that moment.

The bridge credits pUSD to the Deposit Wallet. The wallet is ready when the bridge reports it complete.

Trading

A Polymarket event on a phone: the odds chart and the pinned Yes and No buttons above the dock.
The event on a phone.
The Polymarket ticket sheet on a phone: Buy, Market, the Yes and No prices, an amount on the keypad, and the button to fund a private wallet.
The ticket opens as a sheet with a keypad.
  • Buy or sell any outcome at market (fill-and-kill, within two ticks of the estimate) or with a limit (good till cancelled); cancel open orders; redeem winning shares after the market resolves.
  • One market per wallet. Adding to a position or selling it stays on the wallet that holds it; a new market takes a ready wallet that has never traded, or asks you to fund one.
  • No builder code on orders (packages/venues/src/polymarket/account.ts).

Coming home

Send home cancels open orders, redeems resolved shares, sells the rest at market and brings any Perps money back first. The pUSD then leaves through a one-time bridge withdrawal that pays a NEAR deposit address in USDC on Polygon, and NEAR swaps it to ZEC at a fresh shielded address. Under 1 pUSD stays behind as dust. If NEAR refunds the trip home, the money returns to the Deposit Wallet as USDC on Polygon; the next Send home sends it through the wallet's own bridge address, back into pUSD, and out with the rest (the bridge takes $2 or more).

Not in NEAR's confidential mode

This is the one swap Mitoshi can't make confidential: the bridge pays out an inexact amount, which needs a flexible-input quote, and 1Click offers no confidential mode for those. NEAR's record pairs that payout with the fresh shielded address it goes to.

Public on purpose

Each wallet's relayer calls (creating it, its approvals, redeeming, moving pUSD into Perps, the trip home) are attributed to Mitoshi's builder profile. Polymarket can tell these come from Mitoshi users, and when, not which one.

On this page