The official knowledge base for the Credit Blockchain.


A cryptocurrency wallet is an app/device, physical medium, program or a service that allows cryptocurrency users to store and retrieve their digital assets. It stores the public and/ or private keys for cryptocurrency transactions. When a user acquires cryptocurrency, he/she can store it in a cryptocurrency wallet and from there use it to make transactions.

In addition to this basic function of storing the keys, a cryptocurrency wallet more often also offers the functionality of encrypting and/or signing information.

Credit QT wallet is a piece of software that enables you to send and receive Credit. It contains pairs of public and private cryptographic keys. The keys can be used to track ownership, receive or spend Credit coins. A public key allows others to make payments to the address derived from it, whereas a private key enables the spending of credit from that address.
The basic wallet functionalities can be found on the left side of the menu such as:

● Send
● Receive
● Smart Contract
● Transactions

Every crypto wallet acquires a unique cryptographic address. Such is the case with the Credit wallet.

The send Menu performs different functions which are quite easy to learn and use.

Click the “Send” button of your Credit wallet

Pay to: Enter/paste the recipient’s address you desire to send Credit to (only Credit addresses will work).

 Label: This is optional. it is just a name/tag

Amount: Enter the amount of Credit you would like to transfer/send.

 Verify that you have copied the correct address as sending Credit to the wrong address will result in the loss of your coins

 Double check you’re sending your coins to the correct address

Click on the “Send” button and the Credit coins will be sent to the address entered above.

You can receive Credit coins to your Credit wallet from another wallet by providing the sender with one of the following:

Your wallet receive address:

Your QR code

It’s important to note that, if you’re receiving Credit coins from another Credit wallet, the sender can send it to your email address or phone number. This will make the transaction instant and free.

You can display your Credit wallet address and even generate new ones!

This is useful for receiving from more than one sender and helps you keep track of each transaction.

Finding your receiving/deposit address or QR code

Simply click on “Request Payment” and you’ll see a pop-up dialog with your Credit wallet deposit address. Note: Here you’ll see your existing wallet address or the option to add a receive address. Here you can receive coins from your exchange or from other users

If you’re new to Credit QT, you’ll need to add a receive address first. Share your receive address or QR code with the person who is sending Credit coins to you.

Warning: send the right currency to the right receive/deposit address

You can only receive Credit coins (Credit) in your Credit wallet. Note that different cryptocurrencies are incompatible with other receive addresses. If you, for instance, send Ethereum (Eth) to your Credit receive address, the funds will be lost.

As soon as someone gains access to your computer, they can spend your coins instantly. Therefore, you should properly encrypt your Credit wallet.

The latest Credit core client contains a feature that encrypts your wallet with a passphrase/password.

It is important to encrypt your wallet before making the backup, as this will allow the backup to be encrypted as well.

Go to Settings >> Encrypt Wallet.

Set a very strong and difficult-to-crack passphrase(password), preferably a password that contains numbers, uppercase and lowercase letters and symbols such as @ or # with at least 12 characters long as a minimum. Please remember this password because without it, you’ll lose access to your Credit.

A warning pops-up reminding you to save/remember this passphrase as there’s no way to recover your Credit without it.

 Click OK to save the passphrase

For sending and private key commands, you will find the unlock wallet options under Settings >> Unlock Wallet. Just enter your passphrase to unlock your wallet.

Note: Use the Unlock wallet page to completely unlock the wallet (uncheck the “for staking only box”). To unlock the wallet for staking only, follow the procedure for Staking below. 


To access the backup option, Navigate to File/Backup Wallet after that enter route and name.

Enter the backup name and verify the route where the wallet is being saved to, then click save. You have successfully backed up your wallet.

Note: Ensure that you backup immediately after encrypting the wallet.

Go to File >> Restore wallet, this opens a dialog allowing you to restore directly from the Credit-core QT wallet!

Select the wallet backup with the reindex option selected (salvagewallet can also be used if necessary).

Note: The only way to restore your wallet is through your backup phrase. Make sure you write down your backup phrase which is the only way to restore access to your wallet in the event of a lost password.

Crypto staking is a way to earn passive income by holding some cryptocurrencies. Only cryptocurrencies running on PoS, or proof-of-stake, are eligible for staking.

Staking is the mechanism that secures blockchains and verifies the transactions.

Arguably the main reason why staking has become so popular is because it enables crypto holders to earn substantially higher APYs than traditional savings accounts or money market funds.

For Credit staking to occur, the following has to be in place:

  1. There must be over 500 confirmations on every transaction on the blockchain
  2. Unlock your wallet prior to staking (preferably, before reaching 500 confirmations on your inputs).
  3. Keep your wallet open at all times, otherwise, if your coins are mature, they won’t be able to stake.

To unlock the wallet for staking only.

Select the main menu “Stake” option to show the Stake page. Click the Staking button to the right, then enter the passphrase to unlock for staking only and activate staking.

IMPORTANT: If you are unlocking the wallet using Settings >>Unlock wallet and the Unlock wallet page, the Stake menu Staking button must also be clicked to the right to activate staking.

Remember to have your wallet open 24/7. If you close it, you won’t be able to stake

 Please make sure “for staking only” is selected.

When using the Credit Qt, you can access the console tab from the “Windows” menu, as shown here:

The console tab is incredibly useful, although it’s mostly for advanced uses, it is a very powerful tool and can perform actions that aren’t really possible using the graphical interface.


Credit Offline Staking allows the address for a non-staking wallet (capable of making the delegation assignment transaction) to be delegated to a Super Staker. Offline Staking is non-custodial: the delegation user keeps full control of their coins and private keys. The address delegation is made via a smart contract transaction from the delegation user’s wallet which identifies the delegator’s address, the Super Staker’s address, and the fee the delegator agrees to pay. If the Super Staker accepts this fee, it will begin staking the delegated address UTXOs.

The normal rules for staking UTXOs apply to delegated UTXOs:

  • UTXOs may only be used for staking after they mature (500 confirmations)
  • The Super Staker will set a minimum size of UTXOs to stake, defaulting to 100 CREDIT. Delegated UTXOs below this amount will be ignored.
  • It is best practice (for optimum returns) to break UTXOs up into sizes of 100 to 200 CREDIT each. For users of the Credit Core wallet, this can be easily accomplished with the command line version of splitutxosforaddress, described below.

To make the delegation assignment from the Credit Core wallet, select Stake – Delegations, the Add delegation “+” button in the upper right corner, enter the Staker’s name (for local reference only), Staker’s address, fee you agree to pay, and your address to be delegated. Leave the default Gas settings alone unless you understand how to set these. The delegation transaction will require at least 0.9 CREDIT in fees and any excess will be refunded.

Press Confirm and Yes to send the delegation transaction.

The Delegate Address transaction is sent to a smart contract which keeps the delegation assignments and will be picked up by the Super Staker there. You can see Delegated Address block reward transactions in the wallet and also with the explorer

If the wallet is holding CREDIT on multiple addresses, the delegation must be made separately for each address (and the transaction fee paid for each address) so it may make sense to consolidate the UTXOs to a single address before splitting UTXOs and delegating. In this case, use coin selection to select and consolidate the addresses. Alternatively, the sendmanywithdupes command could be used to send the entire wallet balance to a new address with appropriately-sized UTXOs.

If the Super Staker accepts a delegation for a particular fee, and then the Super Staker reduces that fee (accepts assignments for a lower fee), to take advantage of that lower fee the user must delegate their address again with the lower fee set.

Delegations from a wallet may be checked on the Stake – Delegations page or with the getdelegationinfoforaddress command.

Backup your wallet to save a copy of the wallet.dat file.

The Credit Core wallet provides online Proof of Stake and can be launched and configured to operate as a Super Staker and receive address delegations.

To configure the Credit-Qt wallet for a Super Staker, select Stake – Super Staking and the “+” button to add a new Super Staker. Enter the Staker name (for local reference only, here using the first part of the address and “10” to denote a 10% fee) and select the Staker address using the dropdown.

To operate as a Super Staker, the wallet must be able to check arbitrary addresses (address index), have logs enabled for smart contract operations (log events), be enabled for staking and the single parameter -superstaking=true sets these three parameters. The first time launching with -superstaking=true, the wallet will rescan the blockchain to rebuild the database to add the address index and log events.

Next, the wallet will prompt to be restarted as a Super Staker using Settings – Options – Enable super staking and OK to restart the wallet.

On startup, the wallet will confirm that you want to scan and rebuild the database.

The wallet will show “Reindexing blocks on disk…” and “Syncing Headers” while it rebuilds the database, this may take several tens of minutes depending on your computer.

After launching, go back to the Stake – Super Staking page and select the “Configure super staker” button (the gear symbol will now be visible) to compete the Super Staker configuration. Click the Custom box to see the default recommendations (shown below) or customize the setup. Click OK to complete the setup.

The configuration settings are:

  • .Minimum fee – The minimum fee offered by delegators that the Staker will accept.
  • Minimum UTXO size – This sets the minimum-sized UTXO that will be evaluated for Proof of Stake consensus by the Staker. Over time, the delegated address should accumulate many small block reward UTXOs and it is inefficient to manage all these small amounts (which should be recombined by the delegator).

Delegation list type:

  • Accept all – Accept any delegation with the minimum fee or more.
  • Allow list – Only accept delegations from specific addresses. Use this mode if operating a Super Staker only for specific addresses, such as for your coins.
  • Exclude list – addresses to exclude from being accepted for staking.

Next, split the UTXOs to valid amounts for committing stakes by the Super Staker. The UTXOs must be a minimum amount of 100 CREDIT. On the Super staker page select the split coins button (trident icon) and use the default values or make adjustments, but no UTXOs under 100 CREDIT will be used for staking.

You can also split UTXOs with the splitutxosforaddress command, which can be used for delegated addresses as well. To split the UTXOs between a minimum and maximum value, enter the command:

splitutxosforaddress “address” minValue maxValue ( maxOutputs )

For example, if a wallet held UTXOs of 40, 50, 60, 70, and 800 CREDIT, to split these into UTXOs of a minimum 100 and maximum 200 would use the command:

“`splitutxosforaddress “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx” 100 200

{ “txid”: “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”, “selected”: “1020.00”, “splited”: “1020.00” } “`

Like this example, the total input was 1,020 CREDIT, and the split was 9 UTXOs of 100.0 and one of 119.99566, the wallet sending a “transaction to self” and paying a fee of 0.00434 CREDIT.

Larger wallets may need to adjust the “Maximum outputs” number for splitting. In the example above with the “Maximum outputs” field set to the default value of 100, the split operation will split giving 100 CREDIT (minimum size) x 100 (Maximum outputs) = 10,000 of UTXO value. For addresses holding more value the “Maximum output” field could be set higher, to 500, or 1000. With the “Maximum outputs” field set to 1000 it can split up to 100,000 in UTXO value. Even bigger addresses could just repeat this split command set for 1000 Maximum outputs until the Split operation reports back that it has selected and split 0 coins.

Previously you could use the sendmanywithdupes command but that took significant formatting and operationally you would want to send to a new address. Of course, after either of these commands, the UTXOs must mature for 500 confirmations before they can be used for staking.

These steps show the transition from a default installation Credit Core wallet to a Super Staker. The wallet may also be initially launched as a Super Staker to shorten the steps. In this case, the initial blockchain sync is accompanied by building the database for address index and log events (as discussed above) so the wallet is all ready for Super Staking.

The Credit Core wallet may be launched as a Super Staker with Credit-Qt using Settings – Options – Main – Enable super staking steps as shown above, or directly through the command line using the -superstaking=true parameter (testnet shown here).

This command for the default program directory on Windows would be:

credit-qt -testnet -superstaking=true

When the wallet launches and syncs the blockchain (creating address index and log events) it is all ready to add Super Stakers. Configure a Super Staker and then enable super staking on Settings – Options – Main – set “Enable super staking” and the Super Staker will be ready.

Any address in a Credit Core wallet running as a Super Staker may receive delegated addresses and operate as an individual Super Staker. The Desktop GUI wallet Credit-Qt allows configuration of multiple Super Staker addresses with different fees and minimum UTXO sizes. The daemon/server wallet creditd runs all its Super Staker addresses using the same fee and minimum UTXO size. If a variation is needed across multiple Super Staker addresses with creditd, it is possible to set these up with the Credit-Qt wallet and simply transfer the wallet.dat file to creditd.

The following setup for creditd shows the use of a single Super Staker address.

After installing creditd, launch with the following parameters (testnet shown):

./creditd -testnet -superstaking=true

Optional parameters may be added to change the default fee (of 10%) and minimum UTXO value (of 100 CREDIT), for example as:

-stakingminfee=12 -stakingminutxovalue=120

Once the wallet syncs the blockchain, get an address to send some CREDIT. This will be the Super Staker address. Use the command:

./credit-cli -testnet getnewaddress “legacy”

Then send 1,300 CREDIT to this address.

This 1,300 CREDIT will arrive in a single UTXO, which must be split for the Super Staker operation. Use the splitutxosforaddress command with the default 100 minimum size and 200 maximum size:

./credit-cli -testnet splitutxosforaddress “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx” 100 200

The command response shows that 1,300 CREDIT were selected for splitting, in this case splitting into 12 UTXOs which can be seen with the txid on the Explorer.

At this point, the creditd wallet is ready for Super Staker operation with address xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, and delegations can be monitored using the command:

getdelegationsforstaker “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”

The Super Staker must hold UTXOs to commit to stakes for the delegated UTXOs it is staking. The number of UTXOs (of minimum size 100 CREDIT) is based on Delegated Weight as a percent of overall Network Weight, and good values are 30 UTXOs for staking 1% of Network Weight, 50 UTXOs for 2.0%, 100 UTXOs for 5% and 160 UTXOs for staking 10% of overall Network Weight.

Super Stakers should monitor their Wallet weight (UTXO weight minus amount currently staking) and add UTXOs if it drops below several thousand.

Make a backup of the wallet (save the wallet.dat file) after changes in the offline staking configuration such as adding a Super Staker or adding a delegation, because the offline staking configuration is saved in the wallet.dat file. If the backup wallet.dat file is lost the configuration may also be restored with Recovery as shown below.

Delegations to a Super Staker may be checked using the “Delegations…” button on the Super Staker page or with the getdelegationsforstaker command

Normally delegation and Super Staker configuration are stored in the wallet.dat file. If there are problems with the wallet.dat file the delegation information and super staker information may be recovered using the Restore button on the delegation and Super Staker pages. In this case, the wallet will rescan the “state” contract memory for offline staking transactions for the appropriate addresses.


You can use CRC20 token code to create your own CRC20 token on Credit.

 For emphasis, we will be using the Rasputin testnet.

-Download and install the Credit Core Wallet.

-After installing the Credit Core wallet from here , allow it to synchronize properly.

Locate the wallet receiving address by selecting Window>> Receiving addresses. Then select and copy the wallet receiving address qXGdYmLypZRy8pTpj9EdTBHkqtv6cv99ky.

Note: CREDIT will be needed to pay for the smart contract gas, transaction fees and also get some testnet CREDIT from the Credit Testnet Faucet.

Paste the receiving address into the faucet address field and press the blue check-mark button.

Copy the token code at CRC20Token. You can change name, symbol and total supply to your preference in the CRC20Token.sol file. For this emphasis, we will name the token “CRC TEST 444”, the symbol “CT444” and a total supply of 1,000,000,000 which is entered as “10 9”. We will leave decimals set for 8, to give 8 decimal places for each token, you should send a 1.12345678 token amount.

After editing the Solidity file, save it locally or just copy and paste into Remix.

Next, we will use Remix to compile the Solidity code into byte code. In a browser, go to Remix at and select the SOLIDITY Environment.

Click the “+” button to create a new file.

Enter the file name “CRC20Token.sol” then “OK” to create a new file.

Paste the source code from the CRC20Token.sol file.

You can see here that, the code has been edited. Token name “CRC TEST 444”, with the symbol “CT444”, and a supply of 1 billion.

To create a new file, enter the file name as “SafeMath.sol” and paste in the code for SafeMath.sol.

Select the compiler button on the left side.

The compiler tab is shown below. You can leave the Solidity version set for 0.4.26. At the top, click the tab for CRC20Token.sol to select that file to compile, and click the blue Compile CRC20Token.sol button to compile the source code into bytecode.

Ignore the warnings.

To copy the byte code, click on the byte code button.

Paste the copied byte-code into a text editor, select just the numeric characters for the object code.

Locate the wallet, go to Smart Contracts>> Create and paste the copied object code into the “Bytecode” field.

At the bottom of the Create Contract form, click the drop-down on “Sender Address” and select the address you prefer. This sets the address to be used by the contract. Leave the gas set at 25000000 and price set at 0.0000040 unless you know how to safely adjust this. Click the Create Contract button and Yes to send the transaction.

The wallet will confirm the transaction on the “Result 1” tab. Copy the Contract Address.

The wallet transactions page displays various transactions as shown in the image below.

First, the wallet received 90.0 CREDIT sent from the Testnet faucet.

Next, the contract create transaction sent the contract bytecode and fees of 1.01414 CREDIT.

Finally, the wallet received a gas refund of 0.623456 CREDIT. Gas refunds are sent in the coin-stake transaction, so they are shown as “mined” in the wallet and must mature to 20 blocks before they can be used.

You can also see the contract create transaction on

The transaction was sent with 2,500,000 gas at price of 0.00000040 CREDIT. The contract creation used 941,360 gas giving a gas refund of 2,500,000 – 941,360 = 1,558,640 at price of 0.00000040 or 0.623456 CREDIT for the refund.

Smart contract transactions are not sent to the wallet address but to smart contract address. Hence, for the wallet to see or make smart contract transactions, it must inform the wallet by “adding” the token. To see the new token in the wallet, select CRC Tokens and the “+” button to the right of the add new token.

Paste the contract address 137d046beb3cb66c0cdd389bf8bab4faeae16c0b into the “Contract Address” field, and the rest will be autofilled.

At the bottom of the form, click the drop-down arrow to the right of the Token address field and select your preferred address and Confirm. If the wallet is using multiple addresses, chose the correct Credit address that was used to create the token.

When the log events menu pops up, you will see “Enable log events from the option menu to receive token transactions” click ok and confirm.

To send CRC20 tokens, select CRC20 tokens and Send.

Note: There is a single row listing for the CT444 token tied to your address, but tokens could be tied to different addresses of this wallet, hence, they would be listed individually and need to be sent individually.

Fill in the fields for “PayTo” and “Amount”. The “Description” field is optional. Click Send and Yes to complete the transaction.

Wallet Transactions display the contract send transaction. To see the transaction ID and details, right-click on the transaction

We can follow up now on the previous prompt to enable log events. For the wallet to fully display token transactions, it needs to have log events enabled. Select Settings >> Options and click to select Enable log events. You must restart the wallet and re-scan. The prompt will show “Client restart required to activate changes.” Select OK then Yes. The wallet exits, afterwards restart the wallet.

When the wallet restarts, click OK to rebuild the block database.

The wallet status will show “Reindexing blocks on disk…” and “Syncing headers” for several minutes or several tens of minutes, depending on your computer.

CRC20 token balances are managed by the smart contract for individual Credit addresses, even if these Credit addresses are for the same wallet.

Continuing the example above, we sent 500 CT444 tokens to the wallet on a new receiving address. To show this new transaction of CT444 tokens in the wallet we must complete the Add Token step for this new address.

Now the tokens for each tied address are shown separately and each row can be used separately for send and receive operations.

This document explains the basics of interacting with an CRC20 contract with the creditd CLI command tool.



We recommend that an exchange use one main address to store tokens for all users. Below MAIN_CRC_ADDRESS is the main address.

The address of the CRC20 token contract is TOKEN_CONTRACT_ADDRESS.

  • gas limit is DEFAULT_GAS_LIMIT, recommended value is 250000
  • gas price is DEFAULT_GAS_PRICE,recommended value is 00000040

TOKEN_DECIMALS is the decimals of the token, which varies per token. Here we set it 8.

We’ll use the following utility functions:

  • addressToHash160- Convert base58 address to hash160 address.
  • to32bytesArgleft-pad hex data to 32 bytes with 0.
  • addDecimalsmultiply the nominal token amount by the number of decimal places.


Always remember to enable the indexing service when starting creditd, using the flags -logevents -txindex.

Interacting With CRC20

In the CLI examples below, please substitute {} with actual addresses and values.

Getting Token Balance

User address is the deposit address

credit-cli callcontract \    {TOKEN_CONTRACT_ADDRESS} \    70a08231{to32bytesArg(addressToHash160($userAddress))}

In the JSON output look for executionResult.output. This is the token balance.


User’s address is the withdraw address

Amount is the amount withdrawn in unit token

credit-cli sendtocontract \    {TOKEN_CONTRACT_ADDRESS} \    a9059cbb{to32bytesArg(addressToHash160($userAddress))}{to32bytesArg(addDecimals($amount)) \    0 \    {DEFAULT_GAS_LIMIT} \    {DEFAULT_GAS_PRICE} \    {MAIN_CRC_ADDRESS}

The command returns the txid of this transaction. You may use it to find information about this transaction (e.g. number of confirmations).

Generate a deposit address

For an exchange, a user may use the same address for both CREDIT and other CRC20 tokens.

Use this command to generate a deposit address:

credit-cli getnewaddress

Deposit and Withdraw Logs

Starting Block is where you want to start looking at (inclusive)

You can start looking from 0, but for better efficiency, you should remember where to start looking.

credit-cli searchlogs \    STARTING_BLOCK \    999999999 \    ‘{ “addresses”: [“TOKEN_CONTRACT_ADDRESS”]}’ \    ‘{“topics”: [“ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef”]}’

The event type filtered is the transfer event:

event Transfer(address indexed _from, address indexed _to, uint256 _value)

Look through the logs to filter by to or from addresses.

Checking Confirmations

Given a transaction id $txid:

credit-cli gettransaction $txid

Use the property confirmations from output.


In this document we’ll be looking at how to safely use the CREDIT wallet. Please keep in mind these VERY IMPORTANT topics:

  1. Encrypt your wallet BEFORE backing up
  2. Make several backups of your password, preferably, make paper backups of your password.
  3. Double check, no, Triple check your password to make sure you wrote it down correctly. Without your password, no one will be able to access your wallet.
  4. Once you’ve backed up and tested your password, make a backup of your wallet.
  5. Try to keep several copies of your backup in safe locations only, do not use public online services for this, do not trust 3rd party services with your holdings.

Let’s review how to:

  • Encrypt
  • Backup wallet
  • Restore

Wallet Encryption

First, encrypt this wallet before making the backup, this will allow the backup to be encrypted as well. Go to settings >>Encrypt wallet.

Next, enter the password for this wallet, please remember this password because without it you’ll lose access to your Credit.

After the password is entered and accepted, the wallet will restart and it’ll be encrypted. AGAIN, do not forget or lose your password, without it, you will never be able to gain access to your CREDIT.

Wallet Backup

It’s recommended to make the backup after encrypting the wallet.

To access the backup option, go into File/Backup Wallet and then enter route and name.

After the backup name is entered and the route where the wallet is being saved to has been verified, click on save. Now you’ve successfully backed up your wallet.

Restore wallet backup

Recent versions of CREDIT wallet have implemented backup management from the UI. It’s a breeze to backup and restore your CREDIT wallet!

Go to File >> Restore wallet, this will open a dialog which will allow you to restore directly from the Credit-core QT wallet!

Here the wallet backup with the reindex option are selected (salvage wallet can also be used if necessary).


In order to update we need to do the following;

  1. Close the wallet
  2. Download latest Credit wallet version from either one of these links:
  3. Install the latest wallet using the windows installer
  4. Once the installer finishes, launch the wallet 
  5. All done! you’ve updated Credit to the latest version available!
  • Close the wallet
  • Download latest Credit wallet version from this link:
  • Install the latest wallet using the Mac OS dmg
  • Once the upgrade finishes, launch the wallet
  • All done! you’ve updated Credit to the latest version available!