Get profit and loss summary by wallet address
curl --request GET \
--url https://deep-index.moralis.io/api/v2.2/wallets/{address}/profitability/summary \
--header 'X-API-Key: <api-key>'import requests
url = "https://deep-index.moralis.io/api/v2.2/wallets/{address}/profitability/summary"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://deep-index.moralis.io/api/v2.2/wallets/{address}/profitability/summary', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://deep-index.moralis.io/api/v2.2/wallets/{address}/profitability/summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://deep-index.moralis.io/api/v2.2/wallets/{address}/profitability/summary"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://deep-index.moralis.io/api/v2.2/wallets/{address}/profitability/summary")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://deep-index.moralis.io/api/v2.2/wallets/{address}/profitability/summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"total_count_of_trades": 123,
"total_trade_volume": "<string>",
"total_realized_profit_usd": "<string>",
"total_realized_profit_percentage": 123,
"total_buys": 123,
"total_sells": 123,
"total_sold_volume_usd": "<string>",
"total_bought_volume_usd": "<string>"
}Net Worth & PnL
Wallet PnL Summary
Get a profit and loss summary for a given wallet, over a specified timeframe (days).
GET
/
wallets
/
{address}
/
profitability
/
summary
Get profit and loss summary by wallet address
curl --request GET \
--url https://deep-index.moralis.io/api/v2.2/wallets/{address}/profitability/summary \
--header 'X-API-Key: <api-key>'import requests
url = "https://deep-index.moralis.io/api/v2.2/wallets/{address}/profitability/summary"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://deep-index.moralis.io/api/v2.2/wallets/{address}/profitability/summary', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://deep-index.moralis.io/api/v2.2/wallets/{address}/profitability/summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://deep-index.moralis.io/api/v2.2/wallets/{address}/profitability/summary"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://deep-index.moralis.io/api/v2.2/wallets/{address}/profitability/summary")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://deep-index.moralis.io/api/v2.2/wallets/{address}/profitability/summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"total_count_of_trades": 123,
"total_trade_volume": "<string>",
"total_realized_profit_usd": "<string>",
"total_realized_profit_percentage": 123,
"total_buys": 123,
"total_sells": 123,
"total_sold_volume_usd": "<string>",
"total_bought_volume_usd": "<string>"
}We recommend using the new multi-chain Wallet PnL Summary endpoint on the Universal API - same summary data, multiple chains in a single request.
Authorizations
Path Parameters
The wallet address for which profitability summary is to be retrieved.
Example:
"0xcB1C1FdE09f811B294172696404e88E658659905"
Query Parameters
Timeframe in days for the profitability summary. Options include 'all', '7', '30', '60', '90' default is 'all'.
The chain to query
Available options:
eth, 0x1, sepolia, 0xaa36a7, polygon, 0x89, bsc, 0x38, bsc testnet, 0x61, avalanche, 0xa86a, cronos, 0x19, arbitrum, 0xa4b1, chiliz, 0x15b38, gnosis, 0x64, base, 0x2105, base sepolia, 0x14a34, optimism, 0xa, polygon amoy, 0x13882, linea, 0xe708, moonbeam, 0x504, moonriver, 0x505, flow, 0x2eb, flow-testnet, 0x221, ronin, 0x7e4, ronin-testnet, 0x31769, lisk, 0x46f, pulse, 0x171, sei-testnet, 0x530, sei, 0x531, monad, 0x8f Example:
"eth"
Response
200 - application/json
Successful response with the profitability summary.
Total count of trades executed by the wallet.
Total trade volume managed by the wallet.
Total realized profit in USD for the wallet.
Total realized profit as a percentage.
Total number of buy transactions.
Total number of sell transactions.
Total USD volume of tokens sold by the wallet.
Total USD volume of tokens bought by the wallet.

