> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Base Verify API

> Use Base Verify APIs and contracts to prove verified account ownership, prevent duplicate participation, and enforce eligibility policies.

Base Verify lets users prove that they control verified accounts without exposing their credentials to your application. Use it to add Sybil resistance, prevent duplicate participation across wallets, and gate actions on verified traits.

## Choose an Integration

<CardGroup cols={2}>
  <Card title="Verify Social Accounts" icon="user-check" href="/sdks/base-verify/verify-social-accounts">
    Check verified account ownership and traits in your application backend.
  </Card>

  <Card title="Verify Users Onchain" icon="shield-check" href="/sdks/base-verify/verify-users-onchain">
    Enforce identity deduplication and eligibility policies directly in a smart contract.
  </Card>
</CardGroup>

## How the Integrations Differ

|                     | Verify Social Accounts                                                | Verify Users Onchain                                                     |
| ------------------- | --------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| Enforcement         | Your application backend                                              | Your smart contract                                                      |
| Base surface        | Base Verify REST API                                                  | Base Verify REST API and onchain contracts                               |
| Result              | Verification token and traits                                         | Signed `identityHash`, expiration, and signature                         |
| Best for            | Gated application experiences, rewards, and backend-controlled claims | Contract-level claims, deposits, mints, votes, and other onchain actions |
| Application backend | Required                                                              | Not required at claim time                                               |

Both integrations use a wallet-signed SIWE message as proof that the requester controls the wallet. Base Verify evaluates the requested provider or policy and returns only the verification data needed for the selected flow.

## Related Resources

<CardGroup cols={2}>
  <Card title="Authenticate Users" icon="key" href="/sdks/base-account/guides/authenticate-users">
    Connect a wallet and authenticate users with Base Account.
  </Card>

  <Card title="Sign and Verify Typed Data" icon="signature" href="/sdks/base-account/guides/sign-and-verify-typed-data">
    Collect and validate wallet signatures in your application.
  </Card>
</CardGroup>
