shipp-sports-data
Shipp — Real-Time Sports Data + MoonPay Trading
Overview
Shipp gives AI agents live, authoritative sports data — schedules, scores, and events as they happen. Pair it with a MoonPay-managed wallet to pipe live scores directly into Polymarket or Kalshi trading logic.
Supported sports: NBA, NFL, NCAA Football (NCAAF), MLB, Soccer
Prerequisites
- Shipp API key — register at https://platform.shipp.ai
- MoonPay CLI —
npm install -g @moonpay/cli - Funded wallet — USDC.e on Polygon for Polymarket trades
export SHIPP_API_KEY="sk_..."
Setup Workflow
# 1. Create a MoonPay wallet for your sports agent
mp wallet create --name "shipp-sports-agent"
mp wallet list # note your Polygon address
# 2. Fund with USDC.e (for trading) and POL (for gas)
mp buy --token usdc_polygon --amount 100 --wallet <polygon-address> --email <email>
mp buy --token pol_polygon --amount 5 --wallet <polygon-address> --email <email>
# 3. Register wallet with Polymarket (one-time)
mp prediction-market user create --provider polymarket --wallet <polygon-address>
# 4. Create a Shipp connection for your target market
# (see Shipp API section below)
Shipp API
Create a Connection (one-time per query type)
curl -X POST https://api.shipp.ai/api/v1/connections/create \
-H "Authorization: Bearer $SHIPP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"filter_instructions": "NBA games with final scores from the last 24 hours"}'
# → returns { "connection_id": "conn_..." }
Poll for Live Updates
curl -X POST https://api.shipp.ai/api/v1/connections/{connection_id} \
-H "Authorization: Bearer $SHIPP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"limit": 20, "since_event_id": "<last_seen_id>"}'
Get Sport Schedule (±7 days)
curl "https://api.shipp.ai/api/v1/sports/nba/schedule?api_key=$SHIPP_API_KEY"
# sports: nba | nfl | ncaaf | mlb | soccer
List Saved Connections (free)
curl "https://api.shipp.ai/api/v1/connections?api_key=$SHIPP_API_KEY"
Live Data → Trade Loop
Create a connection once, then poll every 15 seconds for live events:
# 1. Create connection (run once — save the connection_id)
curl -X POST https://api.shipp.ai/api/v1/connections/create \
-H "Authorization: Bearer $SHIPP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"filter_instructions": "NBA games with final scores from the last 24 hours"}'
# → { "connection_id": "conn_..." }
# 2. Poll for updates (run every 15s, passing last seen event_id)
curl -X POST https://api.shipp.ai/api/v1/connections/{connection_id} \
-H "Authorization: Bearer $SHIPP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"limit": 20, "since_event_id": "<last_event_id>"}'
On signal (final score, lead change, key event), execute the Polymarket trade:
mp prediction-market position buy \
--wallet shipp-sports-agent \
--provider polymarket \
--tokenId <outcome-token-id> \
--price 0.85 \
--size 50
Wallet Operations
# Check balance
mp token balance list --wallet <polygon-address> --chain polygon
# Sign a message (EIP-191)
mp message sign --wallet shipp-sports-agent --chain polygon --message "I own this wallet"
# Withdraw winnings to bank
mp virtual-account offramp create \
--name "Offramp" \
--bankAccountId <bank-account-id> \
--stablecoin usdc \
--chain polygon
# Hardware wallet (high security)
mp wallet hardware add --name "shipp-sports-ledger"
Funding Options
| Method | Command | Best for |
|---|---|---|
| Buy with fiat | mp buy --token usdc_polygon ... |
Getting started |
| Bridge crypto | mp token bridge --from-chain ethereum ... |
Existing crypto holders |
| Bank transfer | mp virtual-account onramp create ... |
Large amounts |
| Deposit link | mp deposit create ... |
Permissionless funding from anyone |
Key token addresses on Polygon:
- USDC.e:
0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174 - POL (gas): native
End-to-End Workflow
- Get Shipp API key → https://platform.shipp.ai
mp wallet create --name "shipp-sports-agent"mp buy --token usdc_polygon --amount 100 --wallet <address> --email <email>mp buy --token pol_polygon --amount 5 --wallet <address> --email <email>- Create Shipp connection for target sport/market
- Poll Shipp every 15–30s for live game events
- On signal (final score, lead change, key event): execute Polymarket trade
mp virtual-account offramp createto withdraw winnings
Error Codes
| Code | Meaning |
|---|---|
| 400 | Bad request |
| 401 | Auth failed — check SHIPP_API_KEY |
| 402 | Billing — top up your Shipp account |
| 429 | Rate limited — back off and retry |
| 5xx | Shipp server error — retry with exponential backoff |
Resources
- Shipp API docs: https://docs.shipp.ai
- Platform & API keys: https://platform.shipp.ai
- Platform guides: https://docs.shipp.ai/platform-guides
- MoonPay CLI: https://www.npmjs.com/package/@moonpay/cli
Related Skills
- moonpay-prediction-market — Search markets, buy/sell positions, track PnL
- moonpay-fund-polymarket — Fund wallet with USDC.e and POL for gas
- moonpay-check-wallet — Verify balances before trading
- moonpay-trading-automation — Automate recurring trading strategies
More from moonpay/skills
moonpay-trading-automation
Set up automated trading strategies — DCA, limit orders, and stop losses — by composing mp CLI commands with OS scheduling (cron/launchd).
38moonpay-prediction-market
Trade on prediction markets (Polymarket, Kalshi). Search markets, buy/sell positions, track PnL, and view trade history.
36moonpay-auth
Set up the MoonPay CLI, authenticate, and manage local wallets. Use when commands fail, for login, or to create/import wallets.
33moonpay-swap-tokens
Swap tokens on the same chain or bridge tokens across chains. Use when the user wants to swap, bridge, or move tokens.
33moonpay-price-alerts
Set up desktop price alerts that notify you when tokens hit target prices. Observe-only — no trading, just notifications.
33moonpay-check-wallet
Check wallet balances and holdings. Use for "what's in my wallet", portfolio breakdown, token balances, allocation percentages, and USD values.
32