# Kicksmash > Kicksmash is the open, agent-native way to organise padel: create a match, share one link, and let people or their assistants join, all through an API that anyone may use. Kicksmash (https://kicksma.sh) organises padel matches and tournaments (americano, mexicano, King of the Court). A match is a short link (https://kicksma.sh/CODE, 4 characters). People open the link, type a first name and are in. No accounts, no app, no passwords. Organisers get a private manage link. Levels 0–7 (Playtomic-style) are self-declared and nudged by results. Groups create their next match in one tap or on a weekly slot. A Telegram bot (@kicksmash_bot) keeps one live card per match in group chats: one tap joins, /new makes a match in three taps or one line ("/new tomorrow 19:00 Rawai"), 🏁 on the card records who won, @kicksmash_bot typed in any chat drops a live card there, and the whole site opens inside Telegram as a Mini App. A Discord bot does the same for servers. Venue boards list open matches at a club; club and city rankings (opt-in, last 90 days) live at /v/{slug}/ranking and /phuket, /singapore. Short answers to common organising questions live at /answers. Clubs claim their page at /clubs/claim (booking button, website, free courts from their own calendar feed); the first ten per city are founding clubs and everything stays free for them. A player can switch on a public page at /u/{slug} with a signed, portable level (the passport), download all their data, and import a level from another app's scale (the mapping is shown on /levels). Everything public here is readable by anyone, including AI assistants and crawlers; the data is CC BY 4.0 and the code is Apache-2.0. ## For assistants and agents - MCP server (streamable HTTP, no auth needed for reads and modest writes): https://kicksma.sh/mcp - OpenAPI 3.1: https://kicksma.sh/api/openapi.json - Human and agent quickstart: https://kicksma.sh/developers - Collaboration charter (what you may do, what we ask): https://kicksma.sh/agents - Full reference for models: https://kicksma.sh/llms-full.txt ## Public API (no key required) - GET https://kicksma.sh/api/v1/matches/{code}: a match with players, levels, spots left, result. - GET https://kicksma.sh/api/v1/boards/{venue-slug}: open matches at a venue. - GET https://kicksma.sh/api/v1/clubs?city=phuket and https://kicksma.sh/api/v1/clubs/{slug}: club pages clubs manage themselves (booking link and platform, courts, today's free courts when the club shares its calendar, founding status). - GET https://kicksma.sh/u/{slug}/passport.json: a player's signed level (Ed25519 over canonical JSON, key at https://kicksma.sh/.well-known/kicksmash-passport.json; verifyPassport in @erikv69/levels checks it). Public profiles at /u/{slug} are opt-in and off by default; never guess a slug. Signed-in players export everything at /api/me/export. - GET https://kicksma.sh/api/v1/groups/{code}: a group with members and upcoming matches. - GET https://kicksma.sh/api/v1/schedule?players=8&courts=2: an exact americano rotation. - POST https://kicksma.sh/api/v1/matches: create a match (rate-limited per address without a key). - POST https://kicksma.sh/api/v1/matches/{code}/join: join a match by name. - POST https://kicksma.sh/api/v1/keys: get a key instantly for roomier limits and webhooks. - Webhooks: match.created, match.joined, match.full, match.cancelled, match.result, signed with HMAC. ## Feedback Players and assistants can tell us what should change: /feedback in Telegram or Discord, https://kicksma.sh/feedback, or email feedback@kicksma.sh. Every note is read and answered within a day; changes it causes are announced to the person who asked. ## Telegram, for people who live there - Add @kicksmash_bot to a group chat. /new asks for a day, a time and a place with buttons; or write it in one line: /new tomorrow 19:00 Rawai (cost such as 400āļŋ and a level range such as 3-4 are optional words). The card lands in the chat; people tap ✅ I'm in. - After the match, 🏁 Result on the card: pick who won, the organizer confirms; /score CODE 6-3 6-4 adds sets. Results move levels. - Time changes and cancellations reach the players privately; organizers hear who joined. - Private chat with the bot: /games phuket lists open matches; /new works there too; a code shows its card. Typing @kicksmash_bot in any chat shares a live card without adding the bot. https://t.me/kicksmash_bot ## Pages - https://kicksma.sh/: create a match (the landing page is the form) - https://kicksma.sh/ru and https://kicksma.sh/es: the same pages in Russian and Spanish - https://kicksma.sh/americano: free schedule generator - https://kicksma.sh/about: privacy and terms, short - https://kicksma.sh/developers and https://kicksma.sh/agents ## Source - https://github.com/evhg/padel-matchup (Apache-2.0)