curl -X POST https://api.dzap.io/v1/gasless/executeTx \
-H "Content-Type: application/json" \
-d '{
"chainId": 42161,
"txId": "0xabc...",
"permit": {
"permitData": [{ "token": "0xaf88...", "amount": "1000000", "permit": "0x..." }],
"gaslessIntentSignature": "0x...",
"gaslessIntentDeadline": "1714200000",
"gaslessIntentNonce": "1"
}
}'
// executeTx has no standalone SDK method - it's called internally
// by tradeGasless() as part of the sign+submit flow
const gaslessResult = await dzap.tradeGasless({ request, signer });
{
"status": "success",
"txnHash": "0xdef456..."
}
Trade API
Execute Gasless Intent
Submit a signed gasless intent for the DZap relay to execute on your behalf.
POST
/
v1
/
gasless
/
executeTx
curl -X POST https://api.dzap.io/v1/gasless/executeTx \
-H "Content-Type: application/json" \
-d '{
"chainId": 42161,
"txId": "0xabc...",
"permit": {
"permitData": [{ "token": "0xaf88...", "amount": "1000000", "permit": "0x..." }],
"gaslessIntentSignature": "0x...",
"gaslessIntentDeadline": "1714200000",
"gaslessIntentNonce": "1"
}
}'
// executeTx has no standalone SDK method - it's called internally
// by tradeGasless() as part of the sign+submit flow
const gaslessResult = await dzap.tradeGasless({ request, signer });
{
"status": "success",
"txnHash": "0xdef456..."
}
There are two ways to finalize a built transaction, depending on the
gasless flag you passed to /v1/buildTx:
- Gasless (
gasless: true) - the user signs the typed-data payload from the build response; you submit that signature to/v1/gasless/executeTxand DZap’s relay executes it. - Standard (
gasless: false) - the user signs the raw transaction from the build response; you submit the signed transaction to/v1/broadcast.
Body
integer
required
Chain ID the intent targets.
string
required
The
txId from the gasless /v1/buildTx response.object
required
Either an EIP-2612 permit payload or a batch-permit payload, depending on what your wallet signed.
Show permit (EIP-2612)
Show permit (EIP-2612)
Show permit (batch)
Show permit (batch)
string
Encoded batch-permit payload.
Response
string
Transaction status (
success, mining, error, etc.).string
On-chain transaction hash.
curl -X POST https://api.dzap.io/v1/gasless/executeTx \
-H "Content-Type: application/json" \
-d '{
"chainId": 42161,
"txId": "0xabc...",
"permit": {
"permitData": [{ "token": "0xaf88...", "amount": "1000000", "permit": "0x..." }],
"gaslessIntentSignature": "0x...",
"gaslessIntentDeadline": "1714200000",
"gaslessIntentNonce": "1"
}
}'
// executeTx has no standalone SDK method - it's called internally
// by tradeGasless() as part of the sign+submit flow
const gaslessResult = await dzap.tradeGasless({ request, signer });
{
"status": "success",
"txnHash": "0xdef456..."
}
Once submitted, poll
/v1/status with the resulting txnHash and chainId to track settlement - especially for cross-chain bridges.Last modified on July 29, 2026