Get wallet funding source
curl --request GET \
--url https://demo-api.mobula.io/api/2/wallet/fundingimport requests
url = "https://demo-api.mobula.io/api/2/wallet/funding"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://demo-api.mobula.io/api/2/wallet/funding', 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://demo-api.mobula.io/api/2/wallet/funding",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://demo-api.mobula.io/api/2/wallet/funding"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://demo-api.mobula.io/api/2/wallet/funding")
.asString();require 'uri'
require 'net/http'
url = URI("https://demo-api.mobula.io/api/2/wallet/funding")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": {
"from": "<string>",
"chainId": "<string>",
"date": "<string>",
"txHash": "<string>",
"amount": "<string>",
"fromWalletLogo": "<string>",
"fromWalletTag": "<string>",
"fromWalletMetadata": {
"entityName": "<string>",
"entityLogo": "<string>",
"entityLabels": [
"<string>"
],
"entityType": "<string>",
"entityDescription": "<string>",
"entityTwitter": "<string>",
"entityWebsite": "<string>",
"entityGithub": "<string>",
"entityDiscord": "<string>",
"entityTelegram": "<string>"
}
}
}Wallet APIs
Get Wallet Funding Source
Retrieve the initial funding source of a wallet address, including the sender address, transaction details, amount, and enriched metadata about the funding wallet (entity name, labels, social links).
GET
/
2
/
wallet
/
funding
Get wallet funding source
curl --request GET \
--url https://demo-api.mobula.io/api/2/wallet/fundingimport requests
url = "https://demo-api.mobula.io/api/2/wallet/funding"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://demo-api.mobula.io/api/2/wallet/funding', 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://demo-api.mobula.io/api/2/wallet/funding",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://demo-api.mobula.io/api/2/wallet/funding"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://demo-api.mobula.io/api/2/wallet/funding")
.asString();require 'uri'
require 'net/http'
url = URI("https://demo-api.mobula.io/api/2/wallet/funding")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": {
"from": "<string>",
"chainId": "<string>",
"date": "<string>",
"txHash": "<string>",
"amount": "<string>",
"fromWalletLogo": "<string>",
"fromWalletTag": "<string>",
"fromWalletMetadata": {
"entityName": "<string>",
"entityLogo": "<string>",
"entityLabels": [
"<string>"
],
"entityType": "<string>",
"entityDescription": "<string>",
"entityTwitter": "<string>",
"entityWebsite": "<string>",
"entityGithub": "<string>",
"entityDiscord": "<string>",
"entityTelegram": "<string>"
}
}
}Query details
This endpoint returns the initial funding source of a wallet — the first native token transfer it received — along with enriched metadata about the sender.| Parameter | Required | Description |
|---|---|---|
wallet | Yes | Wallet address to get funding source for. |
Response Structure
| Field | Type | Description |
|---|---|---|
from | string | Address that initially funded this wallet. |
chainId | string | Blockchain where the funding transaction occurred. |
date | string | ISO date of the funding transaction. |
txHash | string | Transaction hash of the funding transfer. |
amount | string | Raw amount transferred (in native token wei/lamports). |
fromWalletLogo | string | Logo URL of the funding wallet (if known). |
fromWalletTag | string | Label of the funding wallet (e.g., “Binance”, “CEX”). |
fromWalletMetadata | object | Enriched entity metadata of the funding wallet. |
fromWalletMetadata object
| Field | Type | Description |
|---|---|---|
entityName | string | Name of the entity (e.g., “Binance”). |
entityLogo | string | Logo URL of the entity. |
entityLabels | string[] | Labels associated with the entity. |
entityType | string | Type of entity (e.g., “exchange”, “fund”). |
entityDescription | string | Description of the entity. |
entityTwitter | string | Twitter handle. |
entityWebsite | string | Website URL. |
entityGithub | string | GitHub URL. |
entityDiscord | string | Discord invite URL. |
entityTelegram | string | Telegram URL. |
Usage Examples
- Get funding source for a wallet
curl -X GET "https://api.mobula.io/api/2/wallet/funding?wallet=0xBb7Ae0458b0dAe031460E6EE9f014b275db49f7f"
Rate Limiting
This endpoint has a rate limit of 5 requests per minute per API key.Use Cases
- Wallet Origin Analysis: Identify where a wallet’s initial funds came from (CEX, DEX, another wallet).
- KYC/Compliance: Trace the funding source for due diligence.
- Smart Money Tracking: Determine if a wallet was funded by a known entity (VC, whale, exchange).
- Bot Detection: Identify wallets funded by known bot deployers.