Skip to main content

Address Ocean REST API

With the Address API, you can query address related resources such as UTXO balances, Token Balances, Vaults and Transactions.

Balance​

Get current UTXO balance of an address.

Code Samples​

Shell​
curl https://ocean.defichain.com/v0/mainnet/address/8defichainBurnAddressXXXXXXXdRQkSm/balance
JavaScript (@defichain/whale-api-client)​
await api.address.getBalance('8defichainBurnAddressXXXXXXXdRQkSm')
Response​
{
"data": "156001771.37400823"
}

Aggregation​

Get current aggregated stats of an address.

Code Samples​

Shell​
curl https://ocean.defichain.com/v0/mainnet/address/8defichainBurnAddressXXXXXXXdRQkSm/aggregation
JavaScript (@defichain/whale-api-client)​
await api.address.getAggregation('8defichainBurnAddressXXXXXXXdRQkSm')
Response​
{
"data": {
"id": "0014dd65e70680db7f28c22b9ef50a72b923e8991488a50f8b104022d92c42ebad7ee175",
"hid": "e70680db7f28c22b9ef50a72b923e8991488a50f8b104022d92c42ebad7ee175",
"block": {
"hash": "2569c94596faff8337a0f0c9acec58fa745031d904aa435d918a9a8fc71ec3c7",
"height": 1367397,
"time": 1636979762,
"medianTime": 1636979644
},
"script": {
"type": "pubkeyhash",
"hex": "76a914f7874e8821097615ec345f74c7e5bcf61b12e2ee88ac"
},
"statistic": {
"txCount": 70,
"txInCount": 70,
"txOutCount": 0
},
"amount": {
"txIn": "156001771.37400823",
"txOut": "0.00000000",
"unspent": "156001771.37400823"
}
}
}
TypeScript Definitions​
export interface AddressAggregation {
id: string
hid: string

block: {
hash: string
height: number
time: number
medianTime: number
}

script: {
type: string
hex: string
}

statistic: {
txCount: number
txInCount: number
txOutCount: number
}

amount: {
txIn: string
txOut: string
unspent: string
}
}

Token Balances​

List all tokens balance belonging to an address.

Code Samples​

Shell​
curl https://ocean.defichain.com/v0/mainnet/address/8defichainBurnAddressXXXXXXXdRQkSm/tokens
JavaScript (@defichain/whale-api-client)​
await api.address.listToken('8defichainBurnAddressXXXXXXXdRQkSm')
Response​
{
"data": [
{
"id": "0",
"amount": "190420.61840602",
"symbol": "DFI",
"symbolKey": "DFI",
"name": "Default Defi token",
"isDAT": true,
"isLPS": false,
"isLoanToken": false,
"displaySymbol": "DFI"
}
]
}
TypeScript Definitions​
export interface AddressToken {
id: string
amount: string
symbol: string
displaySymbol: string
symbolKey: string
name: string
isDAT: boolean
isLPS: boolean
isLoanToken: boolean
}

Vault​

List all vaults belonging to an address.

Code Samples​

Shell​
curl https://ocean.defichain.com/v0/mainnet/address/8defichainBurnAddressXXXXXXXdRQkSm/vaults
JavaScript (@defichain/whale-api-client)​
await api.address.listVault('8defichainBurnAddressXXXXXXXdRQkSm')
Response​
{
"data": [
{
"vaultId": "ea4434f9b3f360797d4727fe71fe74f06b2bf6d238fc62244d10290519603c00",
"loanScheme": {
"id": "MIN150",
"minColRatio": "150",
"interestRate": "5"
},
"ownerAddress": "df1qhwe39k0nyl3ttjqu3przvhqx6kaudmn8snjdpw",
"state": "ACTIVE",
"informativeRatio": "246.3901291",
"collateralRatio": "246",
"collateralValue": "5940.37668673",
"loanValue": "2410.96374611",
"interestValue": "3.68958982",
"collateralAmounts": [
{
"id": "0",
"amount": "792.01490190",
"symbol": "DFI",
"symbolKey": "DFI",
"name": "Default Defi token",
"displaySymbol": "DFI",
"activePrice": {
"id": "DFI-USD-1546440",
"key": "DFI-USD",
"isLive": true,
"block": {
"hash": "5e177f763f271e57b07f11c981875ec6e60f46f86dda8e1e441e4e07a9163e0f",
"height": 1546440,
"medianTime": 1642444068,
"time": 1642444092
},
"active": {
"amount": "3.05197409",
"weightage": 30,
"oracles": {
"active": 3,
"total": 3
}
},
"next": {
"amount": "3.04095913",
"weightage": 30,
"oracles": {
"active": 3,
"total": 3
}
},
"sort": "001798c8"
}
},
{
"id": "2",
"amount": "0.08343110",
"symbol": "BTC",
"symbolKey": "BTC",
"name": "Bitcoin",
"displaySymbol": "dBTC",
"activePrice": {
"id": "BTC-USD-1546440",
"key": "BTC-USD",
"isLive": true,
"block": {
"hash": "5e177f763f271e57b07f11c981875ec6e60f46f86dda8e1e441e4e07a9163e0f",
"height": 1546440,
"medianTime": 1642444068,
"time": 1642444092
},
"active": {
"amount": "42228.47028558",
"weightage": 30,
"oracles": {
"active": 3,
"total": 3
}
},
"next": {
"amount": "42049.79165569",
"weightage": 30,
"oracles": {
"active": 3,
"total": 3
}
},
"sort": "001798c8"
}
}
],
"loanAmounts": [
{
"id": "15",
"amount": "2410.96374611",
"symbol": "DUSD",
"symbolKey": "DUSD",
"name": "Decentralized USD",
"displaySymbol": "DUSD"
}
],
"interestAmounts": [
{
"id": "15",
"amount": "3.68958982",
"symbol": "DUSD",
"symbolKey": "DUSD",
"name": "Decentralized USD",
"displaySymbol": "DUSD"
}
]
}
]
}
TypeScript Definitions​
export interface LoanVaultActive {
vaultId: string
loanScheme: LoanScheme
ownerAddress: string
state: LoanVaultState.ACTIVE | LoanVaultState.FROZEN | LoanVaultState.MAY_LIQUIDATE | LoanVaultState.UNKNOWN

informativeRatio: string
collateralRatio: string
collateralValue: string
loanValue: string
interestValue: string

collateralAmounts: LoanVaultTokenAmount[]
loanAmounts: LoanVaultTokenAmount[]
interestAmounts: LoanVaultTokenAmount[]
}

export interface LoanVaultLiquidated {
vaultId: string
loanScheme: LoanScheme
ownerAddress: string
state: LoanVaultState.IN_LIQUIDATION

liquidationHeight: number
liquidationPenalty: number
batchCount: number
batches: LoanVaultLiquidationBatch[]
}

export interface LoanScheme {
id: string
minColRatio: string
interestRate: string
}

export interface LoanVaultLiquidationBatch {
index: number
collaterals: LoanVaultTokenAmount[]
loan: LoanVaultTokenAmount
highestBid?: HighestBid
}

export enum LoanVaultState {
UNKNOWN = 'UNKNOWN',
ACTIVE = 'ACTIVE',
FROZEN = 'FROZEN',
IN_LIQUIDATION = 'IN_LIQUIDATION',
MAY_LIQUIDATE = 'MAY_LIQUIDATE'
}

export interface LoanVaultTokenAmount {
id: string
amount: string
symbol: string
displaySymbol: string
symbolKey: string
name: string
activePrice?: ActivePrice
}

export interface HighestBid {
owner: string
amount: LoanVaultTokenAmount
}

export interface ActivePrice {
id: string
key: string
sort: string

active?: {
amount: string
weightage: number
oracles: {
active: number
total: number
}
}
next?: {
amount: string
weightage: number
oracles: {
active: number
total: number
}
}
isLive: boolean

block: {
hash: string
height: number
time: number
medianTime: number
}
}

Transaction​

List all transaction activity belonging to an address, sorted by block recency. See pagination

Code Samples​

Shell​
curl https://ocean.defichain.com/v0/mainnet/address/8defichainBurnAddressXXXXXXXdRQkSm/transactions
JavaScript (@defichain/whale-api-client)​
await api.address.listTransaction('8defichainBurnAddressXXXXXXXdRQkSm', 30)
Response​
{
"data": [
{
"id": "0014dd65017e92b28c1f980be11591d6274b400d29a49ba0d1dac3d3e58472e2907edf5a9300000000",
"hid": "e70680db7f28c22b9ef50a72b923e8991488a50f8b104022d92c42ebad7ee175",
"type": "vout",
"typeHex": "01",
"txid": "7e92b28c1f980be11591d6274b400d29a49ba0d1dac3d3e58472e2907edf5a93",
"block": {
"hash": "2569c94596faff8337a0f0c9acec58fa745031d904aa435d918a9a8fc71ec3c7",
"height": 1367397,
"time": 1636979762,
"medianTime": 1636979644
},
"script": {
"type": "pubkeyhash",
"hex": "76a914f7874e8821097615ec345f74c7e5bcf61b12e2ee88ac"
},
"vout": {
"txid": "7e92b28c1f980be11591d6274b400d29a49ba0d1dac3d3e58472e2907edf5a93",
"n": 0
},
"value": "50.00000000",
"tokenId": 0
}
],
"page": {
"next": "0014d607019867a4e1b65f3ecb7bcc6ad19464fdf0b7757369debfd1236a5a923a5effb39200000001"
}
}
TypeScript Definitions​
export interface AddressActivity {
id: string
hid: string

type: 'vin' | 'vout'
typeHex: '00' | '01'
txid: string

block: {
hash: string
height: number
time: number
medianTime: number
}

script: {
type: string
hex: string
}

vin?: {
txid: string
n: number
}

vout?: {
txid: string
n: number
}

value: string
tokenId?: number
}