= ({
{(requireGithub || requireOtherLinks) && (
{requireGithub && requireOtherLinks
- ? 'GitHub repository link and at least one additional link (Demo, Website, Documentation, or Other) are required for this hackathon.'
+ ? 'GitHub repository link and at least one additional link (Demo, Video, Document, Presentation, or Other) are required for this hackathon.'
: requireGithub
? 'GitHub repository link is required for this hackathon.'
- : 'At least one additional link (Demo, Website, Documentation, or Other) is required for this hackathon.'}
+ : 'At least one additional link (Demo, Video, Document, Presentation, or Other) is required for this hackathon.'}
)}
+
+ Each link type can be used at most once. For additional
+ links, choose "Other" (up to {MAX_OTHER_LINKS}{' '}
+ allowed).
+
{formLinks.length === 0 ? (
No links added. Click "Add Link" to add project links.
diff --git a/components/landing-page/blog/BlogCard.tsx b/components/landing-page/blog/BlogCard.tsx
index 9570d2ca1..ebd44dcc5 100644
--- a/components/landing-page/blog/BlogCard.tsx
+++ b/components/landing-page/blog/BlogCard.tsx
@@ -24,7 +24,7 @@ const BlogCard = ({ post, onCardClick }: BlogCardProps) => {
src={post.coverImage}
alt={post.title}
fill
- className='object-cover transition-transform duration-500 group-hover:scale-105'
+ className='object-contain transition-transform duration-500 group-hover:scale-105'
sizes='(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 33vw'
/>
{/* Gradient Overlay */}
diff --git a/components/landing-page/blog/BlogPostDetails.tsx b/components/landing-page/blog/BlogPostDetails.tsx
index 43a7fc1cb..fe07c03ab 100644
--- a/components/landing-page/blog/BlogPostDetails.tsx
+++ b/components/landing-page/blog/BlogPostDetails.tsx
@@ -140,7 +140,7 @@ const BlogPostDetails: React.FC = ({
src={post.coverImage}
alt={post.title}
fill
- className='rounded-lg object-cover'
+ className='rounded-lg object-contain'
priority
sizes='(max-width: 768px) 100vw, (max-width: 1200px) 80vw, 70vw'
/>
@@ -191,7 +191,7 @@ const BlogPostDetails: React.FC = ({
>
= ({
>
@@ -235,7 +235,7 @@ const BlogPostDetails: React.FC = ({
>
= ({
>
{
return ;
case 'twitter':
return ;
+ case 'demo':
+ return ;
+ case 'video':
+ return ;
+ case 'document':
+ return ;
+ case 'presentation':
+ return ;
case 'website':
return ;
default:
diff --git a/content/blog/boundless-launches-first-hackathon-campaign.mdx b/content/blog/boundless-launches-first-hackathon-campaign.mdx
new file mode 100644
index 000000000..4e17d99bc
--- /dev/null
+++ b/content/blog/boundless-launches-first-hackathon-campaign.mdx
@@ -0,0 +1,161 @@
+---
+title: 'Boundless Launches Its First Hackathon Campaign'
+excerpt: 'Boundless x Trustless Work, our first-ever hackathon, runs from May 13 to May 16, 2026. Four days of building escrow-powered products on Stellar, with workshops, mentorship, a $1,400 prize pool, and a physical finale in Nsukka, Nigeria.'
+coverImage: 'https://res.cloudinary.com/danuy5rqb/image/upload/v1778798556/Image_2_sueerh.png'
+publishedAt: '2026-05-13'
+author:
+ name: 'Boundless Team'
+ image: ''
+categories: ['Hackathon', 'Web3', 'Stellar']
+tags:
+ [
+ 'hackathon',
+ 'trustless-work',
+ 'stellar',
+ 'web3',
+ 'defi',
+ 'escrow',
+ 'builders',
+ ]
+readingTime: 5
+isFeatured: true
+seoTitle: 'Boundless Launches Its First Hackathon: Boundless x Trustless Work'
+seoDescription: 'The Boundless x Trustless Work Hackathon kicks off May 13 to May 16, 2026. Build escrow-powered Web3 products on Stellar with the Trustless Work Starter Kit. $1,400 prize pool, workshops, and a physical finale in Nsukka, Nigeria.'
+---
+
+# Boundless Launches Its First Hackathon Campaign
+
+Boundless is officially launching its first-ever hackathon today, **May 13th, 2026**.
+
+In collaboration with **[Trustless Work](https://www.trustlesswork.com/)**, we are bringing together builders, creatives, developers, and thinkers for a multi-day hybrid event focused on brainstorming and building ideas that will revolutionize Web3 and DeFi.
+
+The Boundless x [Trustless Work](https://www.trustlesswork.com/) Hackathon is designed to encourage experimentation, collaboration, and real-world problem-solving. Participants will have the opportunity to ideate and build projects on the **Stellar** ecosystem.
+
+---
+
+## Why Boundless
+
+The next wave of the internet is being built in Web3.
+
+Every day, new ideas emerge across payments, coordination, finance, and digital ownership. But for many builders, the gap between ideation and execution still remains difficult to cross.
+
+At Boundless, our mission is to help bridge that gap.
+
+We believe the next generation of Web3 products should be built on systems that prioritize **transparency, verification, efficiency, and seamless global collaboration** from the start.
+
+The Boundless x [Trustless Work](https://www.trustlesswork.com/) Hackathon is designed to help developers explore what that future could look like in practice.
+
+---
+
+## Build Faster with the [Trustless Work](https://www.trustlesswork.com/) Starter Kit
+
+The focus of this hack is to encourage innovative thinking and unique real-world problem-solving techniques. That is why we are partnering with **[Trustless Work](https://www.trustlesswork.com/)**, so teams can focus on:
+
+- Product design
+- Workflow architecture
+- User experience
+- Integrations
+- Application-level innovation
+
+[Trustless Work](https://www.trustlesswork.com/) allows teams to implement escrow systems from start to finish in a very short time. This is also why we have limited use cases to products that require escrow as the core infrastructure.
+
+To help participants move quickly from ideation to implementation, developers will have access to the **[Trustless Work Builder Starter Kit](https://www.trustlesswork.com/)**.
+
+The hackathon will also include workshops, mentorship sessions, and technical support from the team at [Trustless Work](https://www.trustlesswork.com/) to help participants navigate implementation challenges and refine their projects.
+
+---
+
+## Event Details
+
+The hackathon is a **hybrid event** taking place from **May 13th to May 16th**. The first three days will be held virtually, while the final day will be a physical event.
+
+Here is the breakdown of what to expect each day:
+
+- **May 13:** Welcome Ceremony, Onboarding, and Team Selection
+- **May 14:** Build Day Two
+- **May 15:** Build Day Three
+- **May 16:** Project Demos, Judging, and Awards
+
+Activities throughout the hackathon will include:
+
+- Workshops
+- Office hours
+
+The physical event will include:
+
+- Project showcases
+- Technical presentations
+- Judging sessions
+- Winner announcements
+- Award presentations
+
+**Other Details**
+
+- **Venue:** Block Hive, Nsukka, Enugu State, Nigeria
+- **Registration Deadline:** May 15th
+
+---
+
+## Prize Pool
+
+The Boundless x [Trustless Work](https://www.trustlesswork.com/) Hackathon will reward outstanding technical execution, product thinking, and real-world usability across categories signifying our judging criteria.
+
+**Main Winners**
+
+- 1st Place: **$500**
+- 2nd Place: **$300**
+- 3rd Place: **$200**
+
+**Special Awards**
+
+- Best UI/UX Design: **$100**
+- Best Real-World Use Case: **$100**
+- Best Technical Implementation: **$100**
+- Most Innovative Idea: **$100**
+- Best Use of [Trustless Work](https://www.trustlesswork.com/): **$100**
+
+---
+
+## Who Can Participate?
+
+The hackathon is open to **developers, designers, product builders**, and anyone interested in building internet-native coordination systems.
+
+Participants may hack alone or form teams of **2 to 5 members** across the participant scope. Participants do not need to arrive with a fully developed idea.
+
+---
+
+## What Should You Build?
+
+Participants are expected to build a focused product using [Trustless Work](https://www.trustlesswork.com/) primitives. The goal is not to build another generic escrow platform, but to create specific applications that solve real problems.
+
+Some possible directions include:
+
+- Freelance and milestone-based work platforms
+- Marketplace and e-commerce escrow systems
+- Grant distribution and bounty management tools
+- Crowdfunding and pre-order infrastructure
+- Rental agreements and security deposit flows
+- P2P stablecoin exchange applications
+- Trade finance coordination tools
+- AI agent payment and workflow systems
+
+Participants will also have flexible integration options depending on their preferred workflow. Teams can move quickly with low-code tooling, build with prebuilt components, or work directly with **SDKs and APIs** for more advanced customization and deeper product control.
+
+---
+
+## Join Us
+
+To build with us, register your intent: **[Register for the Hackathon](https://www.boundlessfi.xyz/hackathons/boundless-trustless-work-hackathon)**.
+
+Join our community to stay in the loop:
+
+- **[Discord](https://discord.gg/fP8chNpX)**
+- **[X (formerly Twitter)](https://x.com/boundless_fi)**
+
+---
+
+## Starter Pack
+
+- Explore the **[Trustless Work Starter Kit](https://www.trustlesswork.com/)**
+
+Build the future with Boundless.
diff --git a/hooks/hackathon/use-submission.ts b/hooks/hackathon/use-submission.ts
index 87182df1b..9014d6ec6 100644
--- a/hooks/hackathon/use-submission.ts
+++ b/hooks/hackathon/use-submission.ts
@@ -134,7 +134,10 @@ export function useSubmission({
'Failed to create submission'
);
setError(errorMessage);
- toast.error(errorMessage);
+ toast.error('Submission failed', {
+ description: errorMessage,
+ duration: 8000,
+ });
reportError(err, {
context: 'hackathon-createSubmission',
hackathonSlugOrId,
@@ -180,7 +183,10 @@ export function useSubmission({
'Failed to update submission'
);
setError(errorMessage);
- toast.error(errorMessage);
+ toast.error('Update failed', {
+ description: errorMessage,
+ duration: 8000,
+ });
reportError(err, {
context: 'hackathon-updateSubmission',
submissionId,
@@ -214,7 +220,10 @@ export function useSubmission({
'Failed to delete submission'
);
setError(errorMessage);
- toast.error(errorMessage);
+ toast.error('Delete failed', {
+ description: errorMessage,
+ duration: 8000,
+ });
throw err;
} finally {
setIsSubmitting(false);
diff --git a/lib/api/hackathons.ts b/lib/api/hackathons.ts
index 63cc11251..7aef31cb4 100644
--- a/lib/api/hackathons.ts
+++ b/lib/api/hackathons.ts
@@ -702,6 +702,7 @@ export interface ParticipantSubmission {
category: string;
description: string;
logo?: string;
+ banner?: string;
videoUrl?: string;
introduction?: string;
links?: Array<{ type: string; url: string }>;