> ## Documentation Index
> Fetch the complete documentation index at: https://tfh-takis-document-selfie-check-4.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# World Developer Docs

> Build Mini Apps, integrate World ID, and deploy on World Chain with official developer documentation.

export const DeveloperStories = ({title, subtitle, items = []}) => {
  const [playing, setPlaying] = useState(null);
  const scrollByCard = direction => event => {
    const root = event.currentTarget.closest("[data-developer-stories]");
    const track = root ? root.querySelector(".landing-stories-track") : null;
    if (!track) return;
    const card = track.firstElementChild;
    const step = card ? card.getBoundingClientRect().width + 24 : 600;
    track.scrollBy({
      left: direction * step,
      behavior: "smooth"
    });
  };
  const arrow = direction => <svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" style={{
    transform: direction < 0 ? "rotate(180deg)" : "none"
  }}>
      <path d="M8.5 2.8L13.2 7.5H2V8.5H13.2L8.5 13.2L9.2 13.9L15.1 8L9.2 2.1L8.5 2.8Z" fill="currentColor" />
    </svg>;
  return <div className="not-prose" data-developer-stories>
      <div className="flex flex-wrap items-end justify-between gap-4">
        <div>
          <div className="landing-section-title">{title}</div>
          {subtitle ? <div className="landing-section-sub">{subtitle}</div> : null}
        </div>
        <div className="flex gap-2">
          <button type="button" aria-label="Previous story" onClick={scrollByCard(-1)} className="landing-carousel-arrow flex h-10 w-10 cursor-pointer items-center justify-center rounded-full">
            {arrow(-1)}
          </button>
          <button type="button" aria-label="Next story" onClick={scrollByCard(1)} className="landing-carousel-arrow flex h-10 w-10 cursor-pointer items-center justify-center rounded-full">
            {arrow(1)}
          </button>
        </div>
      </div>

      <div className="landing-stories-track mt-10 flex snap-x snap-mandatory gap-6 overflow-x-auto">
        {items.map((story, index) => <div key={story.name} className="landing-story-card relative shrink-0 snap-start overflow-hidden rounded-2xl bg-zinc-900">
            {playing === index ? <iframe src={`https://www.youtube-nocookie.com/embed/${story.youtubeId}?autoplay=1`} title={`${story.name} — ${story.company}`} allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowFullScreen className="absolute inset-0 h-full w-full border-0" /> : <button type="button" aria-label={`Play video: ${story.name}, ${story.role}, ${story.company}`} onClick={() => setPlaying(index)} className="group absolute inset-0 h-full w-full cursor-pointer border-0 bg-transparent p-0 text-left">
                <img src={story.poster} alt="" loading="lazy" className="absolute inset-0 h-full w-full object-cover" />
                <span className="absolute left-1/2 top-1/2 flex -translate-x-1/2 -translate-y-1/2 items-center justify-center rounded-full bg-white transition-transform group-hover:scale-105" style={{
    width: "46px",
    height: "46px"
  }}>
                  <svg width="18" height="18" viewBox="0 0 24 24" aria-hidden="true" className="translate-x-px fill-zinc-900">
                    <path d="M8 5v14l11-7z" />
                  </svg>
                </span>
                <span className="absolute rounded-[10px] bg-black text-[17px] leading-snug text-white md:text-[20px]" style={{
    left: "24px",
    bottom: "24px",
    padding: "14px 16px"
  }}>
                  {story.name} / {story.role} / {story.company}
                </span>
              </button>}
          </div>)}
      </div>
    </div>;
};

<div className="landing-container">
  <div style={{ marginBottom: "128px" }}>
    <h1 className="landing-hero-title" style={{ margin: 0 }}>World Developer Docs</h1>

    <div className="landing-hero-sub">
      Integrate World ID and deploy on World Chain with official developer documentation.
    </div>
  </div>

  <div className="landing-card-grid" style={{ marginBottom: "240px" }}>
    <a href="/world-id/overview" className="product-card">
      <div className="product-card-tile">
        <img src="https://mintcdn.com/tfh-takis-document-selfie-check-4/VoWPbBxNbYeH5OiZ/icons/landing/world-id.svg?fit=max&auto=format&n=VoWPbBxNbYeH5OiZ&q=85&s=8b22d8aa56b3e6fa84dda786b4619626" alt="" className="product-card-icon" style={{ width: "40px", height: "40px", display: "block" }} width="32" height="32" data-path="icons/landing/world-id.svg" />
      </div>

      <div>
        <div className="product-card-title" style={{ fontSize: "32px", lineHeight: 1.2, letterSpacing: "-0.32px", fontWeight: 300 }}>Integrate World ID</div>
        <div className="product-card-desc" style={{ fontSize: "16px", lineHeight: 1.4, fontWeight: 300, marginTop: "10px", maxWidth: "280px" }}>Anonymous Proof of Human for your website or app</div>
      </div>
    </a>

    <a href="/mini-apps" className="product-card">
      <div className="product-card-tile">
        <img src="https://mintcdn.com/tfh-takis-document-selfie-check-4/VoWPbBxNbYeH5OiZ/icons/landing/mini-app.svg?fit=max&auto=format&n=VoWPbBxNbYeH5OiZ&q=85&s=bed6591c1c7d4fc3eba3b594ff897d7e" alt="" className="product-card-icon" style={{ width: "40px", height: "40px", display: "block" }} width="32" height="32" data-path="icons/landing/mini-app.svg" />
      </div>

      <div>
        <div className="product-card-title" style={{ fontSize: "32px", lineHeight: 1.2, letterSpacing: "-0.32px", fontWeight: 300 }}>Create a Mini App</div>
        <div className="product-card-desc" style={{ fontSize: "16px", lineHeight: 1.4, fontWeight: 300, marginTop: "10px", maxWidth: "280px" }}>Mini applications distributed in World App</div>
      </div>
    </a>

    <a href="/agents/agent-kit/integrate" className="product-card">
      <div className="product-card-tile">
        <img src="https://mintcdn.com/tfh-takis-document-selfie-check-4/VoWPbBxNbYeH5OiZ/icons/landing/agentkit.svg?fit=max&auto=format&n=VoWPbBxNbYeH5OiZ&q=85&s=d0ef4e7d6a2d706b45eb010edcff288f" alt="" className="product-card-icon" style={{ width: "40px", height: "40px", display: "block" }} width="32" height="32" data-path="icons/landing/agentkit.svg" />
      </div>

      <div>
        <div className="product-card-title" style={{ fontSize: "32px", lineHeight: 1.2, letterSpacing: "-0.32px", fontWeight: 300 }}>AgentKit</div>
        <div className="product-card-desc" style={{ fontSize: "16px", lineHeight: 1.4, fontWeight: 300, marginTop: "10px", maxWidth: "280px" }}>Distinguish human-backed agents from bots and scripts</div>
      </div>
    </a>

    <a href="/world-chain" className="product-card">
      <div className="product-card-tile">
        <img src="https://mintcdn.com/tfh-takis-document-selfie-check-4/VoWPbBxNbYeH5OiZ/icons/landing/world-chain.svg?fit=max&auto=format&n=VoWPbBxNbYeH5OiZ&q=85&s=31d1f24613f8ba5eef9f44c4f35c081c" alt="" className="product-card-icon" style={{ width: "40px", height: "40px", display: "block" }} width="32" height="32" data-path="icons/landing/world-chain.svg" />
      </div>

      <div>
        <div className="product-card-title" style={{ fontSize: "32px", lineHeight: 1.2, letterSpacing: "-0.32px", fontWeight: 300 }}>World Chain</div>
        <div className="product-card-desc" style={{ fontSize: "16px", lineHeight: 1.4, fontWeight: 300, marginTop: "10px", maxWidth: "280px" }}>Build directly on World’s blockchain infrastructure</div>
      </div>
    </a>
  </div>

  <div style={{ marginBottom: "192px" }}>
    <DeveloperStories
      title="Developer stories"
      subtitle="See how developers build trusted, human-centered apps with World."
      items={[
  {
    name: "Diego Estevez",
    role: "Co-Founder",
    company: "Divine",
    youtubeId: "DPiCrh4-5Dc",
    poster: "https://images.prismic.io/worldcoin-company-website/agb7nKYofJOwHRRv_Frame2147264383-1-.png?auto=format,compress&w=1200",
  },
  {
    name: "Jangwon Seo",
    role: "Founder",
    company: "Toktokhan.dev",
    youtubeId: "KsOXJx_JQ7w",
    poster: "https://images.prismic.io/worldcoin-company-website/ag3QGqYofJOwHb_V_aTmV8HNYClf9oBXK_age-verification-privacy-paradox1-1-.png?auto=format,compress&w=1200",
  },
  {
    name: "Corey Miller",
    role: "Co-Founder",
    company: "tbd.vote",
    youtubeId: "cnM2VuLlElw",
    poster: "https://images.prismic.io/worldcoin-company-website/ag7vZKYofJOwHe23_0dde88b74912f140608b064cc58853a26bbda0cc.jpg?auto=format,compress&w=1200",
  },
]}
    />
  </div>

  <div style={{ marginBottom: "128px" }}>
    <div className="landing-section-title" style={{ marginBottom: "48px" }}>World Tech Updates</div>

    <div className="landing-updates">
      <a className="landing-update" href="https://world.org/blog/engineering/world-chain-full-block-access-lists" target="_blank" rel="noopener noreferrer">
        <div className="landing-update-title">World Chain launches full block access lists</div>
        <p className="landing-update-desc">World Chain now streams full EIP-7928 block access lists in every flashblock, enabling parallel block verification, faster validation, and a path toward gigagas-per-second throughput without increasing validator hardware requirements.</p>
      </a>

      <a className="landing-update" href="https://world.org/blog/engineering/world-zkgpu-for-ml-and-more" target="_blank" rel="noopener noreferrer">
        <div className="landing-update-title">Remainder: World's GKR prover for ML and more</div>
        <p className="landing-update-desc">Today we announce the open-sourcing of Remainder (Reasonable Machine Learning Doubly-Efficient Prover), Tools for Humanity's in-house GKR + Hyrax proof system. Remainder enables World's users to run ML models locally over private data and prove that they executed them correctly.</p>
      </a>

      <a className="landing-update" href="https://world.org/blog/engineering/introducing-world-id-4.0" target="_blank" rel="noopener noreferrer">
        <div className="landing-update-title">Introducing World ID 4.0 - Request for Comments</div>
        <p className="landing-update-desc">The new World ID 4.0 upgrade introduces account abstraction with multi-key support, transforming a World ID from a single secret into an abstract record in a public registry. This increases protocol resilience by allowing the introduction of multiple key support, portability, recovery and improved privacy.</p>
      </a>
    </div>

    <a href="https://world.org/blog/engineering" target="_blank" rel="noopener noreferrer" className="landing-link" style={{ display: "inline-block", fontSize: "16px", marginTop: "32px", textDecoration: "none" }}>
      Go to World Tech
    </a>
  </div>
</div>

<div className="landing-footer">
  <div className="landing-footer-inner">
    <div className="landing-footer-links" style={{ display: "flex", justifyContent: "space-between", alignItems: "baseline", flexWrap: "wrap", gap: "24px 48px", fontSize: "16px", lineHeight: 1.4, fontWeight: 300 }}>
      <span>™ 2026 World</span>

      <div style={{ display: "flex", flexWrap: "wrap", gap: "16px 40px" }}>
        <a href="https://world.org" className="landing-footer-link">About World</a>
        <a href="https://world.org/developers" className="landing-footer-link">Developers</a>
        <a href="https://whitepaper.world.org" className="landing-footer-link">Whitepaper</a>
        <a href="https://github.com/worldcoin" className="landing-footer-link">Open Source</a>
        <a href="https://world.org/ecosystem" className="landing-footer-link">Ecosystem</a>
        <a href="https://world.org/careers" className="landing-footer-link">Careers</a>
      </div>
    </div>
  </div>
</div>
