HUNCH API Reference

Overview

HUNCH provides both REST APIs through Supabase and direct blockchain interaction through smart contracts. This documentation covers all available endpoints and methods.

Authentication

Wallet-Based Authentication

HUNCH uses wallet signatures for authentication. Users sign a message to prove wallet ownership.

const signature = await signer.signMessage("Login to HUNCH");

REST API Endpoints

Base URL

  • Production: https://your-project.supabase.co/rest/v1/

  • Headers Required:

    • apikey: Your Supabase anon key

    • Authorization: Bearer token (for authenticated requests)

Markets

Get All Enhanced Markets

Query Parameters:

  • select: Columns to return (default: all)

  • market_type: Filter by type (binary, multi_choice)

  • resolved: Filter by resolution status (true, false)

  • category: Filter by category

Response:

Create Enhanced Market

Request Body:

Update Market

Request Body:

Market Options

Get Market Options

Response:

Create Market Options

Request Body:

X (Twitter) Connections

Get User's X Connection

Response:

Smart Contract API

Contract Addresses

Mainnet

Market Factory Functions

Create Market

Parameters:

  • question (string): Market question

  • description (string): Detailed description

  • endTime (uint256): Unix timestamp for market end

  • category (string): Market category

Returns: Transaction hash

Get Market

Returns:

Market Functions

Buy Shares

Sell Shares

Get Price

Get User Shares

Claim Winnings

Oracle Functions

Resolve Market

Parameters:

  • marketAddress (address): Market contract address

  • outcome (uint8): 0 = NO, 1 = YES

WebSocket Events

Real-time Market Updates

Blockchain Events

Rate Limits

REST API

  • Anonymous: 100 requests per minute

  • Authenticated: 1000 requests per minute

Blockchain

  • Limited by network: Gas and block time constraints

  • Recommended: Max 1 transaction per block

Error Handling

HTTP Status Codes

  • 200: Success

  • 201: Created

  • 400: Bad Request

  • 401: Unauthorized

  • 403: Forbidden

  • 404: Not Found

  • 429: Rate Limited

  • 500: Internal Server Error

Common Error Responses

Smart Contract Errors

SDK Example

JavaScript/TypeScript SDK

Testing

Testnet Configuration

Mock Data

Test endpoints available with mock data for development:

  • /api/mock/markets

  • /api/mock/trades

  • /api/mock/portfolio

Last updated