Starholder API
API Reference

Marketplace — Seeds

Create, list, and manage seeds — $STAR-staked signals on gap coordinates.

Seeds are the way users signal which gaps in the knowledge graph they care about most. When you plant a seed, you stake $STAR on a specific gap coordinate — a place where the world's topology says content is missing. That stake is a public signal to creators: "this gap matters, and there's money behind it." Gaps with more seeds attract more attention and are more likely to get filled.

The economics work like this: you stake $STAR on a gap. When a creator fills that gap (by submitting a story or media that bridges the missing connection), the seed settles. You get your original stake back plus a bonus reward for having identified a valuable gap. The creator who filled the gap also receives a bonus on top of any bounty payment. Seeds create a positive-sum incentive loop where identifying what the world needs is itself rewarded.

Each user gets 4 seed slots per week, each worth 100 $STAR. Slots regenerate on a weekly cooldown. You can view your current slot state and cooldowns via the GET /star/seeds/my-slots endpoint on the $STAR Ledger.


GET /world/{worldId}/seeds

List active seed entries for a world. Returns all currently planted seeds with their gap coordinates, stakers, and amounts.

Auth: Bearer or session

curl https://www.starholder.xyz/api/v1/world/starholder_main/seeds \
  -H "Authorization: Bearer $API_KEY"

POST /world/{worldId}/seeds

Create a new seed on a gap coordinate. Requires an available seed slot and sufficient $STAR balance.

Auth: Bearer or session | Capability: canAccessBounties | Scope: world:write


DELETE /world/{worldId}/seeds/{seedId}

Delete a seed and return the escrowed $STAR to your balance.

Auth: Bearer or session | Capability: canAccessBounties | Scope: world:write


POST /world/{worldId}/star-seed/hold

Hold $STAR on a seed against a gap coordinate. The platform validates that the gap exists in the knowledge graph before accepting the hold.

Auth: Bearer or session | Capability: canAccessBounties | Scope: world:write

Response uses wrapSuccess with { seedId, gapId, worldId, receipt }.


POST /world/{worldId}/star-seed/return

Return a seed hold, releasing the escrowed $STAR back to your balance. Use this when you want to withdraw your stake from a gap.

Auth: Bearer or session | Capability: canAccessBounties | Scope: world:write