Submit Bid
Shio permanently shut down on 12 May 2026. This page is kept as a historical reference only; the Shio feed, bidding APIs, explorer, and RPC endpoints are no longer active.
Once an auctionStarted event had been seen, searchers could submit bids.
The Bid with the highest bid_amount won, while paying exactly that amount.
Conditions for a Bid to be accepted
A Bid had to satisfy all conditions below in order to be accepted.
A Bid could be submitted before the given deadline (specified by
deadlineTimestampMs). Since that window could be extremely short (usually 200-300ms), searchers were strongly recommended to host services in Frankfurt, Germany to avoid unnecessary round trips.A Bid MUST have a lexicologically larger transaction digest compared to the opportunity transaction's. Comparison was done with the two digests' binary form (represented as 32-byte binaries), rather than base-58 encoded. This is because in the implementation of Soft Bundle (SIP-19), Shio chose the transaction with the smallest digest to determine submission order. One way to achieve this was to keep increasing gas budget by 1, until the digest of the transaction satisfied the condition.
A bid had to have the exact
gas_priceas the opportunity transaction's.A bid had to avoid locking any object that had already been locked by the opportunity transaction.
A bid had to contain a MoveCall to the
submit_bidmethod of the Shio package, paying exactlybid_amount, see Interact with Shio Contract.A bid had to pass dry-run in the bundle of [opportunity transaction, bid].
Bid Submission
There were two ways to submit a bid:
A Bid could be submitted directly through the Feed WebSocket connection. This approach appeared to be simpler (by not having to maintain more than one client), however, in case of bid rejection, exact reason would not be returned.
Or alternatively, a bid could also be submitted through JSON-RPC method
shio_submitBid. An error message would be returned directly, explaining why the bid had been rejected if that was the case.
Submission through WebSocket
Searchers sent a message in the following format through the Feed WebSocket connection:
bidAmountis in terms of MIST. This was the amount that needed to be paid on successful execution.txData: Base64-encoded bcs-serialized TransactionData without signature.sig: Base64-encoded signature. Shio only supported the ED25519 signature scheme.
Bids had to be sent within the given Auction Window.
Once sent, the bid would either be accepted or rejected; however, no response would be given.
For troubleshooting, please refer to Submission through JSON-RPC .
Submission through JSON-RPC
Historically, searchers sent a JSON-RPC request to https://rpc.getshio.com in the following format. This endpoint is no longer active.
A response would be returned, containing error message if any.
This approach was not recommended in production, as extra RTTs could be incurred due to HTTP/TLS handshake.
Last updated