Skip to main content
Use Gateway transaction endpoints to simulate, send, batch, cost, and track signed MultiversX transactions.

Base URL

https://rust-gateway.xoxno.com
Responses use the MultiversX Gateway body shape: data, error, and code.

Endpoints

NeedEndpoint
Send one signed transactionPOST /transaction/send
Simulate a transactionPOST /transaction/simulate
Send multiple transactionsPOST /transaction/send-multiple
Estimate transaction costPOST /transaction/cost
Get transaction by hashGET /transaction/{txhash}
Get status by hashGET /transaction/{txhash}/status
Get processed statusGET /transaction/{txhash}/process-status
Inspect transaction poolGET /transaction/pool

Transaction Fields

FieldTypeRequiredNotes
nonceintegeryesSender account nonce.
valuestringyesEGLD value in atomic units.
receiverstringyesBech32 receiver.
senderstringyesBech32 sender.
gasPriceintegeryesMinimum 1000000000.
gasLimitintegeryesMaximum gas units.
datastringnoBase64 payload.
chainIDstringyes1 for mainnet.
versionintegeryesUse 2 for current SDK output.
signaturestringyesHex Ed25519 signature.
The Gateway does not sign transactions. Submit only transactions signed for the exact payload, nonce, sender, and chain ID.

Send Request

curl -X POST "https://rust-gateway.xoxno.com/transaction/send" \
  -H "content-type: application/json" \
  -d '{
    "nonce": 42,
    "value": "0",
    "receiver": "erd1...",
    "sender": "erd1...",
    "gasPrice": 1000000000,
    "gasLimit": 50000,
    "data": "",
    "chainID": "1",
    "version": 2,
    "signature": "<hex-signature>"
  }'
The JSON examples contain placeholders. Replace them with a real signed transaction before sending.

Status Request

curl "https://rust-gateway.xoxno.com/transaction/<txhash>/status?sender=erd1..."
Pass sender when available so the Gateway can route directly to the sender shard.

Edge Cases

CaseBehaviorFix
HTTP 200 with errorObserver rejected the operation.Treat the body as failed.
nonce too low or nonce too highSender nonce differs from signed transaction.Re-read nonce, rebuild, and sign again.
Status lookup without senderGateway may search more shards.Pass sender when known.
Transaction pool readsFull pool fetch can be disabled by config.Use by-sender when possible.

Verify

  • Simulation returns no body-level error before sending.
  • Send response has data.txHash.
  • Status endpoint returns the expected hash status after finalization.
  • Your client handles body-level error even when HTTP status is 200.