Wallet Infrastructure
Wallet Infrastructure
Transactions

Submit transaction

POST
/v1/transactions

Requires scope transactions:create.

Authorization

ApiKey
headerAuthorizationBearer <sk_test_ or sk_live_ key>

Your sk_live_ / sk_test_ API key

Header Parameters

x-customer-id?string

Identifies whose wallet to send from.

Request Body

application/json
  1. body
moduleId*string
Value in"evm_erc4337""bitcoin""spark""solana""tron""ton"
treasury?boolean
txParams*
passkeyData?

Response Body

200application/json

Transaction submitted

TypeScript Definitions

Use the response body type in TypeScript.

data*
status*number
success*boolean
401application/json

The Authorization header is missing, malformed, or the API key is unknown or revoked

TypeScript Definitions

Use the response body type in TypeScript.

data*
status*number
success*boolean
429application/json

The API key exceeded its request budget for the window

TypeScript Definitions

Use the response body type in TypeScript.

data*
status*number
success*boolean

Language

curl -X POST 'https://api.pilot.shiga.io/v1/transactions' \  -H 'x-customer-id: <customer id>' \  -H 'Authorization: Bearer sk_test_...' \  -H 'Content-Type: application/json' \  -d '{  "moduleId": "evm_erc4337",  "txParams": {    "chain": "string",    "amount": "string",    "selectedPayment": "string",    "networkConfig": {      "property1": null,      "property2": null    }  }}'
Example Response
{  "data": {    "chain": "string",    "moduleId": "string",    "safeAddress": "string",    "userOpHash": "string",    "transactionHash": "string",    "signedUserOpHash": "string",    "pendingUserOp": true,    "newCounter": 0,    "sponsored": true,    "tonTransferContext": {},    "legs": [      {        "contract": "string",        "symbol": "USDT",        "amount": "string"      }    ],    "swap": {      "fromContract": "string",      "fromSymbol": "USD₮0",      "toContract": "string",      "amountIn": "string",      "expectedOut": "string",      "minOut": "string",      "fee": "string"    }  },  "status": 200,  "success": true}