v0.1.0-beta

Testnet Testing Guide

Use this guide to test the Veil app on the current preview deployment. The goal is to create a private Veil credit profile, mint a CKB identity pass, and run a test credit check.

Use test wallets only
This is a testnet flow. Do not use a wallet that holds important mainnet funds or assets. Testnet state can be reset, redeployed, or invalidated during development.

Overview

A successful test run should end with these items visible in the dashboard:

  • A connected Midnight wallet
  • A connected Veil network address
  • A created Veil ID
  • A confirmed credit profile
  • A minted CKB identity pass with a record ID and transaction hash
  • An optional credit check result after CKB wallet approval

Before You Start

You need the following before opening the app:

  • Chrome or Brave. Browser wallet extensions work best in a Chromium-based browser.
  • A Midnight-compatible wallet. Use 1AM Wallet if available. Lace is also supported by the dashboard.
  • A CKB testnet wallet. Metamask is the easiest option for most testers. Other CCC-supported CKB wallets may also work. Make sure the wallet is in testnet mode by selecting "Show test networks"
  • Testnet CKB. Your CKB wallet needs enough testnet CKBytes to pay for the identity pass mint. You can claim faucet tokens after connecting your CKB wallet in the dashboard.
  • The Veil app URL. Use the testnet app link shared by the Veil team, then open /dashboard.
Chrome Web Store search results for 1AM Wallet
Search for 1AM Wallet in the Chrome Web Store.
1AM Wallet Chrome Web Store detail page
Open the 1AM Wallet listing and add the extension to Chrome.
1AM Wallet new wallet setup screen
Create a new 1AM wallet or restore an existing test wallet. Set the network environment to Preview before connecting.

Testnet Networks

The current frontend example configuration targets these services:

ServiceCurrent testnet value
Midnight networkpreview
Current preview contract115b1fb509025f6d9f7d8976101a31f28014d4b5627f518c5601ed7ef1179cc5
Veil backend APIhttps://api.13-61-145-21.sslip.io/api/v1
Midnight indexerhttps://indexer.preview.midnight.network/api/v4/graphql
CKB explorerhttps://testnet.explorer.nervos.org
Note
If your dashboard shows a different managed contract address than another tester, confirm with the Veil team that you are using the latest testnet app link.

1. Open the App

  1. Open the testnet app URL shared by the Veil team.
  2. Click Launch App, or go directly to /dashboard.
  3. Keep the browser console closed unless you are collecting an error report.
Veil app connect screen showing 1AM Wallet option
Open the dashboard to see the wallet connection screen. Select 1AM Wallet for the best Midnight experience.

2. Connect Midnight Wallet

  1. Click your preferred Midnight wallet in the connect screen.
  2. Approve the wallet connection request.
  3. Confirm that the dashboard shows your connected Midnight wallet address.

The dashboard supports 1AM Wallet and Lace through the Midnight dApp connector. If the wallet popup does not appear, unlock the extension and refresh the page.

1AM Wallet connection request for Veil dashboard
Approve the connection request in your 1AM wallet when prompted.
Veil Dashboard after 1AM wallet is connected
After approval, your Midnight wallet address appears in the session bar and the Create Veil ID step becomes active.

3. Create Veil ID

  1. Find the Create Veil ID section.
  2. Click Create Veil ID.
  3. Wait while the dashboard sets up your private browser data and selects the current Veil network.

This step prepares the private browser data used for your Veil credit profile. It does not expose your wallet seed phrase or private keys.

Dashboard showing Veil ID creation in progress
Click Create Veil ID and wait while the dashboard sets up your private browser data.
Dashboard after Veil ID is created showing Veil Key in stats bar
When setup completes, your Veil Key appears in the stats bar and the progress panel advances to the next step.

4. View Veil Key

  1. Click Create Veil ID if the dashboard has not already created it.
  2. Wait for the Veil Key field to appear.
  3. Copy the value only if the Veil team asks you to include it in feedback.

The Veil key helps the scoring system find your private credit profile. It does not expose your wallet seed phrase, Midnight private key, or CKB private key.

Veil Key section on dashboard with Export Keys and Connect CKB Wallet
Your Veil Key is shown in its own section after Veil ID is created. Copy it only if the Veil team specifically asks for it. The Credit Profile section below prompts you to connect a CKB wallet next.

5. Create Credit Profile

  1. Click Create Credit Profile.
  2. Connect a CKB wallet if the app asks for one.
  3. Wait for the credit profile status to show as confirmed.

This step creates your private score profile and prepares the CKB identity pass used in the next step.

Dashboard after CKB wallet connected showing Create Credit Profile button
After connecting your CKB wallet, the Create Credit Profile button becomes active.
Dashboard showing creating credit profile in progress
The dashboard shows a creating status while it processes your credit profile on Midnight. Wait for confirmation before proceeding.

6. Connect CKB Wallet

  1. Click Connect CKB or Connect CKB Wallet.
  2. Select your CKB wallet from the wallet picker.
  3. Approve the connection request.
  4. Confirm that a CKB address appears in the dashboard session bar or stats area.

For JoyID, follow the passkey or QR flow shown by the wallet. Make sure the wallet is on CKB testnet and has testnet CKBytes before minting.

CKB wallet picker showing JoyID, MetaMask, EVM, OKX, UniSat, and UTXO Global options
Select your CKB wallet from the picker. MetaMask is the easiest option for most testers.
MetaMask CKB connection approval popup
Approve the connection in your CKB wallet. After approval, your CKB address appears in the dashboard header.

7. Claim CKB Faucet Tokens

You can connect your preferred CKB wallet early, immediately after connecting your Midnight wallet, then copy the CKB address and claim faucet tokens before the app needs them. You can also wait until the dashboard prompts you to connect CKB during credit profile or identity pass minting.

  1. After connecting your CKB wallet, copy the connected CKB address from the dashboard.
  2. Open faucet.nervos.org.
  3. Paste your copied CKB testnet address into the faucet claim form.
  4. Submit the claim and wait for the faucet transaction to complete.
  5. Return to the Veil dashboard once your CKB wallet shows the testnet CKBytes.
  6. Refresh the Veil dashboard so it can detect the updated CKB wallet balance.

These faucet tokens are required because the identity pass mint is paid by the connected CKB wallet. The backend prepares the mint, but it does not pay the CKB storage or transaction fee for the user.

Tip
If you claimed faucet tokens after the app had already shown a CKB balance or mint error, refresh the page, reconnect your wallets if prompted, then clickCreate Veil ID again. The same Midnight wallet, Veil network, and browser data restore the same Veil ID.
Nervos Pudge Faucet claim form with CKB address pasted
Paste the connected CKB testnet address into the Nervos faucet claim form.
Nervos Pudge Faucet claim success message
Wait for the Claim Success message before returning to the Veil dashboard.

8. Mint Identity Pass

  1. Find the CKB Identity Pass section.
  2. Click Mint Identity Pass in CKB Wallet.
  3. Review and approve the CKB transaction in your wallet.
  4. Wait while the app records the mint and registers your DID on Midnight.
  5. Confirm that the dashboard shows:
    • Your Veil ID — a did:veil:0x… identifier in the identity pass card
    • A Record ID and View Transaction link
    • A QR code panel on the left for sharing your DID verification link

The identity pass is a permanent public record on CKB that proves your Veil DID belongs to your CKB wallet. Your score data remains private on Midnight. The backend also registers your DID on Midnight during this step, making it resolvable by any protocol.

MetaMask signature request for CKB identity pass mint transaction
Approve the CKB transaction in your wallet to mint and pay for the identity pass.
Dashboard complete state showing QR code and ID Minted card with Veil ID
After minting completes, the dashboard shows your Veil ID in the identity pass card and a QR code for sharing.

9. Check Credit Status

  1. After the identity pass is minted, click Check My Credit.
  2. Your CKB wallet will ask you to sign a short message tied to your Veil DID. This proves you control the identity pass without revealing any private keys.
  3. Wait for the dashboard to show the credit check result.
  4. The result shows your current credit band (Unranked, Bronze, Silver, Gold, or Platinum) and the LTV limit associated with that band.

It is normal for early test accounts to be unranked if no activity has been submitted for that Veil ID yet. Your score improves as partner protocols submit behavioral data.

MetaMask showing the Veil DID credit decision authorization message to sign
Click Check My Credit to prompt your CKB wallet to sign a short message tied to your Veil DID.
Final dashboard state showing Veil ID, View Transaction link, and Check My Credit button
After signing, the dashboard shows your identity pass details, a View Transaction link, and your current credit status.

Use Veil ID for Credit Checks

After minting your identity pass, the dashboard shows your Veil ID — a globally unique identifier in the format did:veil:0x…. This is a Decentralized Identifier (DID) that connects your private Midnight credit profile to your CKB identity pass.

Your Veil DID is safe to share with any app that wants to check your credit status. It does not reveal your seed phrase, Midnight private key, CKB private key, or raw credit history.

After the identity pass is minted, use the Copy ID button, the QR card, or Copy Verify Link to share your identity with apps. The dashboard shortens long identifiers visually, but the copy buttons always copy the full values.

  • Veil ID — your did:veil:0x… DID shown in the identity pass card. This is the main identifier to share.
  • Verify Link — a URL pointing to the DID resolution endpoint for your DID. Apps can follow this link to verify your identity.
  • QR Code — encodes the same verify link. Apps can scan it to initiate a credit check without you typing anything.
  • Record ID — the CKB Spore record ID shown in the pass details. Used internally by the backend.
  • ID Hash — the 0x-prefixed hash stored inside the pass content. Technical integrations may ask for this.
  • Veil key — also called userPk; used by protocols to submit behavioral events for your profile.

A lending app or other checker should not ask for your seed phrase or private keys. It asks your CKB wallet to sign a short authorization message tied to your Veil DID, then sends that signed request to Veil for a credit decision.

CKB wallet message to sign (DID flow)
Veil credit decision authorization
did:<your-veil-did>
challenge:<challengeHex>
verificationMethod:<your-veil-did>#ckb-owner-1
registryVersion:1
purpose:credit-decision

The backend checks that the signed request is fresh, the Veil DID is registered on Midnight, and the signing CKB wallet owns the associated identity pass. If those checks pass, Veil returns a minimized result: approved, scoreBand, maxLtvBps, and riskPremiumBps.

What to share with a verifier
Share your Veil DID (did:veil:0x…) or verification link with apps you want to use. The DID is safe to share publicly — it does not expose your score, private keys, or wallet addresses on other chains. Never share wallet seed phrases, private keys, or browser private-state exports.

What To Share Back

After testing, send the Veil team the following:

  • Whether you completed the full flow or where you got blocked
  • Your browser and operating system
  • Which Midnight wallet you used
  • Which CKB wallet you used
  • The record ID and CKB transaction hash if minting succeeded
  • A screenshot of any error message
  • Console errors only if the team asks for debugging details

Troubleshooting

IssueWhat to try
Midnight wallet does not appearUnlock the extension, refresh the page, and try Chrome or Brave.
Create Veil ID takes a long timeUnlock the Midnight wallet, refresh, and retry.
CKB wallet cannot mintCheck that the wallet is on testnet and has enough testnet CKBytes.
Identity pass mint succeeds but app does not updateSave the transaction hash, refresh the dashboard, and reconnect both wallets.
Credit check says unrankedThis can happen when no activity exists yet for your Veil ID.
Tip
If you are retrying with the same wallet after a failed test, refresh the page first. If the team redeployed the contract, use the latest app link and start with a clean test wallet when possible.