> ## 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.

# Assign User Attributes

> Choose Builder Codes for transaction attribution or Base Verify for verified user traits, identity deduplication, and eligibility policies.

Use attribution when you need to identify which builder generated onchain activity or determine whether a user satisfies a verified eligibility requirement. Builder Codes and Base Verify solve different parts of that problem.

## Attribute Onchain Activity

Builder Codes append an ERC-8021 attribution suffix to transaction calldata. Offchain indexers use the suffix to associate activity with the app, wallet, or agent that generated it.

<CardGroup cols={2}>
  <Card title="Builder Codes Overview" icon="code" href="/base-chain/specs/reference/builder-codes/overview">
    Understand Builder Codes, attribution benefits, supported account types, and verification options.
  </Card>

  <Card title="For App Developers" icon="window" href="/base-chain/specs/reference/builder-codes/app-developers">
    Add automatic transaction attribution with Wagmi, Viem, CDP Wallets, or Privy.
  </Card>

  <Card title="For Wallet Developers" icon="wallet" href="/base-chain/specs/reference/builder-codes/wallet-developers">
    Implement the `dataSuffix` capability for EOAs and ERC-4337 user operations.
  </Card>

  <Card title="For Agent Developers" icon="robot" href="/base-chain/specs/reference/builder-codes/agent-developers">
    Register an agent and attribute its autonomous onchain transactions.
  </Card>
</CardGroup>

## Verify User Attributes

Base Verify lets a user prove control of a supported account and lets your application evaluate approved traits. Choose the backend flow for application-controlled experiences or the onchain flow when a smart contract must enforce the policy.

<CardGroup cols={2}>
  <Card title="Base Verify API" icon="user-check" href="/sdks/base-verify/overview">
    Compare the backend and onchain verification flows.
  </Card>

  <Card title="Verify Social Accounts" icon="address-card" href="/sdks/base-verify/verify-social-accounts">
    Check verified account ownership and traits from your application backend.
  </Card>

  <Card title="Verify Users Onchain" icon="shield-check" href="/sdks/base-verify/verify-users-onchain">
    Enforce policy gating and one-person-once participation in a smart contract.
  </Card>
</CardGroup>

<Note>
  Builder Codes attribute transaction origin; they do not verify a user's identity or eligibility. Base Verify evaluates verified user attributes; it does not attribute transactions to the builder that generated them.
</Note>
