Search by name, SuiNS, address, digest, object ID, coin type or checkpoint.

API

Simulate and build

Dry-run a transaction before it is signed and read the result in plain words. Build unsigned transactions that tide has checked. tide never signs.

When to use it

  • Show a user what a transaction will do before the wallet asks to sign.
  • Turn an abort into its function, code and a plain sentence.
  • Build a stake, swap or deposit as unsigned bytes your user signs.

Quickstart

Replace YOUR_API_KEY with your key from the developer portal, or drop the key header to use the keyless tier. See Quickstart.

1. Simulate a transaction

Balance changes with USD, object changes, gas and the abort reason.

curl -X POST "https://api.tide.ad/v1/tx/simulate" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "content-type: application/json" \
  -d '{
  "sender": "0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270",
  "transaction": {
    "version": 2,
    "sender": "0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270",
    "expiration": null,
    "gasData": {
      "budget": null,
      "price": null,
      "owner": null,
      "payment": null
    },
    "inputs": [
      {
        "Pure": {
          "bytes": "QEIPAAAAAAA="
        }
      },
      {
        "Pure": {
          "bytes": "3ut6RmLuyfLz3vA/uTemY93aouIVuAeKKE0Ca3lGwnA="
        }
      }
    ],
    "commands": [
      {
        "SplitCoins": {
          "coin": {
            "GasCoin": true
          },
          "amounts": [
            {
              "Input": 0
            }
          ]
        }
      },
      {
        "TransferObjects": {
          "objects": [
            {
              "NestedResult": [
                0,
                0
              ]
            }
          ],
          "address": {
            "Input": 1
          }
        }
      }
    ]
  }
}'

2. Build an unsigned transaction

Send the action and the sender. You get bytes to sign and a check of what they do.

curl -X POST "https://api.tide.ad/v1/tx/build" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "content-type: application/json" \
  -d '{
  "sender": "0xa0c417e4fe1de367e8171b12a2960ddd865aff87be58ea1bb4e06f60d631a49f",
  "action": "swap",
  "from": "SUI",
  "to": "USDC",
  "amount": 5
}'

API reference

MethodWhat it doesCredits
tx.simulatePOST /v1/tx/simulateCheck a transaction before signing: what it would do, what it would cost, or why it would fail.10
simulateTransactionJSON-RPCCheck a transaction before signing: what it would do, what it would cost, or why it would fail.10
tx.checkPOST /v1/tx/checkPre-sign check: simulate an unsigned transaction, explain it and judge every counterparty, with a verdict and evidence.10
tx.buildPOST /v1/tx/buildBuild an unsigned transaction for stake, liquid staking, lending or a swap, gassed and checked on current mainnet state.15
buildTransactionJSON-RPCBuild an unsigned transaction for stake, liquid staking, lending or a swap, gassed and checked on current mainnet state.15
tx.receiptPOST /v1/tx/receiptSigned receipt for unsigned bytes: simulated effects, Agent Pass policy check, intent checks and a verdict, signed by tide.10
receipts.verifyPOST /v1/receipts/verifyCheck a receipt's signature and that its digest is the digest of its bytes.1

Full lists: Simulate, Build. Every method page has its parameters, credits and an example response.