/ark-project

ArkProject is a liquidity layer for digital assets, uniting markets, empowering creators, and bridging the gap to mass adoption. Built on top of Starknet, ArkProject is designed to provide a fully decentralized and trustless orderbook on-chain.

Primary LanguageTypeScriptApache License 2.0Apache-2.0

wagmi logo

Infrastructure for Digital Assets Exchange

ArkProject is a liquidity layer for digital assets, uniting markets, empowering creators, and bridging the gap to mass adoption. Built on top of Starknet, ArkProject is designed to provide a fully decentralized and trustless orderbook on-chain.


Documentation

Community

For help, discussion about best practices, or any other conversation that would benefit from being searchable:

Discuss ArkProject on GitHub

For casual chat with others using the ArkProject:

What You Can Build with ArkProject

ArkProject offers a flexible and powerful infrastructure for building various decentralized applications and services in the digital assets space. Here are some examples of what you can build:

  • Decentralized Marketplaces: Create fully decentralized and trustless marketplaces for digital assets, enabling direct user-to-user trading without intermediaries.
  • Custom Marketplaces for Collections: Develop specialized marketplaces tailored to specific NFT collections, providing creators with dedicated platforms.
  • Generic Marketplaces: Build general-purpose marketplaces that support a wide range of digital assets.
  • Private Marketplaces: Establish private marketplaces for exclusive projects or communities.
  • Integration with Existing Platforms: Enhance existing marketplaces, wallets, and decentralized apps with ArkProject's decentralized trading capabilities.
  • Market Makers: Develop scripts to automate buying and selling activities, providing liquidity and market efficiency.
  • Mobile Apps: Create mobile applications that leverage ArkProject’s infrastructure for on-the-go access to decentralized marketplaces and trading functionalities.

These capabilities allow developers to leverage ArkProject for a wide variety of use cases in the growing digital assets ecosystem.

Project Overview

Key Components

  • Layer 3 on Starknet: Utilizes a modified version of the Dojo Katana sequencer.
  • Starknet Smart Contracts: Handle order creation, fulfillment, and marketplace registration.
  • Orderbook Smart Contracts: Enable a decentralized and trustless orderbook on Layer 3.
  • Crosschain Messaging: Facilitates interaction between Starknet contracts and orderbooks.

Features

  • Marketplace Fees & Creator Fees: Handled via our protocol, supporting EIP-2981 for royalties.
  • Open Source Marketplaces: Allows anyone to create their own marketplaces for collections or private projects.
  • SDKs: Vanilla JS library and React hook library for seamless integration into front ends.

Networks

Mainnet

Sepolia

Demo

Check out our demo app showcasing a mini marketplace: ArkProject SDK Demo

Repository Structure

Contracts

Libraries

Example App

Deployment Tools

Crates for NFT Indexation

Layer 3 Sequencer

Quick Start for Local Development

  1. Setup env vars

    cp .env.example .env
  2. Install the latest Dojo version (currently 0.0.7-alpha.1)

  3. Install Packages

    pnpm install
  4. Build Contracts

    cd contracts && scarb build --workspace
  5. Launch Katana

    katana
  6. Deploy Starknet Contracts

    pnpm deploy:starknet:local
  7. Launch Solis

    cargo run -p solis -- --chain-id 0x736f6c6973 --messaging crates/solis/messaging.local.json --disable-fee -p 7777
  8. Deploy Solis Contracts

    pnpm deploy:solis:local
  9. Build the Core and React SDKs

    pnpm build --filter=core --filter=react
  10. Try Core SDK Examples

    cd examples/core
    cp .env.example .env
    npx bun fulfillListing.ts

License

ArkProject is licensed under the Apache License.


We hope you find ArkProject useful and encourage you to contribute to its development. If you have any questions, please open an issue or submit a pull request. Happy coding!