Planned — This channel is on our roadmap.
CIP-30 Compatible
Cardano Verification
Verify Cardano wallet control through CIP-30 message signing. Works with Nami, Yoroi, Eternl, and all CIP-30 compatible wallets.
Proofproof.holdings · verification api
AttestationNº 2026-0091
subjectaddr1q…9f4d
channel
Signed message · CIP-8
challengesigned proof-verify 8f2c with the key
received14:24:10 UTC
verdictControl proventhe private key signed — nothing left the wallet
Mintedctrl_7e4c…a90 · ES256
How It Works
CIP-30 data signing verification
§ 01
Create Challenge
Call our API with the Cardano address. We generate a unique message for the user to sign.
§ 02
User Signs Message
User signs the challenge message with their wallet (Nami, Yoroi, Eternl, etc.). No transaction needed.
§ 03
Proof Generated
We verify the signature and return a proof token confirming wallet control.
API Integration
Integrate Cardano wallet verification
1. Create Verification Request
curl -X POST https://api.proof.holdings/api/v1/verifications -H "Authorization: Bearer pk_live_YOUR_API_KEY" -H "Content-Type: application/json" -d '{
"type": "wallet",
"channel": "cardano",
"identifier": "addr1qx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzer3jcu5d8ps7zex2k2xt3uqxgjqnnj83ws8lhrn648jjxtwq2ytjqp"
}'2. Verify the Proof Token
# After user signs the challenge message
curl -X POST https://api.proof.holdings/api/v1/verifications/VERIFICATION_ID/submit -H "Authorization: Bearer pk_live_YOUR_API_KEY" -H "Content-Type: application/json" -d '{
"signature": "0x..."
}'Response Example
{
"id": "507f1f77bcf86cd799439011",
"type": "wallet",
"channel": "cardano",
"status": "verified",
"identifier": "addr1qx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzer3jcu5d8ps7zex2k2xt3uqxgjqnnj83ws8lhrn648jjxtwq2ytjqp",
"verified_at": "2026-03-15T10:30:00Z",
"proof": {
"token": "eyJhbGciOiJFUzI1NiIs...",
"expires_at": "2026-04-14T10:30:00Z"
}
}