Sending coins to delegators

Does anyone have a reliable way to send coins to delegators? YYC is running 5% guaranteed promotion which i need to payout. However i am now realizing the transaction histories are more complicated that expected. How can i easily get a address to send coins to my delegators?

I tried going back through adapools.org selecting a delegator and sending to the listed address but the coins came back to the pool owner wallet??

This is one target wallet. where i tried sending to addr…6q4nns6w

Use BlockFrost API. Program it to retrieve all delegators stake key and then retrieve one address of each delegator. With that list, you cash note program to send payment to each.

If you know the delegators stake address you can also use Cardanoscan - search for the stake address then click view all addresses to see the wallet address(s) holding funds.

Awesome thanks for the tips guys ill try again later. I need to send a 1 to many (~15) transaction so it would be nice to fire that off all at once.

This is how I have been doing it as well. It is fairly manual but easy enough to do.

I wrote a quick script which can do this for you, i manually verified stake address 1,2 and the last address and it all appears to work well - but I stress this was just hammered out so use at your own risk. If anything it serves as a good starting point… You could write to a file etc or paste various outputs into excel. If there is a demand for a tool like this I can formalise it into an executable and add some user input features to make it more friendly… You will need python3 which you most likely have on one of your nodes already… or use pycharm for an easy environment to run it in

You need to get a blockfrost api key… which is very easy and quick - https://blockfrost.io
and replace the headers variable with your API key

import requests
import json
import sys

#replace pool id with your poolid!
poolid = '14eae9da8ab6d322176ea88f40e9d32d843996bf2de88240e35594ea'

delegators_apicall = 'https://cardano-mainnet.blockfrost.io/api/v0/pools/' + poolid + '/delegators'
headers={'project_id' : 'YourAPIKeyHERE'}
delegatearray = []
deutxos = []
stakeaddress = ''
delegatecount = 0
utxocount = 0
try:
    r = requests.get(delegators_apicall, headers= headers)
    print(f'Success http returncode: {r.status_code}')
    jres = json.loads(r.content)
    for delegate in jres:
        print(f' stakeaddress: {delegate["address"]} , stake: {delegate["live_stake"]}')
        stakeaddress = delegate['address']
        delegatecount += 1
        try:
            addresses_apicall = 'https://cardano-mainnet.blockfrost.io/api/v0/accounts/' + stakeaddress + '/addresses'
            r2 = requests.get(addresses_apicall, headers=headers)
            #print(f'Success http returncode: {r2.status_code}')
            jres_address = json.loads(r2.content)
            deutxos.append(jres_address[0]['address'])
        except Exception as e:
            print('AddressesRequestsFailure')
            print(e)
            sys.exit(1)
    print('RoutineCompleteReturningAddressList:')
    print(deutxos)
    for utxo in deutxos:
        print(utxo)
    print(f'DelegatorCount: {delegatecount}')
    print(f'UtxoCount: {len(deutxos)}')
except Exception as e:
    print("DelegatesRequestFailure")
    print(e)
1 Like

Have you look into doing it via dripdropz.io?