Delegation
Delegate your voting power to trusted community members who vote on your behalf.
Why Delegate?
Delegation allows you to:
- Participate passively - Your delegate votes while you’re away
- Support experts - Back members with domain expertise
- Maximize impact - High-efficiency delegates amplify your influence
- Earn rewards - Some delegates share governance incentives
Delegation Efficiency
Delegation efficiency determines how much of your power is effectively used:
efficiency = delegateScore × participationRate × tierMultiplier / 10000| Tier | Multiplier |
|---|---|
| Platinum | 150% |
| Gold | 125% |
| Silver | 110% |
| Bronze | 100% |
| Unscored | 80% |
Delegate via SDK
import { CredDAOClient } from '@creddao/sdk';
import { PublicKey } from '@solana/web3.js';
const client = new CredDAOClient({ provider, programId });
// Find a delegate
const delegates = await client.getTopDelegates({
sortBy: 'efficiency',
limit: 10,
});
delegates.forEach((d) => {
console.log({
name: d.name,
address: d.address.toBase58(),
efficiency: d.efficiency,
tier: d.tier,
delegators: d.delegators,
});
});
// Delegate to a chosen delegate
const delegateAddress = new PublicKey('7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU');
const result = await client.delegate({
delegate: delegateAddress,
});
console.log('Delegated!', result.signature);
console.log('Efficiency score:', result.efficiency);Delegate via Frontend
Browse Delegates
Navigate to the Delegates page to see available delegates.
Compare Delegates
Review each delegate’s:
- FairScore and tier
- Voting efficiency percentage
- Number of delegators
- Areas of expertise
- Recent activity
Select and Delegate
Click Delegate on your chosen delegate and confirm the transaction.
Monitor Activity
Track your delegate’s voting activity on your behalf.
Choosing a Delegate
Key Metrics
| Metric | What to Look For |
|---|---|
| FairScore | Higher = more trusted member |
| Efficiency | Higher = better use of delegated power |
| Participation Rate | Higher = votes more often |
| Tier | Platinum/Gold = stronger voting power |
Questions to Ask
Revoke Delegation
Take back control of your voting power:
const result = await client.revokeDelegation();
console.log('Delegation revoked:', result.signature);Revoking delegation allows you to vote directly again. You can delegate to a different member or vote on your own.
View Delegation Status
const profile = await client.getMemberProfile(wallet.publicKey);
if (profile.delegateTo) {
const delegation = await client.getDelegationRecord(wallet.publicKey);
console.log('Delegating to:', profile.delegateTo.toBase58());
console.log('Efficiency:', delegation.delegationEfficiency.toNumber());
console.log('Active:', delegation.active);
console.log('Created:', new Date(delegation.createdAt.toNumber() * 1000));
}Delegation Limits
| Limit | Value |
|---|---|
| Min active days to delegate | 7 days |
| Max delegations | 1 (can only delegate to one address) |
| Cooldown after revoking | None (can immediately re-delegate) |
Delegation vs Direct Voting
| Aspect | Delegation | Direct Voting |
|---|---|---|
| Time commitment | Low | High |
| Control | Shared | Full |
| Expertise needed | Low | High |
| Voting power | Potentially higher efficiency | Your base power |
If you’re knowledgeable about governance and have time to participate, direct voting gives you full control. If you’re less active or prefer expert guidance, delegation is a great option.
Troubleshooting
DelegationAlreadyActive error
You’re already delegating to someone. Revoke your current delegation before delegating to a new address.
InvalidDelegationTarget error
You cannot delegate to yourself. Choose a different member as your delegate.
Delegate not voting
If your delegate is inactive, consider:
- Contacting them through community channels
- Revoking and choosing a more active delegate
- Voting directly on important proposals