Disburse
The Disburse API
The Disburse functionality is used to manage royalties, auctions and settlement of token trades. Settlement is currently in USD and USDC. The API requires an API key and has an endpoint of https://api.instamint.com/v1/disburse. This API needs to be enabled by the admin of a client. Fractionalization and royalties featured are embedded into and accessible via the Meta API and only if Disburse is enabled.
Auctions
An asset can be auctioned using one of several auction strategies. Currently, the only auction strategy available is open ascending where each bidder can only bid higher than the current best bid. If the bidder bids at or above the ask, a trade is effected. Conversely, a seller can accept the current best bid and effect a trade. Trades are settled with USD or USDC debited and credited accordingly. Note that a trade is not the same as a transfer in Instamint. A transfer does not require an auction, an asset’s ownership can simply be changed.
Auctions are objects in Instamint, and an Asset can be associated with zero or one auction at any given moment. Once an auction is closed, either via expiration or a manual stop, the auction continues to exist and can be examined, despite not being live. An asset can again be part of a new auction. A new auction is by POSTing parameters including the Instamint asset hash ID, duration (in days), ask and reserve price.
Endpoint | Description | Ops Charge |
---|---|---|
/auction/create | Create an auction for a specific asset, duration (days) specifiying ask, reserve and currency | 20 |
/auction/info | Get information for a current or historic auction | 5 |
/auction/current | Get the auction the asset is currently involved in, if one | 5 |
/auction/bid | Bid on asset | 10 |
/auction/acceptbid | Seller accepts the best bid | 20 |
/auction/trade/info | Get info for a trade executed as a result of an auction | 5 |
/auction/close | Stop auction | 5 |
A trade occurs if a seller accepts the best bid or a buyer bids at or higher than the ask. On either events, a trade is executed and a trade ID is generated. A trade confirmation will look like the below.
Royalties
When an asset is minted, a royalty can be specified in basis points and is specified during minting.
Currently, Ethereum does not support a widely adopted enforcement of royalties. Royalties are only a suggestion on chain. For new deployments of ERC721 or ERC1155 smart contracts, EIP-2981 can be embedded to create this on-chain suggestion.
In the case of Algorand, a contractType
of arc18 should be specified if an on-chain royalty contract deployment and enforcement is desired. Using arc3 results in only off-chain royalty enforcement. If arc18 is used, an additional transaction is generated and the minting of the ASA and deployment of the royalties enforcement smart contract is done under a single atomic transaction. Therefore, two transaction hashes would be relevant to the issuer, one for the minting of the ASA and the second for the deployment of the royalties enforcer contract. Both hashes are stored and displayed via Console.
Although Instamint deploys a royalties smart contract royalties are enforced and collected off-chain and only via auctions. For example, Party A issues an asset as arc18 with royalties of 100bps, sells it to Party B that in turn sells to Party C. The second transaction occurs off-chain and Party A is awarded 100bps of the gross amount of Party C's purchase price.
In the future, Instamint will allow for parties to self-custody their assets. With royalty smart contracts embedded with the on-chain token, as is the case with arc18, parties will still be able to collect their royalties. Moving an ERC721 token from Instamint to a different platform may create risks around royalty collection.
Last updated