DeSo Tokens Transactions API
Description of endpoints used to construct DAO Transactions on the DeSo blockchain
Note: "DAO Coins" are now referred to as "DeSo Tokens" in all public-facing documentation, but the code and API have not yet been updated to reflect this change.
Create DeSo Token (DAO Coin)
POST
/api/v0/dao-coin
Create a DeSo Token transaction. Transaction needs to be signed and submitted through api/v0/submit-transaction
before changes come into effect.
A mint
operation creates new DeSo Tokens
A burn
operation destroys DeSo Tokens
An update_transfer_restriction_status
operation updates the restrictions on transferring a DeSo Tokens
A disable_minting
operation prevents minting of any future DeSo Tokens
Endpoint implementation in backend.
Example usages in frontend: - Make request to DeSo Tokens - Use DeSo Tokens to mint DeSo Tokens - Use DeSo Tokens to burn DeSo Tokens - Use DeSo Tokens to update transfer restriction status - Use DeSo Tokens to disable minting
Request Body
Name | Type | Description |
---|---|---|
UpdaterPublicKeyBase58Check* | String | Public key performing the DeSo Token operation |
ProfilePublicKeyBase58CheckOrUsername* | String | Public key or username of the creator of the Token on whose DeSo Token Updater is operating |
OperationType* | String | Type of DeSo Token operation being perform. Must be |
CoinsToMintNanos | String | Hex string representing the number of DeSo Tokens in this operation. Required if OperationType is |
CoinsToBurnNanos | String | Hex string representing the number of DeSo Tokens burned in this operation. Required if OperationType is |
TransferRestrictionStatus | String | String representing the new transfer restriction status. Valid values are Required if OperationType is |
MinFeeRateNanosPerKB* | uint64 | Rate per KB |
TransactionFees | TransactionFees[] | Array of objects that define additional outputs that need to be added to this transaction |
Transfer DeSo Token (DAO Coin)
POST
/api/v0/transfer-dao-coin
Create a transfer DeSo Token transaction. Transaction needs to be signed and submitted through api/v0/submit-transaction
before changes come into effect.
Transfer DeSo Token coin transactions sends DeSo Token owned by the sender to the receiver.
Endpoint implementation in backend.
Example usages in frontend: - Make request to Transfer DeSo Token - Use TransferDAOCoin to construct, sign, and submit a DeSo Token transfer transaction.
Request Body
Name | Type | Description |
---|---|---|
SenderPublicKeyBase58Check* | String | Public key of the user sending DeSo Token |
ProfilePublicKeyBase58CheckOrUsername* | String | Public key of the creator whose DeSo Token will be sent in this transaction |
ReceiverPublicKeyBase58CheckOrUsername* | String | Public key of the recipient |
DAOCoinToTransferNanos* | String | Hex string representing the amount of DeSo Tokens to transfer in this transaction |
MinFeeRateNanosPerKB* | uint64 | Rate per KB |
TransactionFees | TransactionFees[] | Array of objects that define additional outputs that need to be added to this transaction |
Create DeSo Token (DAO Coin) Limit Order
POST
/api/v0/create-doa-coin-limit-order
Create a new limit order to trade DeSo Tokens. The transaction needs to be signed and submitted through api/v0/submit-transaction
before the order can be placed on the book or the coins are traded.
DeSo Tokens can be traded on an on-chain order book exchange. There are two types of markets where DeSo Tokens can be traded on the exchange: 1) markets where a DeSo Token is traded for $DESO, and 2) markets where a DeSo Token is traded for another DeSo Token.
This endpoint allows the creation of limit orders for either type of market.
Endpoint implementation in backend
Request Body
Name | Type | Description |
---|---|---|
TransactorPublicKeyBase58Check* | String | Public key of the user creating the limit order |
BuyingDAOCoinCreatorPublicKeyBase58CheckOrUsername* | String | Public key or username of the creator of a profile, whose DeSo Token is being bought. If the order is selling a DeSo Token for $DESO, then this parameter needs to be an empty string. |
SellingDAOCoinCreatorPublicKeyBase58CheckOrUsername* | String | Public key or username of the creator of a profile whose DeSo Token is being sold. If the order is buying a DeSo Token with $DESO, then this parameter needs to be an empty string. |
ExchangeRateCoinsToSellPerCoinToBuy* | float64 | The desired exchange rate for the coin being sold relative to the coin being bought. The real exchange rate used to fill this order will be equal to or better than the exchange rate provided here, always in the favor of the transactor. |
MinFeeRateNanosPerKB* | uint64 | Rate per KB |
TransactionFees | TransactionFees[] | Array of objects that define additional outputs that need to be added to this transaction |
QuantityToFill* | float64 | The desired quantity of coins to buy or sell. This is denominated in number of coins (not nanos) and can have fractional values. For example, if you wanted to fill an order of 1 DESO, you would specify 1 here, not 10^9. |
OperationType* | string | Supports values "BID" or "ASK". "BID" signifies that this order wants to buy "ASK" signifies that this limit order wants to sell |
Cancel DeSo Token (DAO Coin) Limit Order
POST
/api/v0/cancel-dao-coin-limit-order
Cancel an open limit order to trade DeSo Token. The transaction needs to be signed and submitted through api/v0/submit-transaction
before the order is cancelled.
This endpoint allows a transactor to cancel a limit order they had previously created. The request will only succeed if the order is still open, and has not been completely filled or previously cancelled.
Endpoint implementation in backend
Request Body
Name | Type | Description |
---|---|---|
TransactorPublicKeyBase58Check* | String | Public key of the user who created the the limit order being cancelled |
MinFeeRateNanosPerKB* | uint64 | Rate per KB |
TransactionFees | TransactionFees[] | Array of objects that define additional outputs that need to be added to this transaction |
CancelOrderID* | string | Unique order identifier for the original limit order to cancel. OrderID is also equivalent to the base64 transaction hash hex of the transaction that created the limit order. |
Last updated