Evolution SDK
Staking

Delegation

Delegate stake to pools and voting power to DReps

Delegation

Once your stake credential is registered, you can delegate your stake to earn rewards from a pool and delegate your voting power to a DRep for governance participation.

Delegate to a Pool

Assign your stake to a stake pool to earn rewards:

import { ,  } from "@evolution-sdk/evolution"

const  = ({
  : "preprod",
  : { : "blockfrost", : "https://cardano-preprod.blockfrost.io/api/v0", : ..! },
  : { : "seed", : ..!, : 0 }
})

declare const : .
declare const : any

const  = await 
  .()
  .({ ,  })
  .()

const  = await .()
await .()

Delegate Voting Power to a DRep

In the Conway era, delegate your governance voting power to a Delegated Representative:

import { , ,  } from "@evolution-sdk/evolution"

const  = ({
  : "preprod",
  : { : "blockfrost", : "https://cardano-preprod.blockfrost.io/api/v0", : ..! },
  : { : "seed", : ..!, : 0 }
})

declare const : .
declare const : any

// Delegate to a specific DRep
const  = await 
  .()
  .({
    ,
    : .()
  })
  .()

const  = await .()
await .()

Special DRep Options

You can also delegate to built-in options:

import { , ,  } from "@evolution-sdk/evolution"

const  = ({
  : "preprod",
  : { : "blockfrost", : "https://cardano-preprod.blockfrost.io/api/v0", : ..! },
  : { : "seed", : ..!, : 0 }
})

declare const : .

// Always abstain from voting
const  = await 
  .()
  .({
    ,
    : .()
  })
  .()

// Always vote no confidence
const  = await 
  .()
  .({
    ,
    : .()
  })
  .()

Delegate Both Stake and Voting

Delegate to a pool and DRep in a single certificate:

import { , ,  } from "@evolution-sdk/evolution"

const  = ({
  : "preprod",
  : { : "blockfrost", : "https://cardano-preprod.blockfrost.io/api/v0", : ..! },
  : { : "seed", : ..!, : 0 }
})

declare const : .
declare const : any
declare const : any

const  = await 
  .()
  .({
    ,
    ,
    : .()
  })
  .()

const  = await .()
await .()

Script-Controlled Delegation

For script-controlled stake credentials, provide a redeemer:

import { , ,  } from "@evolution-sdk/evolution"

const  = ({
  : "preprod",
  : { : "blockfrost", : "https://cardano-preprod.blockfrost.io/api/v0", : ..! },
  : { : "seed", : ..!, : 0 }
})

declare const : .
declare const : any
declare const : any

const  = await 
  .()
  .({
    : ,
    ,
    : .(0n, []),
    : "delegate-script-stake"
  })
  .({ :  })
  .()

const  = await .()
await .()

Next Steps