Retrieve transactions
curl --request POST \
--url https://api.custody.api-zodia.io/v3/api/custody/transactions \
--header 'Content-Type: application/json' \
--header 'submitter-id: <submitter-id>' \
--data '
{
"walletIds": [
"ZTEST-NOBENF-W5NZ2XCZMF"
],
"destinations": [
"ZTEST-NOBENF-W5NZ2XCZMF"
],
"statuses": [
"PENDING CONFIRMATION"
],
"currencies": [
"ETH"
],
"currenciesIds": [
"eth-eth"
],
"amounts": [
"10000"
],
"ledgerRefs": [
"0x77ac045b10bb3f09a8efff110ddfb3280c2bb084"
],
"companyIds": [
"ZTEST"
],
"fromDate": "2021-05-11T04:43:43Z",
"toDate": "2021-05-11T04:43:43Z",
"paginationLimit": 100,
"paginationOffset": 123,
"sort": {
"by": "id"
}
}
'import requests
url = "https://api.custody.api-zodia.io/v3/api/custody/transactions"
payload = {
"walletIds": ["ZTEST-NOBENF-W5NZ2XCZMF"],
"destinations": ["ZTEST-NOBENF-W5NZ2XCZMF"],
"statuses": ["PENDING CONFIRMATION"],
"currencies": ["ETH"],
"currenciesIds": ["eth-eth"],
"amounts": ["10000"],
"ledgerRefs": ["0x77ac045b10bb3f09a8efff110ddfb3280c2bb084"],
"companyIds": ["ZTEST"],
"fromDate": "2021-05-11T04:43:43Z",
"toDate": "2021-05-11T04:43:43Z",
"paginationLimit": 100,
"paginationOffset": 123,
"sort": { "by": "id" }
}
headers = {
"submitter-id": "<submitter-id>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'submitter-id': '<submitter-id>', 'Content-Type': 'application/json'},
body: JSON.stringify({
walletIds: ['ZTEST-NOBENF-W5NZ2XCZMF'],
destinations: ['ZTEST-NOBENF-W5NZ2XCZMF'],
statuses: ['PENDING CONFIRMATION'],
currencies: ['ETH'],
currenciesIds: ['eth-eth'],
amounts: ['10000'],
ledgerRefs: ['0x77ac045b10bb3f09a8efff110ddfb3280c2bb084'],
companyIds: ['ZTEST'],
fromDate: '2021-05-11T04:43:43Z',
toDate: '2021-05-11T04:43:43Z',
paginationLimit: 100,
paginationOffset: 123,
sort: {by: 'id'}
})
};
fetch('https://api.custody.api-zodia.io/v3/api/custody/transactions', 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://api.custody.api-zodia.io/v3/api/custody/transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'walletIds' => [
'ZTEST-NOBENF-W5NZ2XCZMF'
],
'destinations' => [
'ZTEST-NOBENF-W5NZ2XCZMF'
],
'statuses' => [
'PENDING CONFIRMATION'
],
'currencies' => [
'ETH'
],
'currenciesIds' => [
'eth-eth'
],
'amounts' => [
'10000'
],
'ledgerRefs' => [
'0x77ac045b10bb3f09a8efff110ddfb3280c2bb084'
],
'companyIds' => [
'ZTEST'
],
'fromDate' => '2021-05-11T04:43:43Z',
'toDate' => '2021-05-11T04:43:43Z',
'paginationLimit' => 100,
'paginationOffset' => 123,
'sort' => [
'by' => 'id'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"submitter-id: <submitter-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.custody.api-zodia.io/v3/api/custody/transactions"
payload := strings.NewReader("{\n \"walletIds\": [\n \"ZTEST-NOBENF-W5NZ2XCZMF\"\n ],\n \"destinations\": [\n \"ZTEST-NOBENF-W5NZ2XCZMF\"\n ],\n \"statuses\": [\n \"PENDING CONFIRMATION\"\n ],\n \"currencies\": [\n \"ETH\"\n ],\n \"currenciesIds\": [\n \"eth-eth\"\n ],\n \"amounts\": [\n \"10000\"\n ],\n \"ledgerRefs\": [\n \"0x77ac045b10bb3f09a8efff110ddfb3280c2bb084\"\n ],\n \"companyIds\": [\n \"ZTEST\"\n ],\n \"fromDate\": \"2021-05-11T04:43:43Z\",\n \"toDate\": \"2021-05-11T04:43:43Z\",\n \"paginationLimit\": 100,\n \"paginationOffset\": 123,\n \"sort\": {\n \"by\": \"id\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("submitter-id", "<submitter-id>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.custody.api-zodia.io/v3/api/custody/transactions")
.header("submitter-id", "<submitter-id>")
.header("Content-Type", "application/json")
.body("{\n \"walletIds\": [\n \"ZTEST-NOBENF-W5NZ2XCZMF\"\n ],\n \"destinations\": [\n \"ZTEST-NOBENF-W5NZ2XCZMF\"\n ],\n \"statuses\": [\n \"PENDING CONFIRMATION\"\n ],\n \"currencies\": [\n \"ETH\"\n ],\n \"currenciesIds\": [\n \"eth-eth\"\n ],\n \"amounts\": [\n \"10000\"\n ],\n \"ledgerRefs\": [\n \"0x77ac045b10bb3f09a8efff110ddfb3280c2bb084\"\n ],\n \"companyIds\": [\n \"ZTEST\"\n ],\n \"fromDate\": \"2021-05-11T04:43:43Z\",\n \"toDate\": \"2021-05-11T04:43:43Z\",\n \"paginationLimit\": 100,\n \"paginationOffset\": 123,\n \"sort\": {\n \"by\": \"id\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.custody.api-zodia.io/v3/api/custody/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["submitter-id"] = '<submitter-id>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"walletIds\": [\n \"ZTEST-NOBENF-W5NZ2XCZMF\"\n ],\n \"destinations\": [\n \"ZTEST-NOBENF-W5NZ2XCZMF\"\n ],\n \"statuses\": [\n \"PENDING CONFIRMATION\"\n ],\n \"currencies\": [\n \"ETH\"\n ],\n \"currenciesIds\": [\n \"eth-eth\"\n ],\n \"amounts\": [\n \"10000\"\n ],\n \"ledgerRefs\": [\n \"0x77ac045b10bb3f09a8efff110ddfb3280c2bb084\"\n ],\n \"companyIds\": [\n \"ZTEST\"\n ],\n \"fromDate\": \"2021-05-11T04:43:43Z\",\n \"toDate\": \"2021-05-11T04:43:43Z\",\n \"paginationLimit\": 100,\n \"paginationOffset\": 123,\n \"sort\": {\n \"by\": \"id\"\n }\n}"
response = http.request(request)
puts response.read_body{
"total": 123,
"items": [
{
"id": "TRI-ZTEST-63Q4DZ0KJP",
"status": "PENDING_UNLOCK",
"method": "TRANSFER",
"type": "INCOMING",
"sender": {
"value": "ZTEST-12345678",
"addresses": [
"0x05bbb2996fc1eaf2daad914198c02fe9a2b21c73"
]
},
"destination": {
"value": "ZTEST-12345678",
"addresses": [
"0x05bbb2996fc1eaf2daad914198c02fe9a2b21c73"
]
},
"currency": "ETH",
"currencyId": "eth-Seth",
"ratio": "1000000000000000000",
"network": "Ethereum",
"amount": "6,414",
"amountLedger": "641400",
"ledgerRef": "2f6e77f8c4313d0925f71acf19a659398115bdf903e3af06b3b1776e756c096f",
"companyId": "ZTEST",
"createdAt": "2021-05-11T04:43:43Z",
"feeAmountLedger": "641400"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}Custody-V3
Retrieve transactions
Gets all the transactions based on filter criteria.
POST
/
v3
/
api
/
custody
/
transactions
Retrieve transactions
curl --request POST \
--url https://api.custody.api-zodia.io/v3/api/custody/transactions \
--header 'Content-Type: application/json' \
--header 'submitter-id: <submitter-id>' \
--data '
{
"walletIds": [
"ZTEST-NOBENF-W5NZ2XCZMF"
],
"destinations": [
"ZTEST-NOBENF-W5NZ2XCZMF"
],
"statuses": [
"PENDING CONFIRMATION"
],
"currencies": [
"ETH"
],
"currenciesIds": [
"eth-eth"
],
"amounts": [
"10000"
],
"ledgerRefs": [
"0x77ac045b10bb3f09a8efff110ddfb3280c2bb084"
],
"companyIds": [
"ZTEST"
],
"fromDate": "2021-05-11T04:43:43Z",
"toDate": "2021-05-11T04:43:43Z",
"paginationLimit": 100,
"paginationOffset": 123,
"sort": {
"by": "id"
}
}
'import requests
url = "https://api.custody.api-zodia.io/v3/api/custody/transactions"
payload = {
"walletIds": ["ZTEST-NOBENF-W5NZ2XCZMF"],
"destinations": ["ZTEST-NOBENF-W5NZ2XCZMF"],
"statuses": ["PENDING CONFIRMATION"],
"currencies": ["ETH"],
"currenciesIds": ["eth-eth"],
"amounts": ["10000"],
"ledgerRefs": ["0x77ac045b10bb3f09a8efff110ddfb3280c2bb084"],
"companyIds": ["ZTEST"],
"fromDate": "2021-05-11T04:43:43Z",
"toDate": "2021-05-11T04:43:43Z",
"paginationLimit": 100,
"paginationOffset": 123,
"sort": { "by": "id" }
}
headers = {
"submitter-id": "<submitter-id>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'submitter-id': '<submitter-id>', 'Content-Type': 'application/json'},
body: JSON.stringify({
walletIds: ['ZTEST-NOBENF-W5NZ2XCZMF'],
destinations: ['ZTEST-NOBENF-W5NZ2XCZMF'],
statuses: ['PENDING CONFIRMATION'],
currencies: ['ETH'],
currenciesIds: ['eth-eth'],
amounts: ['10000'],
ledgerRefs: ['0x77ac045b10bb3f09a8efff110ddfb3280c2bb084'],
companyIds: ['ZTEST'],
fromDate: '2021-05-11T04:43:43Z',
toDate: '2021-05-11T04:43:43Z',
paginationLimit: 100,
paginationOffset: 123,
sort: {by: 'id'}
})
};
fetch('https://api.custody.api-zodia.io/v3/api/custody/transactions', 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://api.custody.api-zodia.io/v3/api/custody/transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'walletIds' => [
'ZTEST-NOBENF-W5NZ2XCZMF'
],
'destinations' => [
'ZTEST-NOBENF-W5NZ2XCZMF'
],
'statuses' => [
'PENDING CONFIRMATION'
],
'currencies' => [
'ETH'
],
'currenciesIds' => [
'eth-eth'
],
'amounts' => [
'10000'
],
'ledgerRefs' => [
'0x77ac045b10bb3f09a8efff110ddfb3280c2bb084'
],
'companyIds' => [
'ZTEST'
],
'fromDate' => '2021-05-11T04:43:43Z',
'toDate' => '2021-05-11T04:43:43Z',
'paginationLimit' => 100,
'paginationOffset' => 123,
'sort' => [
'by' => 'id'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"submitter-id: <submitter-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.custody.api-zodia.io/v3/api/custody/transactions"
payload := strings.NewReader("{\n \"walletIds\": [\n \"ZTEST-NOBENF-W5NZ2XCZMF\"\n ],\n \"destinations\": [\n \"ZTEST-NOBENF-W5NZ2XCZMF\"\n ],\n \"statuses\": [\n \"PENDING CONFIRMATION\"\n ],\n \"currencies\": [\n \"ETH\"\n ],\n \"currenciesIds\": [\n \"eth-eth\"\n ],\n \"amounts\": [\n \"10000\"\n ],\n \"ledgerRefs\": [\n \"0x77ac045b10bb3f09a8efff110ddfb3280c2bb084\"\n ],\n \"companyIds\": [\n \"ZTEST\"\n ],\n \"fromDate\": \"2021-05-11T04:43:43Z\",\n \"toDate\": \"2021-05-11T04:43:43Z\",\n \"paginationLimit\": 100,\n \"paginationOffset\": 123,\n \"sort\": {\n \"by\": \"id\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("submitter-id", "<submitter-id>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.custody.api-zodia.io/v3/api/custody/transactions")
.header("submitter-id", "<submitter-id>")
.header("Content-Type", "application/json")
.body("{\n \"walletIds\": [\n \"ZTEST-NOBENF-W5NZ2XCZMF\"\n ],\n \"destinations\": [\n \"ZTEST-NOBENF-W5NZ2XCZMF\"\n ],\n \"statuses\": [\n \"PENDING CONFIRMATION\"\n ],\n \"currencies\": [\n \"ETH\"\n ],\n \"currenciesIds\": [\n \"eth-eth\"\n ],\n \"amounts\": [\n \"10000\"\n ],\n \"ledgerRefs\": [\n \"0x77ac045b10bb3f09a8efff110ddfb3280c2bb084\"\n ],\n \"companyIds\": [\n \"ZTEST\"\n ],\n \"fromDate\": \"2021-05-11T04:43:43Z\",\n \"toDate\": \"2021-05-11T04:43:43Z\",\n \"paginationLimit\": 100,\n \"paginationOffset\": 123,\n \"sort\": {\n \"by\": \"id\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.custody.api-zodia.io/v3/api/custody/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["submitter-id"] = '<submitter-id>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"walletIds\": [\n \"ZTEST-NOBENF-W5NZ2XCZMF\"\n ],\n \"destinations\": [\n \"ZTEST-NOBENF-W5NZ2XCZMF\"\n ],\n \"statuses\": [\n \"PENDING CONFIRMATION\"\n ],\n \"currencies\": [\n \"ETH\"\n ],\n \"currenciesIds\": [\n \"eth-eth\"\n ],\n \"amounts\": [\n \"10000\"\n ],\n \"ledgerRefs\": [\n \"0x77ac045b10bb3f09a8efff110ddfb3280c2bb084\"\n ],\n \"companyIds\": [\n \"ZTEST\"\n ],\n \"fromDate\": \"2021-05-11T04:43:43Z\",\n \"toDate\": \"2021-05-11T04:43:43Z\",\n \"paginationLimit\": 100,\n \"paginationOffset\": 123,\n \"sort\": {\n \"by\": \"id\"\n }\n}"
response = http.request(request)
puts response.read_body{
"total": 123,
"items": [
{
"id": "TRI-ZTEST-63Q4DZ0KJP",
"status": "PENDING_UNLOCK",
"method": "TRANSFER",
"type": "INCOMING",
"sender": {
"value": "ZTEST-12345678",
"addresses": [
"0x05bbb2996fc1eaf2daad914198c02fe9a2b21c73"
]
},
"destination": {
"value": "ZTEST-12345678",
"addresses": [
"0x05bbb2996fc1eaf2daad914198c02fe9a2b21c73"
]
},
"currency": "ETH",
"currencyId": "eth-Seth",
"ratio": "1000000000000000000",
"network": "Ethereum",
"amount": "6,414",
"amountLedger": "641400",
"ledgerRef": "2f6e77f8c4313d0925f71acf19a659398115bdf903e3af06b3b1776e756c096f",
"companyId": "ZTEST",
"createdAt": "2021-05-11T04:43:43Z",
"feeAmountLedger": "641400"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}{
"timestamp": "2021-10-27T14:30:13.912Z",
"title": "Method Not Allowed",
"status": 415,
"details": [
{
"message": "Available methods : GET,POST",
"code": "ER-204"
}
]
}Headers
Email of API user submitting the request
Example:
"api-maker@zodia.io"
Body
application/json
Search by wallet IDs
Search by destination values. Acceptable values are wallet ID, beneficiary/self address ID, Fireblocks connection ID and LNURL
Search by transfer status. Refer to section Status Reference for list of statuses
Search by currencies
Search by currency Ids
Search transactions by ledger amounts
Search by transaction hash
Search by company IDs
Search from a given date. Datetime format in ISO 8601
Example:
"2021-05-11T04:43:43Z"
Search to a given date. Datetime format in ISO 8601
Example:
"2021-05-11T04:43:43Z"
Number of items in response (default is 10)
Example:
100
Show child attributes
Show child attributes
⌘I