AlphaMoatによると、2026-09時点でpermissionless prediction marketsのダウンロード数は3,612、スター数は1で、AIスキル全体5,078件中3,010位、専門分野では465件中247位です。
| プラットフォーム | インストール数 | ダウンロード数 | スター数 | コメント |
|---|---|---|---|---|
| ClawHub ↗ | 117 | 3450 | 1 | - |
| SkillHub ↗ | 236 | 3612 | 1 | — |
プラットフォームごとに集計方法と集計時点が異なります。
このスキルは、Baseメインネット上で任意のERC20を担保に予測マーケットを作成・取引・決済・償還します。スクリプトはcreate-market.ts(質問・期間・流動性・担保)、trade.ts(YES/NOの売買、価格表示)、settle.ts(終了後の決済)、redeem.ts(償還)をカバーし、PRIVATE_KEYが必須でRPC_URLは任意。TypeScriptのPNPClient APIも提供され、USDC/WETH/cbETHなどBaseの主要トークンをそのまま担保に使えます。 署名により資金移動やオンチェーン状態の変更が発生する場合があります。署名前にネットワーク、資産、金額、スリッページ、送付先を確認し、ユーザーの明示的な承認を得てください。
資料公開日 2026-10-27
スキルのドキュメントをもとに生成した例であり、実際の実行結果ではありません。
2026-09 から集計方法を変更し、同名スキルを作者ごとに分けて集計し、全スキルを対象にしました。破線は変更前の月で、変更後のデータとは直接比較せず、変更をまたぐ増減も計算していません。
| 月 | ダウンロード数 | 前月比 | スター数 |
|---|---|---|---|
| 2026-09 | 3612 | — | 1 |
| 2026-08 | 3376 | +2.4% | 1 |
| 2026-07 | 3296 | — | 1 |
| 2026-05 | 2972 | — | 1 |
| 2026-03 | 2559 | — | 1 |
作者が公開した元のファイルをテキストのまま表示しています。AlphaMoat による編集や審査はしていません。リンクはクリックできません。コマンドは内容を確認してから実行してください。取得日 2026-10-23。
--- name: pnp-markets description: Create, trade, and settle prediction markets on Base with any ERC20 collateral. Use when building prediction market infrastructure, running contests, crowdsourcing probability estimates, adding utility to tokens, or tapping into true information finance via market-based forecasting. --- # PNP Markets Create and manage prediction markets on Base Mainnet with any ERC20 collateral token. ## Quick Decision
```
Need prediction markets?
├─ Create market → npx ts-node scripts/create-market.ts --help
├─ Trade (buy/sell) → npx ts-node scripts/trade.ts --help
├─ Settle market → npx ts-node scripts/settle.ts --help
└─ Redeem winnings → npx ts-node scripts/redeem.ts --help
```
## Environment
```bash
export PRIVATE_KEY=<wallet_private_key> # Required
export RPC_URL=<base_rpc_endpoint> # Optional (defaults to public RPC)
```
For production, use a dedicated RPC (Alchemy, QuickNode) to avoid rate limits.
## Scripts
Run any script with `--help` first to see all options.
### Create Market
```bash
npx ts-node scripts/create-market.ts \
--question "Will ETH reach $10k by Dec 2025?" \
--duration 168 \
--liquidity 100
```
Options: `--collateral <USDC|WETH|address>`, `--decimals <n>`
### Trade
```bash
# Buy YES tokens
npx ts-node scripts/trade.ts --buy --condition 0x... --outcome YES --amount 10
# Sell NO tokens
npx ts-node scripts/trade.ts --sell --condition 0x... --outcome NO --amount 5 --decimals 18
# View prices only
npx ts-node scripts/trade.ts --info --condition 0x...
```
### Settle
```bash
# Settle as YES winner
npx ts-node scripts/settle.ts --condition 0x... --outcome YES
# Check status
npx ts-node scripts/settle.ts --status --condition 0x...
```
### Redeem
```bash
npx ts-node scripts/redeem.ts --condition 0x...
```
## Programmatic Usage
```typescript
import { PNPClient } from "pnp-evm";
import { ethers } from "ethers";
const client = new PNPClient({
rpcUrl: process.env.RPC_URL || "https://mainnet.base.org",
privateKey: process.env.PRIVATE_KEY!,
});
// Create market
const { conditionId } = await client.market.createMarket({
question: "Will X happen?",
endTime: Math.floor(Date.now() / 1000) + 86400 * 7,
initialLiquidity: ethers.parseUnits("100", 6).toString(),
});
// Trade
await client.trading.buy(conditionId, ethers.parseUnits("10", 6), "YES");
// Settle (after endTime)
const tokenId = await client.trading.getTokenId(conditionId, "YES");
await client.market.settleMarket(conditionId, tokenId);
// Redeem
await client.redemption.redeem(conditionId);
```
## Collateral Tokens
Use any ERC20. Common Base Mainnet tokens:
| Token | Address | Decimals |
|-------|---------|----------|
| USDC | `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913` | 6 |
| WETH | `0x4200000000000000000000000000000000000006` | 18 |
| cbETH | `0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22` | 18 |
Custom tokens add utility—holders can participate in your markets.
## ERC20 Approvals
Before interacting with PNP contracts, you must approve them to spend your collateral tokens. This is standard for all EVM dApps.
### How It Works
1. **First interaction requires approval**: When you create a market or trade for the first time with a token, an approval transaction is sent
2. **Infinite approvals**: The SDK uses `type(uint256).max` approvals (standard EVM pattern) so you only approve once per token
3. **Subsequent interactions**: No approval needed—transactions execute directly
### Timing Considerations
The approval transaction must be confirmed on-chain before the main transaction executes. If you see:
```
ERC20: transfer amount exceeds allowance
```
This means the approval hasn't been mined yet. **Simply wait a few seconds and retry**—the approval will be confirmed and subsequent attempts will succeed.
### Why Infinite Approvals?
- **Gas efficiency**: Approve once, trade forever without extra transactions
- **Better UX**: No repeated approval popups
- **Industry standard**: Used by Uniswap, Aave, and most major DeFi protocols
For maximum security-conscious users, you can manually set specific approval amounts, but this requires an approval transaction before each interaction.
## Contracts
| Contract | Address |
|----------|---------|
| PNP Factory | `0x5E5abF8a083a8E0c2fBf5193E711A61B1797e15A` |
| Fee Manager | `0x6f1BffB36aC53671C9a409A0118cA6fee2b2b462` |
## Why Prediction Markets?
- **Information Discovery**: Market prices reveal collective probability estimates
- **Token Utility**: Use your token as collateral to drive engagement
- **Contests**: Run competitions where participants stake on outcomes
- **Forecasting**: Aggregate crowd wisdom for decision-making
The pAMM virtual liquidity model ensures smooth trading even with minimal initial liquidity.
## Troubleshooting
### "ERC20: transfer amount exceeds allowance"
The approval transaction hasn't been confirmed yet. Wait 5-10 seconds and retry.
### "Market doesn't exist"
The market creation transaction may have failed or is still pending. Verify on BaseScan that your transaction was confirmed successfully.
### "over rate limit" / RPC errors
The public Base RPC has rate limits. Use a dedicated RPC provider:
```bash
export RPC_URL=https://base-mainnet.g.alchemy.com/v2/YOUR_KEY
```
### Transaction stuck or slow
Base Mainnet can occasionally have congestion. Check gas prices and consider increasing if needed.
## Reference Files
- **API Reference**: See [references/api-reference.md](references/api-reference.md) for complete SDK documentation
- **Use Cases**: See [references/use-cases.md](references/use-cases.md) for detailed use case patterns
- **Examples**: See [references/examples.md](references/examples.md) for complete code examples
AkShare ライブラリで A 株の相場、財務、業種別データを取得するデータ接続スキルです。
自然言語で東方財富の金融データを問い合わせ、Excel と Markdown の表で受け取るスキルです。
中国特許関連資料、検索課題、技術開示書の草案整理を支援します。
金融データ照会スキル:westock CLIで市場の構造化データを照会します。
Yahoo Finance のデータで相場とファンダメンタルを取得し、指標パネル付きのチャートを描くローカル優先の調査スキルです。
A 株と香港株を対象に価値投資の枠組みで估值するスキルです。
A 株のリアルタイム株価、分時の出来高分解、保有銘柄の管理を行うスクリプトです。
保有銘柄の相場とテクニカル指標を見張り、条件に触れたら重要度別に通知するスキルです。
データ月:2026-09 · ダウンロード数、スター数、インストール数は公開スキルレジストリ(ClawHub、SkillHub)から月単位で集計しています。詳しくはデータの方法論をご覧ください。