tx.send
Send a signed transaction and get its final effects, events and balance changes.
Details
- Endpoint
- POST /v0/transactions/send
- Credits
- 5
- Rate class
- send
Takes the signed transaction bytes and signatures, sends them to Sui validators through tide's own full node and answers once the effects are certified, which is final: it does not wait for a checkpoint. status is success or failure (a Move abort or other execution failure is still final and still costs gas); error explains a failure. A transaction the network refuses before running it (bad signature, gas, stale or locked objects, expired) is an error with code rejected and a reason. Idempotent by digest: sending the same bytes again, at once or later, returns the same result with resent true and is never executed twice. 5 credits a send; an answer from an earlier send of the same digest costs 1. checkpoint is null until the transaction is in a checkpoint (usually within a second); read the parsed transaction with getTransaction or POST /v0/transactions after that.
Parameters
| Name | Type | Description |
|---|---|---|
| txBytesrequired | string | The transaction the wallet signed: base64 BCS TransactionData (the `bytes` that `Transaction.sign` or a wallet's signTransaction returns). |
| signaturesrequired | array of string | Base64 serialized signatures, one per signer: the sender's, plus the sponsor's when someone else pays gas. A multisig, zkLogin or passkey signature counts as one. A single string is accepted too. |
Request
Send your key in the x-api-key header, or leave it out to use the keyless tier.
curl -X POST "https://api.tide.ad/v0/transactions/send" \
-H "x-api-key: YOUR_API_KEY" \
-H "content-type: application/json" \
-d '{
"txBytes": "AAACAAj2OsVJNwAAAAAgIBRJpGJ1nSuyDwkig3rAnSMlCDGWo4I+6u9CdMvAsOkCAgABAQAAAQEDAAAAAAEBALj32Sf8VGVrj0peUPTjrK1zhsojX66sHDkNMh2vY4YAATp9kIKhymluuJmqx0jaBd8m8gUC1HaPcOuQUrvRblX0AAAAAAAAAAAgQJ78pygSAAAWBQAArKysrKysrKysrKysrKysrKysrKy499kn/FRla49KXlD046ytc4bKI1+urBw5DTIdr2OGAGQAAAAAAAAAoCASAAAAAAACARYFAAAAAAAAARcFAAAAAAAAAAAgNYNKisF8pI+xSsj5nBfJh0fpXdBylK5BpGs4IkakSZu9sq/a",
"signatures": [
"AKe6ytTI4aMRU6Y2SDHk1B6U+o4LW9IO1sgdpSLdMSFCR2hbfPBKpjFC8s8I4Sgb7LCTAR1pPfNAWjzmCAAMlwg117Mbqnsu2ZrhvRnTlFLFDOnN9B6SeD0J2DbsPuW9Uw=="
]
}'const res = await fetch("https://api.tide.ad/v0/transactions/send", {
method: "POST",
headers: {
"x-api-key": process.env.TIDE_API_KEY!,
"content-type": "application/json",
},
body: JSON.stringify({
"txBytes": "AAACAAj2OsVJNwAAAAAgIBRJpGJ1nSuyDwkig3rAnSMlCDGWo4I+6u9CdMvAsOkCAgABAQAAAQEDAAAAAAEBALj32Sf8VGVrj0peUPTjrK1zhsojX66sHDkNMh2vY4YAATp9kIKhymluuJmqx0jaBd8m8gUC1HaPcOuQUrvRblX0AAAAAAAAAAAgQJ78pygSAAAWBQAArKysrKysrKysrKysrKysrKysrKy499kn/FRla49KXlD046ytc4bKI1+urBw5DTIdr2OGAGQAAAAAAAAAoCASAAAAAAACARYFAAAAAAAAARcFAAAAAAAAAAAgNYNKisF8pI+xSsj5nBfJh0fpXdBylK5BpGs4IkakSZu9sq/a",
"signatures": [
"AKe6ytTI4aMRU6Y2SDHk1B6U+o4LW9IO1sgdpSLdMSFCR2hbfPBKpjFC8s8I4Sgb7LCTAR1pPfNAWjzmCAAMlwg117Mbqnsu2ZrhvRnTlFLFDOnN9B6SeD0J2DbsPuW9Uw=="
]
}),
});
const data = await res.json();Response
{
"digest": "4fnSPCCnT5w2i9FAyGSCsVDvG2trKymYZw8soRpNngss",
"status": "success",
"error": null,
"final": true,
"sender": "0xb8f7d927fc54656b8f4a5e50f4e3acad7386ca235faeac1c390d321daf638600",
"kind": "owned",
"checkpoint": null,
"gas": {
"computationCost": "100000",
"storageCost": "988000",
"storageRebate": "0",
"nonRefundableStorageFee": "0",
"totalMist": "1088000"
},
"balanceChanges": [
{
"address": "0x201449a462759d2bb20f0922837ac09d2325083196a3823eeaef4274cbc0b0e9",
"coinType": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI",
"amount": "237460863734"
},
{
"address": "0xb8f7d927fc54656b8f4a5e50f4e3acad7386ca235faeac1c390d321daf638600",
"coinType": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI",
"amount": "-237461951734"
}
],
"objects": {
"created": [
{
"objectId": "0x814445f2832a5a823ae2a47551f83de89458839aecaaeefe046b4c7739c8b011",
"version": "1",
"digest": "4ZwQiqc68MdSed5rs7MBfaonNQFebWtnTh8eFNfzd5UJ",
"owner": {
"AddressOwner": "0x201449a462759d2bb20f0922837ac09d2325083196a3823eeaef4274cbc0b0e9"
},
"type": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI>"
}
],
"mutated": [],
"unwrapped": [],
"deleted": [],
"wrapped": [],
"published": []
},
"events": [],
"effects": {
"digest": "DRmkuynPuiWfrZnRvWUtui6ZF5usooSkQeM9A2MV7z9e",
"epoch": "1302",
"lamportVersion": "1",
"eventsDigest": null,
"dependencies": [],
"bcs": "AQAWBQAAAAAAAKCGAQAAAAAAYBMPAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDaCgg12FrXFe2lDO+MuxBAbwGvSsVxykPHjwgOVaBi6AAAAAQAAAAAAAAACD/7aCGC2zeEJ02I+1M3MWGEbWNKm4iExT/tqmZfKHG8AA7j32Sf8VGVrj0peUPTjrK1zhsojX66sHDkNMh2vY4YABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACB2JhbGFuY2UHQmFsYW5jZQEHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDc3VpA1NVSQABAPbU1Uk3AAAAAIFERfKDKlqCOuKkdVH4PeiUWIOa7Kru/gRrTHc5yLARAAEgNQMqx6nVuxKrCQ3D4erUQuI63bKRMrrf+seRaKmCl+8AIBRJpGJ1nSuyDwkig3rAnSMlCDGWo4I+6u9CdMvAsOkBAAA="
},
"resent": false,
"timing": {
"finalMs": 412
}
}