Verify walkthrough
How an outsider or agent hits live federation verify/package for one real entity —
AAVE_V3 — and reads admit vs refuse. No signup. Best-effort Vercel.
Research measurement surface · not bank settlement · not a paid product
How an outsider or agent hits live federation verify/package for one real entity —
AAVE_V3 — and reads admit vs refuse. No signup. Best-effort Vercel.
Research measurement surface · not bank settlement · not a paid product
Confirm the live base and that baked endpoints (dossier, package, verify) are present.
Tier is best_effort_vercel — no uptime SLA.
curl -sS https://geniusflow-federation.vercel.app/openapi.json | jq '{title:.info.title, version:.info.version}'
curl -sS https://geniusflow-federation.vercel.app/api/status | jq '{ok, tier, spec_version, n_dossiers:.surfaces.n_dossiers, baked:.surfaces.baked_endpoints}'
Expect ok: true, tier: "best_effort_vercel", and
baked_endpoints.package / verify / dossier true.
Pull AAVE_V3 (also works: CIRCLE). Use a claim from
claims[] — do not invent expected from HTML.
curl -sS 'https://geniusflow-federation.vercel.app/api/dossier?entity=AAVE_V3' \
| jq '{entity, digest, phi_s:.own_numbers.phi_s, kappa:.own_numbers.kappa, n_claims:(.claims|length), claim0:.claims[0]}'
Expect JSON with entity: "AAVE_V3", a digest, and at least one claim carrying
grounding.source_url + expected and
status_at_publish (e.g. ATTESTED-PRIMARY).
POST the published claim object to /api/package. Prefer piping
claims[0] so fields stay current after rebakes.
CLAIM=$(curl -sS 'https://geniusflow-federation.vercel.app/api/dossier?entity=AAVE_V3' | jq '.claims[0]')
curl -sS -X POST https://geniusflow-federation.vercel.app/api/package \
-H 'Content-Type: application/json' \
-d "$CLAIM" \
| jq '{disposition, reason, proof_shape, return:._return_wire.outcome}'
Minimal honest body that admitted live (needs grounding +
verified_at + expires_at — omitting expiry refuses):
curl -sS -X POST https://geniusflow-federation.vercel.app/api/package \
-H 'Content-Type: application/json' \
-d @- <<'EOF' | jq '{disposition, reason, proof_shape}'
{
"claim_id": "d1eb5014-5ea5-44e2-bf2e-957df5a4e111",
"claim_text": "Aave v3 developer documentation",
"status_at_publish": "ATTESTED-PRIMARY",
"grounding": {
"source_url": "https://docs.aave.com/developers/aave-v3/overview",
"expected": "v3",
"location": ""
},
"verified_at": "2026-08-01T15:28:19.940673+00:00",
"expires_at": "2026-10-30T15:28:19+00:00"
}
EOF
Expect disposition: "admitted", reason: "attested_published_claim",
proof_shape.admitted: true, empty failed_limbs,
refuse_limb: null. Response may include _return_wire ack.
A body that stamps ATTESTED without grounding / expiry fails closed. That is the point of proof_shape.
curl -sS -X POST https://geniusflow-federation.vercel.app/api/package \
-H 'Content-Type: application/json' \
-d @- <<'EOF' | jq '{disposition, reason, proof_shape}'
{
"claim_id": "walkthrough-invented",
"claim_text": "Invented attestation without grounding",
"status_at_publish": "ATTESTED"
}
EOF
Expect disposition: "withheld", exhibited_refusal: true,
proof_shape.admitted: false, non-empty failed_limbs
(typically refuse_or_admit and/or provenance_spine), and a set
refuse_limb. HTTP is still 200 — refuse is in the JSON, not a 4xx.
Re-check that the published expected string appears in the fetched source.
Take both values from the dossier claim — never invent them.
curl -sS -G 'https://geniusflow-federation.vercel.app/api/verify' \
--data-urlencode 'source_url=https://docs.aave.com/developers/aave-v3/overview' \
--data-urlencode 'expected=v3' \
| jq '{status, found, note, proof_shape}'
Live check: found: true, status: "ATTESTED-PRIMARY",
proof_shape.admitted: true. A wrong expected refuses
(admitted: false) without upgrading the miss.
After package/verify, federation may record a consumption ack on
/api/return_wire. This is a return-signal path — not proof that every vault
row was published. See the numbers glossary row
“Return-wire ack”.
curl -sS https://geniusflow-federation.vercel.app/api/return_wire | jq '{ok, wire, n, note, capital}'
Expect ok: true and a small ack ring. capital: "HOLD" is normal
on this public tier.
Limbs (order frozen): registry_ref → refuse_or_admit →
provenance_spine. Admit only when every limb is ok. Spec:
ATTESTATION_PROOF_SHAPE.md.
Field terms (E, Φ_S, κ, status_at_publish, return-wire):
Methodology · Numbers glossary.
CIRCLE works the same: swap entity=CIRCLE in step 2 and pipe its
claims[0].
Done with the wire? Request design-partner pilot access — free intake, no payment step.
Request Pilot Access