- 🕵️♀️ Nexus represents devs on the job marketplace, offloading relationship and matchmaking to AI
- 🛠️ Smart Contract for Escrow and managing bounty originators and devs
- 🔗 Stores data about users in Nillion
- 👥 Signed git hash signature recovery for job completion proof of work
- 📦 Contract deployed on Arbitrum Sepolia at https://sepolia.arbiscan.io/address/0xcabac2acd4f89e48ce9f31ee0af437bd45b064ba
- 🐬 Agent deployed on Autonome at https://autonome.alt.technology/lfg-qbnnaf username: lfg password: YYeufTWaYP
agent/
- Main AI agent runtimeclient/
- Chatbot client interfacecharacters/
nexus.character.json
- Agent personality and plugin configuration
plugin-vsa-contracts/
- Smart contract interaction layer- Actions/
createUserProfileAction.ts
- User profile creationcreateBountyAction.ts
- Bounty creationacceptJobAction.ts
- Bounty acceptancecompleteJobAction.ts
- Bounty completion with git hash signed for proof of workreleasePaymentAction.ts
- Escrow fund release to devsubmitRatingAction.ts
- Rating submission for dev and employergetUserReputationAction.ts
- Get user reputationgetJobDetailsAction.ts
- Get bounty detailsinitiateDisputeAction.ts
- Dispute initiation if dev underperformsmatchBountiesAction.ts
- Skill-based bounty matching
- In Development:
- Improved arbitration
- Payment from user to agent
- Actions/
nillion/
- Decentralized data managementsrc/
index.js
- Core data operations (CRUD, matching)
frontend/
- Web interface for bounty marketplace
contracts/contract/
- Solidity smart contractsBountyMarketplace.sol
- Main marketplace contractEscrow.sol
- Handles secure payment flowsReputation.sol
- User reputation management
contracts/test/
- Contract test suite- Unit tests for marketplace functionality
- Integration tests for complete workflows
- Coverage reports for contract security
-
Profile Creation
- Submit profile data via agent
- Data stored in Nillion
- Profile registered on smart contract
-
Bounty Discovery
- Request matching bounties
- Skill-based matching via Nillion
- View matched bounties with IDs
-
Bounty Acceptance
- Accept using bounty ID
- Wallet address linked to escrow
-
Completion
- Mark bounty as complete
- Await payment release
-
Bounty Creation
- Submit bounty details
- Data stored in Nillion
- Smart contract created with funds
-
Post-Completion
- Release funds to developer
- Option A: Submit rating
- Option B: Initiate dispute
- Dispute Process
- Creator initiates dispute
- Owner arbitrates
- Winner receives:
- Escrowed funds
- Reputation bonus
# Clone the repository
git clone https://github.com/Okulon/LFG.git
Copy .env.example to .env and fill in the appropriate values.
cp .env.example .env
Add the following to the .env file:
OPENAI_API_KEY= # OpenAI API key, starting with sk-
VSA_CONTRACTS_ETHEREUM_WS_URL= # WebSocket URL for Ethereum node connection
VSA_CONTRACTS_EVM_PROVIDER_URL= # RPC URL for Ethereum node connection (if WS not available)
VSA_CONTRACTS_EVM_PRIVATE_KEY= # Private key for the wallet executing arbitrage transactions
Make sure to fund your agent's wallet with some Arbitrum SepoliaETH
pnpm i
pnpm build
pnpm start --"character=characters/nexus.character.json"
Once the agent is running, you should see the message to run "pnpm start:client" at the end.
Open another terminal, move to the same directory, run the command below, then follow the URL to chat with your agent.
pnpm start:client
You may need to install Sharp. If you see an error when starting up, try installing it with the following command:
pnpm install --include=optional sharp