Blockchain Support
Supported blockchains, wallets, and token verification details.
Supported Blockchains
Cardano
β Fully Supported
CIP-30 / CIP-8
Ethereum
π Coming Soon
EIP-191 (personal_sign)
Solana
π Coming Soon
Ed25519
Note: We are currently only supporting Cardano. Ethereum and Solana support will be available in the coming days.
Cardano
Supported Wallets
Eternl
eternl
β Recommended
Nami
nami
β Supported
Flint
flint
β Supported
Yoroi
yoroi
β Supported
Lace
lace
β Supported
Typhon
typhoncip30
β Supported
GeroWallet
gerowallet
β Supported
NuFi
nufi
β Supported
Signature Standard: CIP-30
TAGBASE uses the CIP-30 standard for wallet communication and CIP-8 for message signing.
Signing Process:
Response Format:
signature
COSE_Sign1 signature (hex)
key
COSE_Key public key (hex)
Address Formats
TAGBASE accepts both formats and normalizes automatically:
Bech32
addr1qx2kd28nq8ac5pr...
Hex
019bd6451e65b9f5...
Token Holder Verification
For Cardano native tokens, TAGBASE verifies:
Signature validity β Cryptographic proof the wallet signed the message
Token ownership β The wallet (or any address under the same stake key) holds the token
Stake Key Matching:
Cardano wallets often use multiple payment addresses under a single stake key. TAGBASE handles this by:
Looking up the stake address for the signing address
Fetching all payment addresses linked to that stake key
Checking if any of those addresses hold the required token
Token Data Requirements
For holder verification, tokens must have:
asset_id
Yes
Policy ID + Asset Name (hex)
policy_id
Optional
Token policy ID
fingerprint
Optional
CIP-14 asset fingerprint
Note: Blockfrost API is used for on-chain token holder lookups.
Ethereum (Coming Soon)
Planned Wallet Support
MetaMask
WalletConnect
Coinbase Wallet
Rainbow
Trust Wallet
Signature Standard: EIP-191
Token Standards
Planned support for:
ERC-721 (NFTs)
ERC-1155 (Multi-tokens)
ERC-20 (Fungible tokens)
Solana (Coming Soon)
Planned Wallet Support
Phantom
Solflare
Backpack
Signature Standard
Ed25519 message signing via Solana wallet adapters.
Verification Message Format
All blockchains use the same message structure:
Verification ID
Links signature to specific product
Nonce
Prevents replay attacks
Expires
5-minute validity window
Security Model
What Gets Verified
Signature validity
Cryptographic proof of wallet control
Message integrity
Signed message matches challenge
Expiry check
Challenge not older than 5 minutes
Token ownership
Wallet holds the required token
What's NOT Required
No transaction fees (signing is free)
No private key exposure
No on-chain transactions
No token transfers
Privacy
Wallet addresses are masked in public responses (e.g., addr1q...x7k4)
Full addresses stored securely for verification
No wallet balances or other assets are accessed
Network Requirements
Cardano
Mainnet only
Ethereum
Mainnet (planned)
Solana
Mainnet (planned)
Testnet signatures are not accepted for production verifications.
Troubleshooting
"Token not in wallet"
Token held by different address
Use wallet containing the token
"Signature verification failed"
Message mismatch or invalid signature
Retry with fresh challenge
"Challenge expired"
More than 5 minutes elapsed
Request new challenge
Wallet not detected
Extension not installed/enabled
Install and enable wallet extension
Wrong network
Connected to testnet
Switch wallet to mainnet
API Endpoints Summary
POST /verifications/{id}/challenge
All
Get signing challenge
POST /verifications/{id}/proof
Cardano
Submit CIP-30 proof
POST /verifications/{id}/proof
Ethereum
Submit EIP-191 proof
Last updated