Civic Docs
Civic Pass
Civic Pass
  • 🚀Quickstart
  • Introduction
    • 👋Overview of Civic Pass
    • 📖Key Terms & Definitions
    • 🔄Civic Pass Behavior
    • 🔑Get Network Keys
    • 📺Demo Videos
    • 🔗Referral Link Guide
  • Integration Guide
    • ⛓️Arbitrum
    • ⛓️Avalanche
    • ⛓️Base
    • ⛓️Binance Smart Chain (BSC)
    • ⛓️Ethereum
    • ⛓️Fantom
    • ⛓️Internet Computer (ICP)
      • Why Use Civic Pass on ICP
      • How Civic Pass Works
      • Civic Pass Implementation Guide
      • ICP Civic Credential Check Button
    • ⛓️Optimism
    • ⛓️Polygon
    • ⛓️Polygon zkEVM
    • ⛓️Solana
    • ⛓️Sonic
    • ⛓️Unichain
    • ⛓️XDC
    • ⛓️X Layer
    • ⚠️Unsupported EVM?
  • Custom Passes
    • 📝Issue Your Own Custom Pass
    • ⚙️Using the API
  • Gating Options
    • 🤔Choosing How to Implement Gating
  • USE CASES
    • 💡Overview of Use Cases
    • 🤖Agentic AI
    • 🎁Airdrops
    • 🌐Communities and DAOs
      • Event Access
      • Quadratic Voting
      • Rewards Management
      • Sybil-Resistant ID Verification
    • 💸Decentralized Finance (DeFi)
      • Accredited Investor Checks
      • Country Blocking by Residence/Nationality
      • On-Chain ID Verification
    • 🎮Gaming & GameFi
      • 1-Player-1-Wallet
      • Rewards Management
    • 🐵NFTs
    • 🏡Real-World Assets (RWAs)
      • Accredited Investor Checks
      • Country Blocking Based on Residence/Nationality
      • Tokenizing RWAs
    • 🛠️Smart Contract Development
  • Security
    • 🐞Bug Bounty Program
    • 🛡️Security & Compliance
    • 📊Audit Reports
  • Resources
    • ❓FAQs
    • 🌍Supported Countries & Docs
    • 💬Find us on Discord
Powered by GitBook
On this page
  • Custom Pass Architecture
  • Supported Custom Pass Chains
  • Testing
  • API Functionality
  • On-Chain Integration

Was this helpful?

  1. Custom Passes

Issue Your Own Custom Pass

A Custom Pass is designed for dApps that wish to restrict access but do not want to use Civic IDV Services and UI components.

PreviousUnsupported EVM?NextUsing the API

Last updated 4 months ago

Was this helpful?

With Custom Pass, builders can write their own rules, bring in other verification services or customize/bundle several of the Civic Pass functions into a single pass that lives on-chain.

Custom Pass Architecture

Once a user has been successfully vetted according to your logic, you can then call the Civic API to issue a Custom Pass to your user's wallet. The API also enables you to manage the complete lifecycle of any Custom Pass you issued (refresh, revocation, expiry, burning).

As you are integrating, remember that your on-chain smart contract or app still has to check for a valid Custom Pass during program execution.

To enable gating logic using a Custom Pass, you will need:

  • Civic Pass API integration to enable issuing and managing the Custom Pass for your dApp

  • On-Chain library to enable your smart contract to check for valid Civic Pass during program execution. See the On-Chain section in the integration guide for your chain.

Supported Custom Pass Chains

The Civic Pass API supports the following chains and chain networks:

  • solana/mainnet-beta

  • solana/devnet

  • ethereum/homestead

  • ethereum/arbitrumGoerli

  • ethereum/arbitrumMainnet

  • ethereum/arbitrumSepolia

  • ethereum/goerli

  • ethereum/avalancheCChain

  • ethereum/avalancheCChainFuji

  • ethereum/baseSepolia

  • ethereum/baseMainnet

  • ethereum/fantomMainnet

  • ethereum/fantomTestnet

  • ethereum/mainnet

  • ethereum/optimismGoerli

  • ethereum/optimismMainnet

  • ethereum/polygonMainnet

  • ethereum/polygonMumbai

  • ethereum/polygonZKEVM

  • ethereum/polygonZKEVMTestnet

  • ethereum/xdcMainnet

  • ethereum/xdcApothem

Testing

API Functionality

You can try out the Civic Pass API by using the following demo credentials to generate an OAuth token:

  • client_id: j5kwZ68j4bM8fdPAYKu7DlGQGr37eNPs

  • client_secret: S1qSiacDUDPRVfxiSvwsRASxE0fH47U60eYeNYIt4JKSVSsgo2yy0n6V-Uz1IYBK

Keep in mind that since these are shared credentials, others have access to the same Civic Passes and can, for example, freeze them.

The demo credentials only work for these development networks:

  • solana/devnet

  • ethereum/goerli

  • ethereum/polygonMumbai

  • ethereum/xdcApothem

  • ethereum/arbitrumGoerli

  • ethereum/fantomTestnet

On-Chain Integration

To test your integration on testnet, use this Gatekeeper network address:

gatekeeperNetwork=tgnuXXNMDLK8dy7Xm1TdeGyc95MDym4bvAQCwcW21Bf

See here for the full .

Please to discuss your use case and obtain the key to enable your pass network.

📝
OpenAPI specification
reach out
API integration
On-chain integration