Tool tree
The best place on the internet to find active AI and Web3 hackathons, sorted by deadline, led by prize intelligence.
Implementation
gradeNot graded
gradeNot graded
search_opportunitiesAnswer
Search active HackList opportunities across hackathons, jobs, grants, bounties, and programs using real Supabase data.
View tool JSON
{
"name": "search_opportunities",
"kind": "answer",
"impl": "imperative",
"description": "Search active HackList opportunities across hackathons, jobs, grants, bounties, and programs using real Supabase data.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"query": {
"type": "string",
"description": "Optional search text for title, organization, description, category, value, location, or format.",
"maxLength": 120
},
"type": {
"type": "string",
"enum": [
"hackathon",
"job",
"grant",
"bounty",
"program"
],
"description": "Optional HackList opportunity type filter."
},
"category": {
"type": "string",
"enum": [
"AI",
"Web3",
"Both"
],
"description": "Optional AI/Web3/Both category filter."
},
"format": {
"type": "string",
"maxLength": 80,
"description": "Optional format/location filter such as Online, Remote, Hybrid, or In-Person."
},
"verifiedOnly": {
"type": "boolean",
"description": "When true, return only HackList-verified listings."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "Maximum number of opportunities to return."
}
}
},
"page": "/"
}get_opportunityAnswer
Return one HackList opportunity by typed reference with normalized fields, original category metadata, and verified intelligence when available.
View tool JSON
{
"name": "get_opportunity",
"kind": "answer",
"impl": "imperative",
"description": "Return one HackList opportunity by typed reference with normalized fields, original category metadata, and verified intelligence when available.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"enum": [
"hackathon",
"job",
"grant",
"bounty",
"program"
],
"description": "Optional HackList opportunity type filter."
},
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Stable ID from the source HackList table."
},
"opportunityRef": {
"type": "string",
"minLength": 3,
"maxLength": 140,
"description": "Alternative compound reference in the form type:id."
}
}
},
"page": "/"
}match_opportunitiesAction
Rank active HackList opportunities for a builder profile using category-aware evidence, hard constraints, and UNKNOWN-preserving reasoning.
View tool JSON
{
"name": "match_opportunities",
"kind": "act",
"impl": "imperative",
"description": "Rank active HackList opportunities for a builder profile using category-aware evidence, hard constraints, and UNKNOWN-preserving reasoning.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"enum": [
"hackathon",
"job",
"grant",
"bounty",
"program"
],
"description": "Optional HackList opportunity type filter."
},
"opportunityTypes": {
"type": "array",
"maxItems": 5,
"items": {
"type": "string",
"enum": [
"hackathon",
"job",
"grant",
"bounty",
"program"
],
"description": "Optional HackList opportunity type filter."
},
"description": "Allowed opportunity types when matching across the catalog."
},
"country": {
"type": "string",
"maxLength": 80,
"description": "Builder country, territory, or jurisdiction."
},
"skills": {
"type": "array",
"maxItems": 12,
"items": {
"type": "string",
"maxLength": 60
},
"description": "Builder skills, frameworks, APIs, or domain strengths."
},
"technologies": {
"type": "array",
"maxItems": 12,
"items": {
"type": "string",
"maxLength": 60
},
"description": "Technologies the builder wants or is able to use."
},
"interests": {
"type": "array",
"maxItems": 12,
"items": {
"type": "string",
"maxLength": 80
},
"description": "Opportunity themes or domains the builder prefers."
},
"availableDays": {
"type": "integer",
"minimum": 0,
"maximum": 120,
"description": "Whole days available before deadline."
},
"preferredFormats": {
"type": "array",
"maxItems": 5,
"items": {
"type": "string",
"enum": [
"Online",
"In-Person",
"Hybrid",
"Remote",
"Any"
]
},
"description": "Acceptable participation or work formats."
},
"avoid": {
"type": "array",
"maxItems": 12,
"items": {
"type": "string",
"maxLength": 80
},
"description": "Technologies, themes, requirements, or terms to avoid."
},
"teamSize": {
"type": "integer",
"minimum": 1,
"maximum": 99,
"description": "Expected team size when relevant."
},
"solo": {
"type": "boolean",
"description": "Whether the builder is acting alone."
},
"minimumValue": {
"type": "integer",
"minimum": 0,
"description": "Minimum known dollar-denominated value when relevant."
},
"hasExistingProject": {
"type": "boolean",
"description": "Whether the builder wants to submit or extend existing work."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Maximum matches to return."
}
}
},
"page": "/"
}compare_opportunitiesAction
Compare 2 to 4 typed HackList opportunity references, preserving category-specific value types and labeling non-comparable dimensions.
View tool JSON
{
"name": "compare_opportunities",
"kind": "act",
"impl": "imperative",
"description": "Compare 2 to 4 typed HackList opportunity references, preserving category-specific value types and labeling non-comparable dimensions.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"opportunities"
],
"properties": {
"opportunities": {
"type": "array",
"minItems": 2,
"maxItems": 4,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"type",
"id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"hackathon",
"job",
"grant",
"bounty",
"program"
],
"description": "Optional HackList opportunity type filter."
},
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Stable ID from the source HackList table."
}
}
},
"description": "Typed opportunity references to compare."
},
"profile": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"enum": [
"hackathon",
"job",
"grant",
"bounty",
"program"
],
"description": "Optional HackList opportunity type filter."
},
"opportunityTypes": {
"type": "array",
"maxItems": 5,
"items": {
"type": "string",
"enum": [
"hackathon",
"job",
"grant",
"bounty",
"program"
],
"description": "Optional HackList opportunity type filter."
},
"description": "Allowed opportunity types when matching across the catalog."
},
"country": {
"type": "string",
"maxLength": 80,
"description": "Builder country, territory, or jurisdiction."
},
"skills": {
"type": "array",
"maxItems": 12,
"items": {
"type": "string",
"maxLength": 60
},
"description": "Builder skills, frameworks, APIs, or domain strengths."
},
"technologies": {
"type": "array",
"maxItems": 12,
"items": {
"type": "string",
"maxLength": 60
},
"description": "Technologies the builder wants or is able to use."
},
"interests": {
"type": "array",
"maxItems": 12,
"items": {
"type": "string",
"maxLength": 80
},
"description": "Opportunity themes or domains the builder prefers."
},
"availableDays": {
"type": "integer",
"minimum": 0,
"maximum": 120,
"description": "Whole days available before deadline."
},
"preferredFormats": {
"type": "array",
"maxItems": 5,
"items": {
"type": "string",
"enum": [
"Online",
"In-Person",
"Hybrid",
"Remote",
"Any"
]
},
"description": "Acceptable participation or work formats."
},
"avoid": {
"type": "array",
"maxItems": 12,
"items": {
"type": "string",
"maxLength": 80
},
"description": "Technologies, themes, requirements, or terms to avoid."
},
"teamSize": {
"type": "integer",
"minimum": 1,
"maximum": 99,
"description": "Expected team size when relevant."
},
"solo": {
"type": "boolean",
"description": "Whether the builder is acting alone."
},
"minimumValue": {
"type": "integer",
"minimum": 0,
"description": "Minimum known dollar-denominated value when relevant."
},
"hasExistingProject": {
"type": "boolean",
"description": "Whether the builder wants to submit or extend existing work."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Maximum matches to return."
}
},
"description": "Optional builder profile to make the comparison decision-specific."
}
}
},
"page": "/"
}get_opportunity_readinessAnswer
Return a category-aware readiness checklist for one HackList opportunity, separating known listing facts from UNKNOWN requirements.
View tool JSON
{
"name": "get_opportunity_readiness",
"kind": "answer",
"impl": "imperative",
"description": "Return a category-aware readiness checklist for one HackList opportunity, separating known listing facts from UNKNOWN requirements.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"enum": [
"hackathon",
"job",
"grant",
"bounty",
"program"
],
"description": "Optional HackList opportunity type filter."
},
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Stable ID from the source HackList table."
},
"opportunityRef": {
"type": "string",
"minLength": 3,
"maxLength": 140,
"description": "Alternative compound reference in the form type:id."
}
}
},
"page": "/"
}