Files
zeekayandHanzo Dev 4aeafea851 Take nothing, and stop confirming things that did not happen
The FAQ said Zoo Foundation takes 5% of funds raised. That is
compensation measured by the size and value of a transaction, paid by
someone other than the person transacting — the classic broker hallmark,
and the thing footnote 12 of the April statement precludes by name. On a
501(c)(3) it is also a fee for a commercial service, which is a question
about the exemption rather than about securities law. It is gone, along
with the meta-DAO's stated allocation from every other DAO's raise.

What replaces it is the actual arrangement, said in each place a reader
would ask: the DAO deploys its own contracts, holds its own treasury and
runs its own raise; Zoo lists it and takes nothing; no contribution
passes through this site.

Three surfaces confirmed things that had not happened.

The funding card took an amount, asked for a wallet, transferred nothing,
and then thanked the visitor for a contribution and printed the
foundation's EIN beside it. That is a donation receipt for a donation
that did not occur, on a charity's own site, and someone could have
believed it.

"On-Chain Metrics" reported a transaction count of Math.random() * 100
and stamped it updated-just-now on every page load. It is deleted rather
than repaired: no DAO here publishes a treasury address, so there is
nothing on chain to read, and a component whose honest output is nothing
is not a component.

The listing form logged to the console, waited two seconds to look like a
network call, and promised a reply within days. It now opens a mail
client addressed to [email protected] with the answers filled in, which is
plain and arrives.

The numbered next-steps list went with them — it enumerated a governance
vote, contract deployment and a fundraising launch that Zoo no longer
does.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-27 15:50:04 -07:00

82 lines
2.9 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
'use client'
import { useState } from 'react'
import type { DAO } from '@/lib/daos'
interface FundingCardProps {
dao: DAO
}
/**
* What Zoo does for a DAO, and what it does not.
*
* Zoo Labs Foundation lists research DAOs. It takes no fee, holds no
* contribution, and prepares no transaction — each DAO runs its own raise and
* keeps its own treasury. That is the whole arrangement, and it is stated here
* rather than assumed, because a page with a progress bar and a button reads
* like the place the money goes.
*
* This used to take an amount, ask for a wallet, transfer nothing, and then
* show a thank-you citing the foundation's EIN. A receipt for a contribution
* that did not happen is worse than no button at all, and on a charity's site
* it is worse again.
*
* The goal is the DAO's own stated target. There is no raised-to-date figure:
* it would be a dollar amount a reader expects to check against a treasury, and
* no DAO here publishes an address yet.
*/
export function FundingCard({ dao }: FundingCardProps) {
const [copied, setCopied] = useState(false)
const share = `https://zoo.fund/${dao.id}`
const copy = async () => {
try {
await navigator.clipboard.writeText(share)
setCopied(true)
setTimeout(() => setCopied(false), 2000)
} catch {
setCopied(false)
}
}
return (
<div className="bg-white/3 border border-white/10 rounded-2xl p-8 sticky top-20 animate-scaleIn">
<div className="mb-6">
<p className="text-sm text-white/60 mb-1">Target</p>
<p className="text-3xl font-bold">{dao.goal}</p>
<p className="text-xs text-white/40 mt-2">
{dao.name}&rsquo;s own stated target for this work.
</p>
</div>
<div className="space-y-4">
<div className="bg-white/5 border border-white/10 rounded-lg p-4">
<p className="text-sm text-white/70 leading-relaxed">
{dao.name} runs its own raise and holds its own treasury. Zoo Labs
Foundation lists it here and takes nothing — no fee, no cut, and no
contribution passes through this site.
</p>
</div>
<div className="flex gap-3">
<a
href={`https://x.com/intent/post?text=${encodeURIComponent(dao.name + ' — ' + dao.tagline)}&url=${encodeURIComponent(share)}`}
target="_blank"
rel="noopener noreferrer"
className="flex-1 bg-white/5 border border-white/10 text-white py-2.5 rounded-lg text-sm text-center hover:bg-white/8 transition-all duration-200"
>
Share on 𝕏
</a>
<button
onClick={copy}
className="flex-1 bg-white/5 border border-white/10 text-white py-2.5 rounded-lg text-sm hover:bg-white/8 transition-all duration-200"
>
{copied ? 'Copied' : 'Copy link'}
</button>
</div>
</div>
</div>
)
}