@@ -8,20 +8,68 @@ To install the required dependencies, run:
8
8
9
9
``` sh
10
10
cp .env.example .env
11
+ cp config.json.example config.json
11
12
pip install -r requirements.txt
12
13
```
13
14
14
- Note: Fill up the .env file according to your config
15
-
16
- Check the services dependency and make sure all services are up with config provided in ` .env ` file
17
- - postgres
18
- - minio
19
- - qdrant
15
+ Note: Fill up the .env and config.json file according to your config
16
+
17
+ ### Configuration
18
+ Configuration file is in ` config.json ` . Edit it according to your needs.
19
+
20
+ Notes:
21
+ - Add your own tool services or use existing ones
22
+ - Add provided agents. (on top of each service tool is an agent so the name of agent should be same as service name)
23
+ - Choose the llm provider
24
+ <table >
25
+ <thead >
26
+ <tr >
27
+ <th>Supported Provider</th>
28
+ <th>Recommended Model</th>
29
+ </tr >
30
+ </thead >
31
+ <tbody >
32
+ <tr >
33
+ <td>openai</td>
34
+ <td>gpt-4o-mini</td>
35
+ </tr >
36
+ <tr >
37
+ <td>google</td>
38
+ <td>gemini-2.0-flash</td>
39
+ </tr >
40
+ <tr >
41
+ <td>together</td>
42
+ <td>deepseek-ai/DeepSeek-R1-Distill-Llama-70B-free</td>
43
+ </tr >
44
+ <tr >
45
+ <td>ollama</td>
46
+ <td>llama3.3</td>
47
+ </tr >
48
+ <tr >
49
+ <td>groq</td>
50
+ <td>llama-3.3-70b-versatile</td>
51
+ </tr >
52
+ <tr >
53
+ <td>firework</td>
54
+ <td>accounts/fireworks/models/firefunction-v2</td>
55
+ </tr >
56
+ <tr >
57
+ <td>huggingface</td>
58
+ <td>meta-llama/Llama-3.3-70B-Instruct</td>
59
+ </tr >
60
+ </tbody >
61
+ </table >
20
62
21
63
### Running the Application
22
64
23
- #### Locally
65
+ #### method 1) Locally
66
+
67
+ Check the services dependency and make sure all services are up with config provided in ` .env ` file
68
+
69
+ depend services:
70
+ - postgres
24
71
72
+ ##### Run main app
25
73
If you have ` make ` installed on your machine, you can start the application using:
26
74
27
75
``` sh
@@ -34,7 +82,7 @@ Otherwise, you can manually run it with:
34
82
python3 -m uvicorn src.main:app --host 0.0.0.0 --reload
35
83
```
36
84
37
- #### Docker Compose
85
+ #### method 2) Docker Compose
38
86
39
87
If you have docker compose installed, run:
40
88
@@ -57,15 +105,40 @@ We support both Swagger and Scalar documentation:
57
105
58
106
## AI Features
59
107
60
- ### 1. Ethereum Blockchain Queries
108
+ ### 1. EtherScan Agent
109
+
110
+ Agent for handling Ethereum blockchain-related queries and tasks.:
111
+
112
+ - Get the current Unix timestamp
113
+ - Convert a natural language date string into a Unix timestamp
114
+ - Retrieve the source code of a smart contract
115
+ - Retrieve the ABI of a smart contract
116
+ - Retrieve the ABI of a specific event from a smart contract
117
+ - Fetch events for a given smart contract event within a block range
118
+ - Retrieve the latest Ethereum block number
119
+ - Convert a Unix timestamp to the nearest Ethereum block number
120
+
121
+ ### 2. Moralis Agent
122
+
123
+ Agent for handling Ethereum blockchain-related queries and tasks.:
124
+
125
+ - Get active chains for a wallet address across all chains
126
+ - Get token balances for a specific wallet address and their prices in USD. (paginated)
127
+ - Get the stats for a wallet address.
128
+ - Retrieve the full transaction history of a specified wallet address, including sends, receives, token and NFT transfers and contract interactions.
129
+ - Get the contents of a transaction by the given transaction hash.
130
+ - Get ERC20 approvals for one or many wallet addresses and/or contract addresses, ordered by block number in descending order.
131
+
132
+ ### 3. GoldRush Agent
61
133
62
- This feature allows handling Ethereum blockchain-related queries and tasks, including :
134
+ Agent for handling Ethereum blockchain-related queries and tasks. :
63
135
64
- - Retrieving smart contract source code
65
- - Fetching contract ABIs (Application Binary Interface)
66
- - Getting contract events and their details
67
- - Querying contract transactions
68
- - Converting between timestamps and block numbers
136
+ - Get activity across all chains for address
137
+ - fetch the native, fungible (ERC20), and non-fungible (ERC721 & ERC1155) tokens held by an address
138
+ - Fetch transactions for a given wallet address (paginated)
139
+ - Fetch a summary of transactions (earliest and latest) for a given wallet address.
140
+ - Fetch a single transaction including its decoded event logs
141
+ - Fetch list of approvals across all token contracts categorized by spenders for a wallet’s assets
69
142
70
143
### 2. Web Search Integration
71
144
0 commit comments