I run 50+ DeFi bots across Base, Arbitrum, OP and Solana. The data those bots generate — arb signals, draw schedules, earnings, health status — was sitting in PM2 logs on a Hetzner server. So I packaged it into an API and made it public.
It's called the DeFi Signal API. Live on RapidAPI at rapidapi.com/defisignalapi/api/defi-signal and directly at http://138.201.204.97:3748.
What the API exposes
Seven paid endpoints, all returning live data from real running bots:
-
GET /api/pt-next- Next PoolTogether draw time on Base/Arb/OP/Scroll with countdown ($0.001) -
GET /api/pt- PT draw scans and recent claim results from active claimer bots ($0.001) -
GET /api/signals- Solana DEX arb near-win signals from the last 2 hours ($0.002) -
GET /api/earnings- Bot earnings today across all chains, per bot ($0.003) -
GET /api/health- Live PM2 status of all 50+ bots on Hetzner VPS ($0.002) -
GET /api/murshid- Nightly strategy report: expected vs actual, lessons learned ($0.010) -
GET /api/edge- Strategy verdicts with expected vs actual monthly returns ($0.008)
One free endpoint: GET /api/status returns all prices and the payment wallet address.
How payment works: x402
The x402 protocol turns payment into an HTTP header. No account. No API key. No signup form.
- Call
GET /api/statusto get the USDC wallet address on Base - Send the exact USDC amount on Base mainnet
- Include the tx hash as
PAYMENT-SIGNATUREheader - Server verifies on-chain. Each tx hash works once.
const status = await fetch('http://138.201.204.97:3748/api/status');
const { wallet } = await status.json();
// After sending USDC to wallet on Base mainnet:
const res = await fetch('http://138.201.204.97:3748/api/pt-next', {
headers: { 'PAYMENT-SIGNATURE': '0x...your_tx_hash...' }
});
const draws = await res.json();
// { base: { nextDrawAt: 1721390400000, timeUntilMs: 3600000 }, arb: {...} }
Transactions on Base settle in about 2 seconds. USDC transfer costs less than a cent. Pay-per-call is economically viable here.
Who this is for
- PoolTogether bot builders who want precise draw timing without running their own RPC stack
- Solana arb researchers studying near-miss patterns to calibrate their own bots
- DeFi infrastructure teams wanting to monitor a live bot fleet without VPS access
- Strategy researchers who want real expected-vs-actual return data, not backtests
What it does not do
No transaction execution. No trading advice. No personal data. Pure data layer.
Links
- OpenAPI spec:
http://138.201.204.97:3748/openapi.json - GitHub: github.com/holistis/defi-signal-api
- RapidAPI: rapidapi.com/defisignalapi/api/defi-signal
Still building in public. If you need an endpoint that isn't there, open an issue or reach out.
Top comments (1)
Once a tx confirms on Base, does the server verification tie a PAYMENT-SIGNATURE to the wallet that sent it, or just to the USDC amount landing? Confirmed hashes go public on-chain right away, so I'm curious how that's wired. The x402 setup itself is a clean way to skip API keys and signup forms entirely.