Get Smart Wallet
This endpoint retrieves the details of a user's smart wallet, including the date the wallet was registered with this project, or _null_ if it's not registered yet.
In: header
Query Parameters
Public address of the Externally Owned Account (EOA) that will sign the transactions, the owner of the account abstraction wallet.
^0x[a-fA-F0-9]{40}$
The address of the factory contract that creates the account abstraction wallet contract.
^0x[a-fA-F0-9]{40}$
The salt number used to generate this wallet. If none is given the default is zero. Each salt generates a new smart wallet for the same user. The salt can be used for the following purposes:
- Generating multiple smart wallets for the same user
You can use this to have different portfolios in different wallets or any other reason - Getting a specific address for the smart wallet
You can create a script that will test multiple salt values until a certain sequence of numbers show up in the smart wallet contract address. This way you can use the salt to make all smart wallet addresses you generate start with the initials of your company. Though you are limited to Hexadecimal digits, so you'll have to use Hexspeak.
Whether you want to deploy using the EIP7702 standard, that lets the EOA set a contract as its own contract code. The default value is False. Only contracts that are recommended to be used with EIP7702 are allowed, check the docs to find out which ones. Salt has no effect and having it is disallowed.
Response Body
curl -X GET "https://api.notus.team/api/v1/wallets/address?externallyOwnedAccount=0x133700000000000000000000000000000000c0de&factory=0x0000000000400cdfef5e2714e63d8040b700bc24&salt=12345"
fetch("https://api.notus.team/api/v1/wallets/address?externallyOwnedAccount=0x133700000000000000000000000000000000c0de&factory=0x0000000000400cdfef5e2714e63d8040b700bc24&salt=12345")
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.notus.team/api/v1/wallets/address?externallyOwnedAccount=0x133700000000000000000000000000000000c0de&factory=0x0000000000400cdfef5e2714e63d8040b700bc24&salt=12345"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
import requests
url = "https://api.notus.team/api/v1/wallets/address?externallyOwnedAccount=0x133700000000000000000000000000000000c0de&factory=0x0000000000400cdfef5e2714e63d8040b700bc24&salt=12345"
response = requests.request("GET", url)
print(response.text)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.time.Duration;
HttpClient client = HttpClient.newBuilder()
.connectTimeout(Duration.ofSeconds(10))
.build();
HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
.uri(URI.create("https://api.notus.team/api/v1/wallets/address?externallyOwnedAccount=0x133700000000000000000000000000000000c0de&factory=0x0000000000400cdfef5e2714e63d8040b700bc24&salt=12345"))
.GET()
.build();
try {
HttpResponse<String> response = client.send(requestBuilder.build(), BodyHandlers.ofString());
System.out.println("Status code: " + response.statusCode());
System.out.println("Response body: " + response.body());
} catch (Exception e) {
e.printStackTrace();
}
using System;
using System.Net.Http;
using System.Text;
var client = new HttpClient();
var response = await client.GetAsync("https://api.notus.team/api/v1/wallets/address?externallyOwnedAccount=0x133700000000000000000000000000000000c0de&factory=0x0000000000400cdfef5e2714e63d8040b700bc24&salt=12345");
var responseBody = await response.Content.ReadAsStringAsync();
{
"wallet": {
"walletAddress": "0x6e397ddf51d9f15dbe0414538e7529f51f2e5464",
"accountAbstraction": "0x6e397ddf51d9f15dbe0414538e7529f51f2e5464",
"externallyOwnedAccount": "0x133700000000000000000000000000000000c0de",
"factory": "0x0000000000400cdfef5e2714e63d8040b700bc24",
"implementation": "0x8e8e658e22b12ada97b402ff0b044d6a325013c7",
"eip7702": false,
"salt": 12345,
"registeredAt": "2025-08-06T16:57:09.249Z"
}
}
{
"statusCode": 400,
"id": "FACTORY_NOT_SUPPORTED",
"message": "This factory (0xd053b51a81b7306e7e2e34bfd4d51143da8dcdcc) is not yet supported, contact support to request its inclusion"
}
{
"statusCode": 403,
"id": "UNAVAILABLE_COMPUTE_UNITS",
"message": "The project doesn't have enough compute units to perform this action. Please upgrade your plan."
}
{
"statusCode": 404,
"id": "PROJECT_NOT_FOUND",
"message": "The provided project does not exist"
}
Create Deposit Transaction POST
This endpoint provides a transaction to be executed by an EOA to deposit funds into a smart wallet. This is a convenience endpoint to easily build a transfer to be executed by Metamask or any other EOA wallet
Get Smart Wallet Portfolio GET
Get the portfolio of a smart wallet by its account abstraction address. The portfolio is a list of the user's balances in different tokens.