APTOGON
ManifestDevelopersDonateVerify

Para Desenvolvedores

Add human verification to your app with a drop-in snippet. Create a key in the console, embed the verifier, and confirm each session server-side with your secret key.

POST https://homosapience.org/api/embed/verify

Início Rápido

Integração mínima — 3 passos

1Get your API keys
// In the APTOGON console (/console): create a key, then verify your domain.
// pk_live_…  — publishable key, safe to ship in the browser
// sk_live_…  — secret key, server-side only (shown once at creation)
2Drop in the verifier (browser)
<!-- Declarative: renders a "Verify you're human" button -->
<script src="https://homosapience.org/embed/v1/aptogon.js"
        data-aptogon-key="pk_live_…"></script>
<div data-aptogon-verify data-on-success="onHuman"></div>

<script>
  // …or call it programmatically (opens the APTOGON signer popup):
  async function verify() {
    const { token, trust_band } = await window.Aptogon.verify({
      publishableKey: 'pk_live_…',
    })
    // send `token` to your backend to confirm it
    await fetch('/my/confirm', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({ token }),
    })
  }
</script>
3Confirm server-side (secret key)
// On YOUR server — never expose sk_live_ to the browser
const res = await fetch('https://homosapience.org/api/embed/verify', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer sk_live_…',
  },
  body: JSON.stringify({ token }),
})
const { human, did_hash, trust_band } = await res.json()
if (human) {
  // verified, unique human — trust_band ∈ low | medium | community | high
  // did_hash is anonymous (no link to the user's real identity)
}

Referência da API

POST/api/embed/challenge

Start a verification — returns a one-time nonce for your publishable key + origin. aptogon.js calls this for you; you rarely call it directly.

Params: publishable_key · originReturns: nonce · expires_in
POST/api/embed/assert

The signer popup proves the user controls a verified DID and returns a short-lived token. Handled by aptogon.js inside the popup.

Params: publishable_key · nonce · did · signatureReturns: token · trust_band
POST/api/embed/verify

Server-to-server: redeem the token with your SECRET key to confirm a verified human. This is the billable call — never expose sk_live_ in the browser.

Params: Authorization: Bearer sk_live_… · tokenReturns: human · did_hash · trust_band · issued_at
GET/api/verify/status

Look up the verification status of a DID.

Params: did (query)Returns: is_human · valid_until · bond_count

Recursos

🔐
Zero PII

Coordenadas brutas do gesto nunca saem do navegador. Apenas estatísticas vão ao servidor.

🌐
W3C DID

Compatível com o padrão did:key. Funciona com qualquer sistema de identidade.

⛓️
On-chain proof

Contrato Move na Aptos. Verificação sem nosso servidor — totalmente descentralizado.

Acessibilidade

Considera deficiências motoras. Pessoas com tremor nunca são bloqueadas.

Rápido

Mediana 800ms. Gonka AI com fallback — funciona mesmo quando o serviço está indisponível.

📋
Verifiable Credential

Formato W3C VC. Assinado com Ed25519. Expira em 30 dias, renovado automaticamente.

Pronto para integrar?

Create a key in the console to get started. Contact us for higher quotas or enterprise integration.