Documentation Index
Fetch the complete documentation index at: https://docs.nexfi.robert.dpdns.org/llms.txt
Use this file to discover all available pages before exploring further.
Wallet Transactions and Risk
This page covers history, chain transaction views, gas estimation, and address/domain/transaction risk checks.
GET /api/v1/history/{address}
Purpose
Returns aggregated cross-chain history for the wallet home activity feed and transaction history list.
Path / Query Parameters
| Parameter | Type | Required | Description | Example |
|---|
address | String | Yes | Wallet address. | 0xabc... |
chainIds | String | No | Chain filter. | 8453,1 |
cursor | String | No | Pagination cursor. | cursor_20 |
limit | String | No | Page size. | 20 |
status | Enum | No | success, pending, or failed. | success |
kind | Enum | No | send, receive, approval, or contract_interaction. | send |
Example Request
GET /api/v1/history/0xabc...?chainIds=8453&limit=20&status=success&kind=send
Response Fields
| Field | Type | Description | Example |
|---|
data.items | Array | History rows. | [] |
data.items[].hash | String | Transaction hash. | 0x123 |
data.items[].chainId | Integer | Chain ID. | 8453 |
data.items[].from | String | Sender address. | 0xabc... |
data.items[].to | String | Recipient address. | 0xdef... |
data.items[].value | String | Raw transfer amount. | 1000000000000000000 |
data.items[].tokenAddress | String | native or token contract address. | native |
data.items[].symbol | String | Asset symbol. | ETH |
data.items[].status | String | Transaction status. | success |
data.items[].timestamp | String | Transaction timestamp. | 2026-05-11T10:00:00.000Z |
data.items[].kind | String | Transaction type. | send |
data.items[].blockNumber | Integer | Block number. | 29123456 |
data.items[].explorerUrl | String | Explorer link. | https://basescan.org/tx/0x123 |
data.nextCursor | String | Null | Cursor for next page. | cursor_20 |
Example Response
{
"code": 0,
"msg": "ok",
"data": {
"items": [
{
"hash": "0x123",
"chainId": 8453,
"from": "0xabc...",
"to": "0xdef...",
"value": "1000000000000000000",
"tokenAddress": "native",
"symbol": "ETH",
"status": "success",
"timestamp": "2026-05-11T10:00:00.000Z",
"kind": "send",
"blockNumber": 29123456,
"explorerUrl": "https://basescan.org/tx/0x123"
}
],
"nextCursor": "cursor_20"
}
}
GET /api/v1/transactions/{chainId}/{address}
Purpose
Returns transaction history scoped to a single chain, useful for chain-detail views or filtered activity screens.
Path / Query Parameters
| Parameter | Type | Required | Description | Example |
|---|
chainId | Integer | Yes | Target chain ID. | 8453 |
address | String | Yes | Wallet address. | 0xabc... |
cursor | String | No | Pagination cursor. | cursor_40 |
limit | String | No | Page size. | 20 |
Response Notes
The response payload matches /api/v1/history/{address}, but only includes one chain.
GET /api/v1/transactions/{chainId}/hash/{hash}
Purpose
Returns a single transaction detail by chain ID and hash.
Path Parameters
| Parameter | Type | Required | Description | Example |
|---|
chainId | Integer | Yes | Target chain ID. | 8453 |
hash | String | Yes | Transaction hash. | 0x123... |
Response Notes
Returns one TransactionItem object with the same fields used in history rows.
Error Notes
- Returns HTTP
404 if the transaction is not found.
- Backend may return a business error if the explorer or index source is temporarily unavailable.
POST /api/v1/transactions/estimate-gas
Purpose
Estimates gas for a transfer before signature confirmation.
Request Body
| Parameter | Type | Required | Description | Example |
|---|
chainId | Integer | Yes | Chain ID. | 8453 |
from | String | Yes | Sender address. | 0xabc... |
to | String | Yes | Recipient address. | 0xdef... |
amount | String | Yes | Transfer amount. | 0.1 |
tokenAddress | String | No | Token address. Omit for native transfers. | 0x8335... |
Example Request
{
"chainId": 8453,
"from": "0xabc...",
"to": "0xdef...",
"amount": "0.1"
}
Response Fields
| Field | Type | Description | Example |
|---|
data.chainId | Integer | Chain ID. | 8453 |
data.gasLimit | Integer | Estimated gas limit. | 21000 |
data.gasPriceGwei | Number | Gas price in gwei. | 1.2 |
data.estimatedFeeNative | Number | Fee in native token. | 0.0000252 |
data.estimatedFeeUsd | Number | Null | Fee in USD if price is available. | 0.09 |
data.confidence | String | Confidence level of the estimate. | high |
data.updatedAt | String | Estimation timestamp. | 2026-05-11T10:00:00.000Z |
Example Response
{
"code": 0,
"msg": "ok",
"data": {
"chainId": 8453,
"gasLimit": 21000,
"gasPriceGwei": 1.2,
"estimatedFeeNative": 0.0000252,
"estimatedFeeUsd": 0.09,
"confidence": "high",
"updatedAt": "2026-05-11T10:00:00.000Z"
}
}
POST /api/v1/risk/check-address
Purpose
Checks whether a destination address is risky before transfer or address-book usage.
Request Body
| Parameter | Type | Required | Description | Example |
|---|
chainId | Integer | Yes | Chain ID. | 8453 |
address | String | Yes | Address to inspect. | 0xdef... |
Response Fields
| Field | Type | Description | Example |
|---|
data.riskLevel | String | Risk level. | low |
data.labels | String[] | Risk labels. | [] |
data.reasons | String[] | Human-readable reasons. | [] |
data.source | String | Risk intelligence source. | internal |
Example Response
{
"code": 0,
"msg": "ok",
"data": {
"riskLevel": "low",
"labels": [],
"reasons": [],
"source": "internal"
}
}
POST /api/v1/risk/check-domain
Purpose
Checks whether a DApp origin is suspicious, phishing-like, or otherwise known risky.
Request Body
| Parameter | Type | Required | Description | Example |
|---|
origin | String | Yes | DApp origin or domain. | https://app.uniswap.org |
Response Fields
| Field | Type | Description | Example |
|---|
data.riskLevel | String | Risk level. | low |
data.labels | String[] | Domain labels. | ["dex"] |
data.reasons | String[] | Risk reason list. | [] |
POST /api/v1/risk/check-transaction
Purpose
Runs a pre-signature risk check for contract interactions, approvals, and suspicious transfers.
Request Body
| Parameter | Type | Required | Description | Example |
|---|
chainId | Integer | Yes | Chain ID. | 8453 |
from | String | Yes | Sender address. | 0xabc... |
to | String | Yes | Contract or recipient address. | 0xrouter... |
value | String | Yes | Native token value attached to the transaction. | 0 |
data | String | No | Transaction calldata. | 0xa9059cbb... |
origin | String | No | Request origin or DApp domain. | https://app.uniswap.org |
Response Fields
| Field | Type | Description | Example |
|---|
data.riskLevel | String | Risk level. | medium |
data.warnings | Array | Warning list. | [] |
data.warnings[].type | String | Warning type. | approval_unlimited |
data.warnings[].message | String | Warning message. | Unlimited approval detected |
data.decoded | Object | Null | Human-readable decoded transaction summary. | { "method": "approve" } |
Example Response
{
"code": 0,
"msg": "ok",
"data": {
"riskLevel": "medium",
"warnings": [
{
"type": "approval_unlimited",
"message": "Unlimited approval detected"
}
],
"decoded": {
"method": "approve",
"token": "USDC",
"spender": "0xrouter..."
}
}
}