Get an integrator fee balance
curl --request GET \
--url https://demo-api.mobula.io/api/2/bridge/integrator-fees/{address}import requests
url = "https://demo-api.mobula.io/api/2/bridge/integrator-fees/{address}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://demo-api.mobula.io/api/2/bridge/integrator-fees/{address}', 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/bridge/integrator-fees/{address}",
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/bridge/integrator-fees/{address}"
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/bridge/integrator-fees/{address}")
.asString();require 'uri'
require 'net/http'
url = URI("https://demo-api.mobula.io/api/2/bridge/integrator-fees/{address}")
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": {
"address": "<string>",
"availableUsd": 123,
"earnedUsd": 123,
"paidUsd": 123,
"pendingUsd": 123,
"claims": [
{
"claimId": "<string>",
"status": "pending",
"chainId": "<string>",
"recipient": "<string>",
"amountUsd": 123,
"networkFeeUsd": 123,
"receiveAmount": "<string>",
"txHash": "<string>",
"error": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>"
}
]
}
}{
"message": "<string>"
}Bridge Integrator Fees
[Alpha Preview] Off-chain integrator fee balance of a fee wallet, and its recent claims.
GET
/
2
/
bridge
/
integrator-fees
/
{address}
Get an integrator fee balance
curl --request GET \
--url https://demo-api.mobula.io/api/2/bridge/integrator-fees/{address}import requests
url = "https://demo-api.mobula.io/api/2/bridge/integrator-fees/{address}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://demo-api.mobula.io/api/2/bridge/integrator-fees/{address}', 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/bridge/integrator-fees/{address}",
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/bridge/integrator-fees/{address}"
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/bridge/integrator-fees/{address}")
.asString();require 'uri'
require 'net/http'
url = URI("https://demo-api.mobula.io/api/2/bridge/integrator-fees/{address}")
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": {
"address": "<string>",
"availableUsd": 123,
"earnedUsd": 123,
"paidUsd": 123,
"pendingUsd": 123,
"claims": [
{
"claimId": "<string>",
"status": "pending",
"chainId": "<string>",
"recipient": "<string>",
"amountUsd": 123,
"networkFeeUsd": 123,
"receiveAmount": "<string>",
"txHash": "<string>",
"error": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>"
}
]
}
}{
"message": "<string>"
}Alpha Preview β Endpoints and response shape may change without notice.
feePayout=claim
donβt pay the integrator fee at fill. Each feeWallet builds up an off-chain
balance instead, and withdraws it in USDC whenever it wants:
- Balance β
GET /api/2/bridge/integrator-fees/{address}(this page). - Prepare β
POST /api/2/bridge/integrator-fees/{address}/claimreturns the message the fee wallet signs. - Submit β
POST /api/2/bridge/integrator-fees/claims/{claimId}with the signature. Mobula sends the USDC.
Path parameter
| Name | Notes |
|---|---|
address | The fee wallet: EVM (0xβ¦) or Solana (base58). Anything else returns 400. |
Response
{
"data": {
"address": "0xyourfeewallet",
"availableUsd": 312.79544,
"earnedUsd": 845.12,
"paidUsd": 500,
"pendingUsd": 32.32456,
"claims": [
{
"claimId": "6f1c2a9e-4b7d-4c1e-9a53-2d8f0e7b1c44",
"status": "sending",
"chainId": "evm:8453",
"recipient": "0xYourFeeWallet",
"amountUsd": 32.32456,
"networkFeeUsd": 0.0041,
"receiveAmount": "32.32046",
"txHash": "0xβ¦",
"error": null,
"createdAt": "2026-10-20T09:12:03.000Z",
"updatedAt": "2026-10-20T09:12:05.000Z"
}
]
}
}
earnedUsdβ credits of every intent that filled. Refunded intents never count.paidUsdβ claims already paid.pendingUsdβ claims accepted and not paid yet.availableUsd=earnedUsd β paidUsd β pendingUsd: what a new claim can take.claimsβ the 20 most recent claims, newest first. See claim statuses.