Immutable X dotnet signing sdk | Sign message with .Net for Immutable X
Streamline your integration with the Immutable X Marketplace using a custom-built C# Signature SDK. Designed for developers and businesses looking to save time and reduce complexity, this DLL provides a set of robust, easy-to-use APIs that handle the intricacies of signing requests for the Immutable X platform.
Sending orders to the Immutable X Exchange has never been so simple!
Key Features:
- Effortless Integration: Seamlessly integrate Immutable X functionality into your C# applications with minimal effort, allowing you to focus on building your core features.
- Secure Signature Generation: Generate secure signatures for your transactions, ensuring compliance with Immutable X’s API requirements.
- Time-Saving Solution: Eliminate the need to write, test, and maintain custom code for interacting with Immutable X, speeding up your development process.
- Easy to use: The DLL is super easy to use, with only a single method to call from your code. All the complexity is abstracted!
- Lifetime support for Updates: Stay up to date with regular updates to ensure compatibility with the latest Immutable X API changes and enhancements.
- Reliable Performance: Built with performance in mind, our DLL ensures quick and reliable interactions with the Immutable X Marketplace.
Who Is It For?
- Developers: Simplify the process of integrating Immutable X's functionality into your applications, so you can focus on delivering your core value.
- Businesses: Reduce development costs and time-to-market by using a pre-built solution that ensures smooth transactions on the Immutable X Marketplace.
Why Choose this DLL?
- Time and Cost Efficiency: Save valuable development hours and resources by using a ready-made solution.
- Ongoing Support: Benefit from continuous updates and support to adapt to any changes in the Immutable X ecosystem.
Get your hands on the Immutable X Marketplace Signature API DLL today and accelerate your development with confidence!
How to use it?
- In visual studio, reference the dll (right click on Depencies, add COM Reference, choose the dll)
- Instanciate a new signer
using SigningLibrary;
[...]
var signer = new Signer();
- (Optional) you can also register the signing API from the DI mechanism:
using SigningLibrary;
[...]
services.AddSingleton<ISigner, Signer>();
- Enjoy signing!
string starkSignature = signer.StartkSign("your_stark_private_key", "payload_hash");
string ethSignature = signer.EthSign("your_eth_private_key", "signable_message");
Example requests to create order can be found in the immutable API reference
Sample requests:
- Send a signable order request.You'll get in response 2 useful fields: signable_message and payload_hash
- Send a create order request:
Sample code
public async Task<ImmutableOrderResponse<CreateOrderResponse>>
MakeOfferAsync(string collectionId, string tokenId, decimal price, string currency, bool isBuyOrder, int? orderId = null)
{
SignableOrderRequest signableOrderRequest = GetSignableOrderRequest(collectionId, tokenId, price, currency, isBuyOrder);
SignableOrderResponse response =
await _communicationClient.PostAsync<SignableOrderRequest, SignableOrderResponse>("v3/signable-order-details", signableOrderRequest);
string ethSignature = _signer.EthSign(_ethSecret, response.SignableMessage);
string starkSignature = _signer.StartkSign(_starkSecret, response.PayloadHash);
var createOrderRequest = new CreateOrderRequest()
{
AmountBuy = response.AmountBuy,
AmountSell = response.AmountSell,
AssetIdBuy = response.AssetIdBuy,
AssetIdSell = response.AssetIdSell,
ExpirationTimestamp = response.ExpirationTimestamp,
Nonce = response.Nonce,
StarkKey = response.StarkKey,
StarkSignature = starkSignature, // Generated with the sdk
VaultIdBuy = response.VaultIdBuy,
VaultIdSell = response.VaultIdSell
};
var headers = new Dictionary<string, string>
{
["x-imx-eth-address"] = "Your_Eth_Public_Address",
["x-imx-eth-signature"] = ethSignature // Generated with the sdk
};
CreateOrderResponse orderResponse =
await _communicationClient.PostAsync<CreateOrderRequest, CreateOrderResponse>("v3/orders", createOrderRequest, headers);
return new(orderResponse);
}
Add to wishlist