Simulates an EVM transaction and returns the expected outcome.
curl --request POST \
--url https://app.dynamicauth.com/api/v0/sdk/{environmentId}/evm/simulateTransaction \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"chainId": "An example name",
"data": "An example name",
"from": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"to": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"value": "An example name",
"domain": "An example name"
}
'import requests
url = "https://app.dynamicauth.com/api/v0/sdk/{environmentId}/evm/simulateTransaction"
payload = {
"chainId": "An example name",
"data": "An example name",
"from": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"to": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"value": "An example name",
"domain": "An example name"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
chainId: 'An example name',
data: 'An example name',
from: '0xbF394748301603f18d953C90F0b087CBEC0E1834',
to: '0xbF394748301603f18d953C90F0b087CBEC0E1834',
value: 'An example name',
domain: 'An example name'
})
};
fetch('https://app.dynamicauth.com/api/v0/sdk/{environmentId}/evm/simulateTransaction', 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://app.dynamicauth.com/api/v0/sdk/{environmentId}/evm/simulateTransaction",
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([
'chainId' => 'An example name',
'data' => 'An example name',
'from' => '0xbF394748301603f18d953C90F0b087CBEC0E1834',
'to' => '0xbF394748301603f18d953C90F0b087CBEC0E1834',
'value' => 'An example name',
'domain' => 'An example name'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://app.dynamicauth.com/api/v0/sdk/{environmentId}/evm/simulateTransaction"
payload := strings.NewReader("{\n \"chainId\": \"An example name\",\n \"data\": \"An example name\",\n \"from\": \"0xbF394748301603f18d953C90F0b087CBEC0E1834\",\n \"to\": \"0xbF394748301603f18d953C90F0b087CBEC0E1834\",\n \"value\": \"An example name\",\n \"domain\": \"An example name\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://app.dynamicauth.com/api/v0/sdk/{environmentId}/evm/simulateTransaction")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"chainId\": \"An example name\",\n \"data\": \"An example name\",\n \"from\": \"0xbF394748301603f18d953C90F0b087CBEC0E1834\",\n \"to\": \"0xbF394748301603f18d953C90F0b087CBEC0E1834\",\n \"value\": \"An example name\",\n \"domain\": \"An example name\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.dynamicauth.com/api/v0/sdk/{environmentId}/evm/simulateTransaction")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"chainId\": \"An example name\",\n \"data\": \"An example name\",\n \"from\": \"0xbF394748301603f18d953C90F0b087CBEC0E1834\",\n \"to\": \"0xbF394748301603f18d953C90F0b087CBEC0E1834\",\n \"value\": \"An example name\",\n \"domain\": \"An example name\"\n}"
response = http.request(request)
puts response.read_body{
"inAssets": [
{
"asset": {
"address": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"chainName": "<string>",
"decimals": 123,
"logoUrl": "<string>",
"name": "<string>",
"symbol": "<string>",
"type": "<string>",
"chainId": 123
},
"transferIn": [
{
"rawValue": "<string>",
"summary": "<string>",
"usdPrice": "<string>",
"value": "<string>"
}
],
"transferOut": [
{
"rawValue": "<string>",
"summary": "<string>",
"usdPrice": "<string>",
"value": "<string>"
}
]
}
],
"outAssets": [
{
"asset": {
"address": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"chainName": "<string>",
"decimals": 123,
"logoUrl": "<string>",
"name": "<string>",
"symbol": "<string>",
"type": "<string>",
"chainId": 123
},
"transferIn": [
{
"rawValue": "<string>",
"summary": "<string>",
"usdPrice": "<string>",
"value": "<string>"
}
],
"transferOut": [
{
"rawValue": "<string>",
"summary": "<string>",
"usdPrice": "<string>",
"value": "<string>"
}
]
}
],
"priceData": {
"nativeTokenUsdPrice": 123
},
"showTotalFiat": true,
"counterparties": [
"0xbF394748301603f18d953C90F0b087CBEC0E1834"
],
"validation": {
"reason": "<string>",
"description": "<string>",
"classification": "<string>"
},
"assetExposures": [
{
"asset": {
"address": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"chainName": "<string>",
"decimals": 123,
"logoUrl": "<string>",
"name": "<string>",
"symbol": "<string>",
"type": "<string>",
"chainId": 123
},
"spenderToInfo": {}
}
]
}{
"error": "<string>"
}{
"error": "Resources already exists for this Object",
"payload": {
"email": "joe@email.com",
"embeddedWalletName": "<string>",
"mergeConflicts": {
"fromUser": {
"id": "95b11417-f18f-457f-8804-68e361f9164f",
"projectEnvironmentId": "95b11417-f18f-457f-8804-68e361f9164f",
"verifiedCredentials": [
{
"id": "95b11417-f18f-457f-8804-68e361f9164f",
"signInEnabled": true,
"address": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"chain": "<string>",
"refId": "95b11417-f18f-457f-8804-68e361f9164f",
"signerRefId": "95b11417-f18f-457f-8804-68e361f9164f",
"email": "jsmith@example.com",
"name_service": {
"avatar": "<string>",
"name": "<string>"
},
"public_identifier": "<string>",
"wallet_name": "<string>",
"wallet_properties": {
"turnkeySubOrganizationId": "95b11417-f18f-457f-8804-68e361f9164f",
"turnkeyPrivateKeyId": "95b11417-f18f-457f-8804-68e361f9164f",
"turnkeyHDWalletId": "95b11417-f18f-457f-8804-68e361f9164f",
"isAuthenticatorAttached": true,
"turnkeyUserId": "95b11417-f18f-457f-8804-68e361f9164f",
"isSessionKeyCompatible": true
},
"business_account_properties": {
"businessAccountId": "95b11417-f18f-457f-8804-68e361f9164f",
"businessAccountCreatedAt": "2023-11-07T05:31:56Z",
"businessAccountSignerId": "95b11417-f18f-457f-8804-68e361f9164f",
"businessAccountName": "<string>",
"businessAccountExternalRef": "<string>"
},
"oauth_username": "<string>",
"oauth_display_name": "<string>",
"oauth_account_id": "<string>",
"phoneNumber": "9171113333",
"phoneCountryCode": "1",
"isoCountryCode": "US",
"oauth_account_photos": [
"<string>"
],
"oauth_emails": [
"<string>"
],
"oauth_metadata": {},
"previous_users": [
"95b11417-f18f-457f-8804-68e361f9164f"
],
"embedded_wallet_id": "<string>",
"wallet_additional_addresses": [
{
"address": "<string>",
"publicKey": "<string>",
"network": "<string>"
}
],
"lastSelectedAt": "2023-11-07T05:31:56Z",
"verifiedAt": "2023-11-07T05:31:56Z"
}
],
"lastVerifiedCredentialId": "95b11417-f18f-457f-8804-68e361f9164f",
"sessionId": "95b11417-f18f-457f-8804-68e361f9164f",
"alias": "An example name",
"country": "US",
"email": "jsmith@example.com",
"firstName": "An example name",
"jobTitle": "An example name",
"lastName": "An example name",
"phoneNumber": "<string>",
"policiesConsent": true,
"tShirtSize": "An example name",
"team": "An example name",
"username": "An example name",
"firstVisit": "2023-11-07T05:31:56Z",
"lastVisit": "2023-11-07T05:31:56Z",
"newUser": true,
"metadata": {},
"btcWallet": "<string>",
"kdaWallet": "<string>",
"ltcWallet": "<string>",
"ckbWallet": "<string>",
"kasWallet": "<string>",
"dogeWallet": "<string>",
"emailNotification": true,
"discordNotification": true,
"newsletterNotification": true,
"lists": [
"<string>"
],
"scope": "superuser marketing operations",
"missingFields": [
{
"name": "<string>",
"required": true,
"enabled": true,
"unique": true,
"verify": true,
"validationRules": {
"unique": true,
"regex": "^0x",
"validOptions": [
{
"label": "small"
},
{
"label": "medium"
},
{
"label": "large"
}
],
"checkboxText": "Agree to the terms and conditions"
},
"label": "<string>",
"position": 123
}
]
},
"conflicts": [
{
"field": {
"name": "<string>",
"required": true,
"enabled": true,
"unique": true,
"verify": true,
"validationRules": {
"unique": true,
"regex": "^0x",
"validOptions": [
{
"label": "small"
},
{
"label": "medium"
},
{
"label": "large"
}
],
"checkboxText": "Agree to the terms and conditions"
},
"label": "<string>",
"position": 123
},
"fromUser": {
"userId": "95b11417-f18f-457f-8804-68e361f9164f",
"value": "An example name"
},
"currentUser": {
"userId": "95b11417-f18f-457f-8804-68e361f9164f",
"value": "An example name"
}
}
]
},
"additionalMessages": [
"<string>"
]
}
}{
"error": "Internal Server Error"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
ID of the environment
36^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"95b11417-f18f-457f-8804-68e361f9164f"
Body
255^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$"An example name"
^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$"An example name"
Valid blockchain wallet address, must be an alphanumeric string (underscores allowed for chains like Midnight, hyphens allowed for chains using base64url-encoded addresses like TON)
255^[A-Za-z0-9_-]{18,100}$"0xbF394748301603f18d953C90F0b087CBEC0E1834"
Valid blockchain wallet address, must be an alphanumeric string (underscores allowed for chains like Midnight, hyphens allowed for chains using base64url-encoded addresses like TON)
255^[A-Za-z0-9_-]{18,100}$"0xbF394748301603f18d953C90F0b087CBEC0E1834"
255^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$"An example name"
255^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$"An example name"
Response
Simulated transaction result
List of assets received in the simulated transaction
Show child attributes
Show child attributes
List of assets sent in the simulated transaction
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Whether to display the total fiat value of the transaction
List of counterparty addresses involved in the transaction
Valid blockchain wallet address, must be an alphanumeric string (underscores allowed for chains like Midnight, hyphens allowed for chains using base64url-encoded addresses like TON)
255^[A-Za-z0-9_-]{18,100}$"0xbF394748301603f18d953C90F0b087CBEC0E1834"
Show child attributes
Show child attributes
List of asset exposure changes from the simulated transaction
Show child attributes
Show child attributes
Was this page helpful?
curl --request POST \
--url https://app.dynamicauth.com/api/v0/sdk/{environmentId}/evm/simulateTransaction \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"chainId": "An example name",
"data": "An example name",
"from": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"to": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"value": "An example name",
"domain": "An example name"
}
'import requests
url = "https://app.dynamicauth.com/api/v0/sdk/{environmentId}/evm/simulateTransaction"
payload = {
"chainId": "An example name",
"data": "An example name",
"from": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"to": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"value": "An example name",
"domain": "An example name"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
chainId: 'An example name',
data: 'An example name',
from: '0xbF394748301603f18d953C90F0b087CBEC0E1834',
to: '0xbF394748301603f18d953C90F0b087CBEC0E1834',
value: 'An example name',
domain: 'An example name'
})
};
fetch('https://app.dynamicauth.com/api/v0/sdk/{environmentId}/evm/simulateTransaction', 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://app.dynamicauth.com/api/v0/sdk/{environmentId}/evm/simulateTransaction",
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([
'chainId' => 'An example name',
'data' => 'An example name',
'from' => '0xbF394748301603f18d953C90F0b087CBEC0E1834',
'to' => '0xbF394748301603f18d953C90F0b087CBEC0E1834',
'value' => 'An example name',
'domain' => 'An example name'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://app.dynamicauth.com/api/v0/sdk/{environmentId}/evm/simulateTransaction"
payload := strings.NewReader("{\n \"chainId\": \"An example name\",\n \"data\": \"An example name\",\n \"from\": \"0xbF394748301603f18d953C90F0b087CBEC0E1834\",\n \"to\": \"0xbF394748301603f18d953C90F0b087CBEC0E1834\",\n \"value\": \"An example name\",\n \"domain\": \"An example name\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://app.dynamicauth.com/api/v0/sdk/{environmentId}/evm/simulateTransaction")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"chainId\": \"An example name\",\n \"data\": \"An example name\",\n \"from\": \"0xbF394748301603f18d953C90F0b087CBEC0E1834\",\n \"to\": \"0xbF394748301603f18d953C90F0b087CBEC0E1834\",\n \"value\": \"An example name\",\n \"domain\": \"An example name\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.dynamicauth.com/api/v0/sdk/{environmentId}/evm/simulateTransaction")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"chainId\": \"An example name\",\n \"data\": \"An example name\",\n \"from\": \"0xbF394748301603f18d953C90F0b087CBEC0E1834\",\n \"to\": \"0xbF394748301603f18d953C90F0b087CBEC0E1834\",\n \"value\": \"An example name\",\n \"domain\": \"An example name\"\n}"
response = http.request(request)
puts response.read_body{
"inAssets": [
{
"asset": {
"address": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"chainName": "<string>",
"decimals": 123,
"logoUrl": "<string>",
"name": "<string>",
"symbol": "<string>",
"type": "<string>",
"chainId": 123
},
"transferIn": [
{
"rawValue": "<string>",
"summary": "<string>",
"usdPrice": "<string>",
"value": "<string>"
}
],
"transferOut": [
{
"rawValue": "<string>",
"summary": "<string>",
"usdPrice": "<string>",
"value": "<string>"
}
]
}
],
"outAssets": [
{
"asset": {
"address": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"chainName": "<string>",
"decimals": 123,
"logoUrl": "<string>",
"name": "<string>",
"symbol": "<string>",
"type": "<string>",
"chainId": 123
},
"transferIn": [
{
"rawValue": "<string>",
"summary": "<string>",
"usdPrice": "<string>",
"value": "<string>"
}
],
"transferOut": [
{
"rawValue": "<string>",
"summary": "<string>",
"usdPrice": "<string>",
"value": "<string>"
}
]
}
],
"priceData": {
"nativeTokenUsdPrice": 123
},
"showTotalFiat": true,
"counterparties": [
"0xbF394748301603f18d953C90F0b087CBEC0E1834"
],
"validation": {
"reason": "<string>",
"description": "<string>",
"classification": "<string>"
},
"assetExposures": [
{
"asset": {
"address": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"chainName": "<string>",
"decimals": 123,
"logoUrl": "<string>",
"name": "<string>",
"symbol": "<string>",
"type": "<string>",
"chainId": 123
},
"spenderToInfo": {}
}
]
}{
"error": "<string>"
}{
"error": "Resources already exists for this Object",
"payload": {
"email": "joe@email.com",
"embeddedWalletName": "<string>",
"mergeConflicts": {
"fromUser": {
"id": "95b11417-f18f-457f-8804-68e361f9164f",
"projectEnvironmentId": "95b11417-f18f-457f-8804-68e361f9164f",
"verifiedCredentials": [
{
"id": "95b11417-f18f-457f-8804-68e361f9164f",
"signInEnabled": true,
"address": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"chain": "<string>",
"refId": "95b11417-f18f-457f-8804-68e361f9164f",
"signerRefId": "95b11417-f18f-457f-8804-68e361f9164f",
"email": "jsmith@example.com",
"name_service": {
"avatar": "<string>",
"name": "<string>"
},
"public_identifier": "<string>",
"wallet_name": "<string>",
"wallet_properties": {
"turnkeySubOrganizationId": "95b11417-f18f-457f-8804-68e361f9164f",
"turnkeyPrivateKeyId": "95b11417-f18f-457f-8804-68e361f9164f",
"turnkeyHDWalletId": "95b11417-f18f-457f-8804-68e361f9164f",
"isAuthenticatorAttached": true,
"turnkeyUserId": "95b11417-f18f-457f-8804-68e361f9164f",
"isSessionKeyCompatible": true
},
"business_account_properties": {
"businessAccountId": "95b11417-f18f-457f-8804-68e361f9164f",
"businessAccountCreatedAt": "2023-11-07T05:31:56Z",
"businessAccountSignerId": "95b11417-f18f-457f-8804-68e361f9164f",
"businessAccountName": "<string>",
"businessAccountExternalRef": "<string>"
},
"oauth_username": "<string>",
"oauth_display_name": "<string>",
"oauth_account_id": "<string>",
"phoneNumber": "9171113333",
"phoneCountryCode": "1",
"isoCountryCode": "US",
"oauth_account_photos": [
"<string>"
],
"oauth_emails": [
"<string>"
],
"oauth_metadata": {},
"previous_users": [
"95b11417-f18f-457f-8804-68e361f9164f"
],
"embedded_wallet_id": "<string>",
"wallet_additional_addresses": [
{
"address": "<string>",
"publicKey": "<string>",
"network": "<string>"
}
],
"lastSelectedAt": "2023-11-07T05:31:56Z",
"verifiedAt": "2023-11-07T05:31:56Z"
}
],
"lastVerifiedCredentialId": "95b11417-f18f-457f-8804-68e361f9164f",
"sessionId": "95b11417-f18f-457f-8804-68e361f9164f",
"alias": "An example name",
"country": "US",
"email": "jsmith@example.com",
"firstName": "An example name",
"jobTitle": "An example name",
"lastName": "An example name",
"phoneNumber": "<string>",
"policiesConsent": true,
"tShirtSize": "An example name",
"team": "An example name",
"username": "An example name",
"firstVisit": "2023-11-07T05:31:56Z",
"lastVisit": "2023-11-07T05:31:56Z",
"newUser": true,
"metadata": {},
"btcWallet": "<string>",
"kdaWallet": "<string>",
"ltcWallet": "<string>",
"ckbWallet": "<string>",
"kasWallet": "<string>",
"dogeWallet": "<string>",
"emailNotification": true,
"discordNotification": true,
"newsletterNotification": true,
"lists": [
"<string>"
],
"scope": "superuser marketing operations",
"missingFields": [
{
"name": "<string>",
"required": true,
"enabled": true,
"unique": true,
"verify": true,
"validationRules": {
"unique": true,
"regex": "^0x",
"validOptions": [
{
"label": "small"
},
{
"label": "medium"
},
{
"label": "large"
}
],
"checkboxText": "Agree to the terms and conditions"
},
"label": "<string>",
"position": 123
}
]
},
"conflicts": [
{
"field": {
"name": "<string>",
"required": true,
"enabled": true,
"unique": true,
"verify": true,
"validationRules": {
"unique": true,
"regex": "^0x",
"validOptions": [
{
"label": "small"
},
{
"label": "medium"
},
{
"label": "large"
}
],
"checkboxText": "Agree to the terms and conditions"
},
"label": "<string>",
"position": 123
},
"fromUser": {
"userId": "95b11417-f18f-457f-8804-68e361f9164f",
"value": "An example name"
},
"currentUser": {
"userId": "95b11417-f18f-457f-8804-68e361f9164f",
"value": "An example name"
}
}
]
},
"additionalMessages": [
"<string>"
]
}
}{
"error": "Internal Server Error"
}