> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.shimi.cash/api-reference/shimi-api/crypto/list-crypto-transactions/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.shimi.cash/_mcp/server. # List Crypto Transactions GET https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/crypto/transactions List your crypto deposit/withdrawal history. Returns your crypto deposits (`type: deposit`, `direction: in`) and withdrawals (`type: withdrawal`, `direction: out`), newest first, wrapped as `data.data` (rows) + `data.meta` (`total`, `page`, `limit`, `totalPages`). Statuses: `pending`, `completed`, `failed`. For withdrawals `tokenAddress` is the destination and `from` your source address. For deposits `from` is null; `tokenAddress` holds the counter-party (token deposits) or your address (native deposits), and `meta` carries `from`, `counterAddress`, `blockNumber` and `raw` (the full provider notification, shown empty here). **Known limitation:** the current build ignores query parameters - it always returns page 1 with `limit: 1` (i.e. only the most recent transaction), and `page`/`limit`/`hash`/`asset` filters have no effect. Reference: https://docs.shimi.cash/api-reference/shimi-api/crypto/list-crypto-transactions ## Authentication - `Authorization` header (bearer token, required) — Access token from Generate Access Token (valid 15 minutes). ## Response ### 200 Transactions / No transactions - `status` (string, optional) - `data` (CryptoTransactionsGetResponsesContentApplicationJsonSchemaData, optional) ## Errors ### 401 Unauthorized Error Unauthorized - `message` (string, optional) ### 403 Forbidden Error Invalid or expired access token / KYB not approved / Account deactivated - `message` (string, optional) - `code` (string, optional) - `kybStatus` (string, optional) ## Types ### CryptoTransactionsGetResponsesContentApplicationJsonSchemaData - `data` (list of CryptoTransactionsGetResponsesContentApplicationJsonSchemaDataDataItems, optional) - `meta` (CryptoTransactionsGetResponsesContentApplicationJsonSchemaDataMeta, optional) ### CryptoTransactionsGetResponsesContentApplicationJsonSchemaDataDataItems - `id` (integer, optional) - `type` (string, optional) - `status` (string, optional) - `txHash` (string, optional) - `amount` (integer, optional) - `from` (string, optional, nullable) - `asset` (string, optional) - `direction` (string, optional) - `companyId` (string, optional) - `networkId` (string, optional) - `tokenAddress` (string, optional) - `meta` (CryptoTransactionsGetResponsesContentApplicationJsonSchemaDataDataItemsMeta, optional) - `createdAt` (string, optional) - `updatedAt` (string, optional) ### CryptoTransactionsGetResponsesContentApplicationJsonSchemaDataMeta - `total` (integer, optional) - `page` (integer, optional) - `limit` (integer, optional) - `totalPages` (integer, optional) ### CryptoTransactionsGetResponsesContentApplicationJsonSchemaDataDataItemsMeta - `from` (string, optional) - `counterAddress` (string, optional) - `blockNumber` (integer, optional) - `raw` (CryptoTransactionsGetResponsesContentApplicationJsonSchemaDataDataItemsMetaRaw, optional) ### CryptoTransactionsGetResponsesContentApplicationJsonSchemaDataDataItemsMetaRaw ## Examples ### 200 Transactions **Response** ```json { "status": "success", "data": { "data": [ { "id": 184, "type": "deposit", "status": "completed", "txHash": "4vJ9JU1bJJE96FWSJKvHsmmFADCg4gpZQff4P3bkLKi1QdxQ3CNyKfzYbQ2PZ3ZBS7nVfUo7Ztw8k3o2xq6D8sYb", "amount": 150, "from": null, "asset": "USDT", "direction": "in", "companyId": "cm7q0b3vd0000jx9k2rf5s8hw", "networkId": "cm8r2n6sx0002lt0f9q1w4e7y", "tokenAddress": "3Kp8sXfT1BvH9a6YJgWm2nQzR4eLcD7uV5tN8yEoPiAs", "meta": { "from": "3Kp8sXfT1BvH9a6YJgWm2nQzR4eLcD7uV5tN8yEoPiAs", "counterAddress": "3Kp8sXfT1BvH9a6YJgWm2nQzR4eLcD7uV5tN8yEoPiAs", "blockNumber": 318452907, "raw": {} }, "createdAt": "2026-10-03T09:14:52.611Z", "updatedAt": "2026-10-03T09:15:20.047Z" } ], "meta": { "total": 12, "page": 1, "limit": 1, "totalPages": 12 } } } ``` **SDK Code** ```python 200 Transactions import requests url = "https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/crypto/transactions" headers = {"Authorization": "Bearer "} response = requests.get(url, headers=headers) print(response.json()) ``` ```javascript 200 Transactions const url = 'https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/crypto/transactions'; const options = {method: 'GET', headers: {Authorization: 'Bearer '}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go 200 Transactions package main import ( "fmt" "net/http" "io" ) func main() { url := "https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/crypto/transactions" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "Bearer ") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby 200 Transactions require 'uri' require 'net/http' url = URI("https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/crypto/transactions") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = 'Bearer ' response = http.request(request) puts response.read_body ``` ```java 200 Transactions import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/crypto/transactions") .header("Authorization", "Bearer ") .asString(); ``` ```php 200 Transactions request('GET', 'https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/crypto/transactions', [ 'headers' => [ 'Authorization' => 'Bearer ', ], ]); echo $response->getBody(); ``` ```csharp 200 Transactions using RestSharp; var client = new RestClient("https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/crypto/transactions"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer "); IRestResponse response = client.Execute(request); ``` ```swift 200 Transactions import Foundation let headers = ["Authorization": "Bearer "] let request = NSMutableURLRequest(url: NSURL(string: "https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/crypto/transactions")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ### 200 No transactions **Response** ```json { "status": "success", "data": { "data": [], "meta": { "total": 0, "page": 1, "limit": 1, "totalPages": 0 } } } ``` **SDK Code** ```python 200 No transactions import requests url = "https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/crypto/transactions" headers = {"Authorization": "Bearer "} response = requests.get(url, headers=headers) print(response.json()) ``` ```javascript 200 No transactions const url = 'https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/crypto/transactions'; const options = {method: 'GET', headers: {Authorization: 'Bearer '}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go 200 No transactions package main import ( "fmt" "net/http" "io" ) func main() { url := "https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/crypto/transactions" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "Bearer ") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby 200 No transactions require 'uri' require 'net/http' url = URI("https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/crypto/transactions") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = 'Bearer ' response = http.request(request) puts response.read_body ``` ```java 200 No transactions import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/crypto/transactions") .header("Authorization", "Bearer ") .asString(); ``` ```php 200 No transactions request('GET', 'https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/crypto/transactions', [ 'headers' => [ 'Authorization' => 'Bearer ', ], ]); echo $response->getBody(); ``` ```csharp 200 No transactions using RestSharp; var client = new RestClient("https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/crypto/transactions"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer "); IRestResponse response = client.Execute(request); ``` ```swift 200 No transactions import Foundation let headers = ["Authorization": "Bearer "] let request = NSMutableURLRequest(url: NSURL(string: "https://shimi-waas-api-9493532b9281.herokuapp.com/api/v1/crypto/transactions")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```