JN
JellyNet/Docs
Browse Marketplace →

Overview

What is JellyNet?

JellyNet is an open marketplace where API suppliers list their endpoints and AI agents (or any HTTP client) pay per request using x402 micropayments in USDC. There are no subscriptions, no API keys to manage on the consumer side, and no minimum spend.

The platform handles payment verification, rate-limiting, and proxying automatically. Suppliers earn USDC every time their endpoint is called. Earnings accumulate in a custodial balance and can be withdrawn to any wallet address at any time.

The x402 Protocol

x402 reuses HTTP status code 402 Payment Required as a machine-readable signal. When a consumer calls a protected endpoint without payment, the server returns a 402 response with a X-Payment-Requirements header describing the price and payment destination. The client pays on-chain, attaches the proof in an X-Payment header, and retries — the server verifies and proxies through.

This makes micropayments as easy as a standard HTTP request. Any AI agent, script, or CLI can integrate without OAuth flows or billing accounts.

Quick Start

Get started in minutes

For API Suppliers

1

Sign in

Go to Dashboard and sign in with Google.

2

Add your API key

Click Add API Key. Enter your upstream API key, the base URL of the upstream service, a minimum price per request (in µUSDC), a category, and an optional description.

3

Generate a proxy endpoint

After creating a supplier, click Generate Endpoint. JellyNet creates a unique proxy URL that wraps your upstream API with x402 payment protection.

4

List on the marketplace

Your endpoint is immediately visible on the Marketplace. Buyers can discover it by category, name, or description.

5

Earn USDC

Every successful call credits your account balance (after the platform fee). Go to Dashboard → Earnings to track and withdraw.

For AI Agents & Developers

1

Find an endpoint

Browse the Marketplace and copy a proxy URL.

2

Fund a wallet

Get USDC-compatible stablecoins on a supported chain and fund the wallet you'll use to pay.

3

Call the endpoint

Make a normal HTTP request. On first call you'll receive a 402 response. Pay, attach the proof, and retry.

Example — Python agent
import httpx

PROXY = "https://api.jellynet.xyz/p/<endpoint-id>"
WALLET_MNEMONIC = "your 25-word mnemonic"

resp = httpx.get(PROXY + "/v1/models")
if resp.status_code == 402:
    reqs = resp.headers["X-Payment-Requirements"]
    payment_header = pay(reqs, WALLET_MNEMONIC)   # see SDK docs
    resp = httpx.get(
        PROXY + "/v1/models",
        headers={"X-Payment": payment_header},
    )

print(resp.json())

Payment Flow

How payments work

1

Consumer calls proxy URL

Any HTTP client sends a request to the JellyNet proxy URL for the desired endpoint.

2

402 returned if no payment

The proxy returns 402 Payment Required with a X-Payment-Requirements header containing the price (in µUSDC), the platform's payment address, and the accepted chain.

3

Client pays on-chain

The client sends a USDC transaction to the platform wallet. The tx hash and amount are encoded into an X-Payment header.

4

Proxy verifies on-chain

JellyNet queries the chain to confirm the transaction is confirmed and the correct amount was received.

5

Request proxied upstream

The proxy injects the real API key into the forwarded request and returns the upstream response to the consumer.

6

Supplier credited

The supplier's balance is credited for the payment amount minus the platform fee (currently 10%). Earnings accumulate and can be withdrawn at any time.

API Reference

Backend endpoints

All endpoints are served at https://api.jellynet.xyz (or your local backend at http://localhost:8000 during development). Protected routes require a bearer token from a JellyNet session.

Public

MethodPathAuthDescription
GET/api/keys/publicNoList all public endpoints with optional filters: ?category=, ?search=, ?verified_only=true, ?sort_by=newest|price_asc|price_desc|health_desc
GET/api/categoriesNoList all categories and subcategories

Auth

MethodPathAuthDescription
GET/api/auth/meYesGet current user profile
POST/api/auth/wallet/generateYesGenerate a new custodial withdrawal wallet
POST/api/auth/wallet/connectYesConnect an existing wallet address for withdrawals

Suppliers & Endpoints

MethodPathAuthDescription
GET/api/keysYesList your suppliers and endpoints
POST/api/keysYesCreate a supplier (name, api_key, target_url, min_price_usdca, category, description, rpm_limit)
POST/api/keys/:id/generateYesGenerate a proxy endpoint for a supplier

Payments

MethodPathAuthDescription
GET/api/payments/balanceYesGet your USDC balance and available amount
POST/api/payments/withdrawYesRequest a withdrawal (to_address, amount_usdca, chain)
GET/api/payments/withdrawalsYesList your withdrawal history

Transactions

MethodPathAuthDescription
GET/api/transactionsYesList transactions (?endpoint_id=, ?limit=50)

Test Flow

MethodPathAuthDescription
POST/api/test/runYesRun a test x402 payment call (endpoint_id, path, method, mnemonic)

FAQ

Frequently Asked Questions

What chains are supported?

JellyNet currently operates on Algorand testnet with USDC (ASA 10458941). Multi-chain support including Polygon, Base, and other EVM networks is on the roadmap.

What is the platform fee?

JellyNet takes a 10% fee on each payment. The remaining 90% is credited to the supplier's balance.

Do I need a wallet to list my API?

No. You can list your API and start earning without a wallet. You only need a wallet when you want to withdraw your accumulated USDC balance.

How do I withdraw my earnings?

Go to Dashboard → Earnings and click Withdraw. If you haven't set up a wallet yet, you'll be prompted to generate one or connect an existing address.

Are payments final?

Yes. On-chain USDC transactions are irreversible once confirmed. Make sure your agent is calling the correct endpoint before attaching a payment header.

Is this production-ready?

JellyNet is currently in beta running on testnet. Do not use mainnet funds. APIs and endpoints may change without notice during the beta period.