Transactions Reference
Register Wallet
Registers a wallet on a blockchain so it can sign and submit transactions. Do this once per wallet per blockchain before submitting any transactions.
Request
POST /api/v1/transactions/register-wallet
Headers
X-AccessKey— Your entity access keyContent-Type: application/json
Body
walletAddress(required) — The wallet address to registerblockchain(required) — The blockchain ID to register onpassphrase(optional) — Only needed if the wallet was created with a passphrase
Response
Returns the transaction result from the node on success.
- cURL
- TypeScript
curl -X POST \
'https://your-tms-url/api/v1/transactions/register-wallet' \
-H 'X-AccessKey: your-entity-access-key' \
-H 'Content-Type: application/json' \
-d '{
"walletAddress": "54677be320b0bd704a99ee1f3d60c7309dfdee4810b1846d7b66ddbe0e84f585",
"blockchain": "08c28f29a62819120958984b761ddf8ccb45951612731409873994958fd150a2"
}'
const res = await fetch('https://your-tms-url/api/v1/transactions/register-wallet', {
method: 'POST',
headers: {
'X-AccessKey': 'your-entity-access-key',
'Content-Type': 'application/json',
},
body: JSON.stringify({
walletAddress: '54677be320b0bd704a99ee1f3d60c7309dfdee4810b1846d7b66ddbe0e84f585',
blockchain: '08c28f29a62819120958984b761ddf8ccb45951612731409873994958fd150a2',
}),
});
const data = await res.json();
console.log(data);
Create Transaction
Submits a transaction to a blockchain. The wallet must already be registered on the target blockchain before calling this. The TMS picks an available node from your access key's allowed nodes and forwards the transaction.
Request
POST /api/v1/transactions
Headers
X-AccessKey— Your entity access keyContent-Type: application/json
Body
blockchainId(required) — Target blockchain IDto(required) — Recipient wallet addresswalletAddress— Signing wallet addressfrom— Sender wallet addresspayload— The data to storepayloadType—textorjsonpassphrase— Only if the wallet was created with onemetadata— Optional key-value pairs
Response
Returns the transaction object including transactionId on success.
Example response
{
"transactionId": "a1b2c3d4e5f6...",
"blockchainId": "08c28f29...",
"status": "pending",
"payload": "hello blockchain",
"payloadType": "text",
"from": "54677be3...",
"to": "54677be3..."
}
- cURL
- TypeScript
curl -X POST \
'https://your-tms-url/api/v1/transactions' \
-H 'X-AccessKey: your-entity-access-key' \
-H 'Content-Type: application/json' \
-d '{
"blockchainId": "08c28f29a62819120958984b761ddf8ccb45951612731409873994958fd150a2",
"from": "54677be320b0bd704a99ee1f3d60c7309dfdee4810b1846d7b66ddbe0e84f585",
"to": "54677be320b0bd704a99ee1f3d60c7309dfdee4810b1846d7b66ddbe0e84f585",
"walletAddress": "54677be320b0bd704a99ee1f3d60c7309dfdee4810b1846d7b66ddbe0e84f585",
"payload": "hello blockchain",
"payloadType": "text"
}'
const res = await fetch('https://your-tms-url/api/v1/transactions', {
method: 'POST',
headers: {
'X-AccessKey': 'your-entity-access-key',
'Content-Type': 'application/json',
},
body: JSON.stringify({
blockchainId: '08c28f29a62819120958984b761ddf8ccb45951612731409873994958fd150a2',
from: '54677be320b0bd704a99ee1f3d60c7309dfdee4810b1846d7b66ddbe0e84f585',
to: '54677be320b0bd704a99ee1f3d60c7309dfdee4810b1846d7b66ddbe0e84f585',
walletAddress: '54677be320b0bd704a99ee1f3d60c7309dfdee4810b1846d7b66ddbe0e84f585',
payload: 'hello blockchain',
payloadType: 'text',
}),
});
const tx = await res.json();
console.log('Transaction ID:', tx.transactionId);
Get Transaction
Retrieves the payload and metadata of a specific transaction by its ID and blockchain. Useful for verifying a transaction landed correctly.
Request
GET /api/v1/transactions/{blockchainId}/{transactionId}
Headers
X-AccessKey— Your entity access key
Path parameters
blockchainId— The blockchain the transaction was submitted totransactionId— The ID returned when the transaction was created
Response
Returns the full transaction object including payload, status, block height, and timestamps.
Example response
{
"transactionId": "a1b2c3d4e5f6...",
"blockchainId": "08c28f29...",
"payload": "hello blockchain",
"payloadType": "text",
"status": "confirmed",
"blockHeight": 2301,
"from": "54677be3...",
"to": "54677be3...",
"timestamp": {
"exactTime": "2026-05-25T19:00:00Z"
}
}
- cURL
- TypeScript
curl -X GET \
'https://your-tms-url/api/v1/transactions/{blockchainId}/{transactionId}' \
-H 'X-AccessKey: your-entity-access-key' \
-H 'Accept: application/json'
const blockchainId = '08c28f29a62819120958984b761ddf8ccb45951612731409873994958fd150a2';
const transactionId = 'your-transaction-id';
const res = await fetch(
`https://your-tms-url/api/v1/transactions/${blockchainId}/${transactionId}`,
{
headers: {
'X-AccessKey': 'your-entity-access-key',
'Accept': 'application/json',
},
}
);
const tx = await res.json();
console.log('Status:', tx.status);
console.log('Block height:', tx.blockHeight);
console.log('Payload:', tx.payload);