Quickstart
Get from zero to your first reputation query in under 5 minutes.
1. Get an API Key
- Go to portal.crowdproof.id
- Connect your wallet (MetaMask, WalletConnect, Coinbase Wallet, or Rainbow)
- Navigate to API Keys in the sidebar
- Click Create API Key — copy the key immediately (it's only shown once)
Your API key will look like: did_live_abc123...
tip
All API requests require the X-API-Key header. The only public endpoints are /health, /api/v1/identity/register, and /swagger.
2. Install an SDK
- TypeScript
- Python
- Go
- C#
- cURL
npm install @decentra-id/sdk
import { DecentraID } from "@decentra-id/sdk";
const client = new DecentraID({ apiKey: "did_live_...", network: "mainnet" });
pip install decentra-id
from decentra_id import DecentraID
client = DecentraID(api_key="did_live_...", network="mainnet")
go get github.com/crowdpay/crowdproof-go
client := decentraid.NewClient("did_live_...", decentraid.WithNetwork("mainnet"))
dotnet add package DecentraID.SDK
var client = new DecentraIDClient(new DecentraIDConfig { ApiKey = "did_live_...", Network = "mainnet" });
curl https://crowdproof-api.azurewebsites.net/api/v1/reputation/0x1234.../scores \
-H "X-API-Key: did_live_..."
3. Query Your First Score
- TypeScript
- Python
- cURL
const scores = await client.reputation.getScores("0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045");
for (const s of scores) {
console.log(`${s.category}: ${s.score}/1000 (${s.tier})`);
}
scores = client.reputation.get_scores("0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045")
for s in scores:
print(f"{s['category']}: {s['score']}/1000 ({s['tier']})")
curl https://crowdproof-api.azurewebsites.net/api/v1/reputation/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 \
-H "X-API-Key: did_live_..."
Response
{
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"scores": [
{ "category": "DEFI_LENDING", "score": 742, "confidence": 0.91, "tier": "High" },
{ "category": "GOVERNANCE", "score": 890, "confidence": 0.95, "tier": "Very High" }
]
}
4. Generate a ZK Proof
Prove a score exceeds a threshold without revealing the actual score:
const proof = await client.proofs.generate({
subject: "0x1234...",
claim: "score_above_threshold",
threshold: 700,
category: "DEFI_LENDING",
});
const result = await client.proofs.verify(proof.proofData);
console.log(result.valid); // true
5. Set Up Webhooks
Receive push notifications when scores change:
curl -X POST https://crowdproof-api.azurewebsites.net/api/v1/webhooks \
-H "X-API-Key: did_live_..." \
-H "Content-Type: application/json" \
-d '{"url": "https://your-app.com/webhooks/crowdproof"}'
caution
Save the secret from the response — it's only shown once. Use it to verify HMAC-SHA256 webhook signatures.
Next Steps
- Reputation Scores → — Score categories, tiers, and confidence
- ZK Proofs → — Deep dive into proof generation and verification
- API Reference → — Full endpoint documentation
- Webhooks → — Real-time notifications setup