Skip to content

Submit a signed transaction

POST /api/submit-signed-tx

Relay a transaction you have already signed. The service funds the sending address with enough native token to cover minBalanceRequired, then broadcasts the raw signed transaction. A funding service fee of 8% applies on top of the funded amount; use POST /api/quote to obtain a minBalanceRequired that already includes the fee. Returns 201 with a transaction id to track via GET /api/tx.

Authentication

Send your API key in the api-key header.

Parameters

Name In Type Required Description
X-Edith-Region header string no Pin the relaying region explicitly. Takes precedence over the request body's region field. When neither is set (or the named region is inactive), the region is derived from the caller's country - via a trusted CDN country header or GeoIP - and falls back to the deployment's default region. Region names that are not active on this deployment are ignored.

Request body (application/json)

{
  "signedTx": "0x02f8720a8203118459682f008459682f10825208943dbe34f2c21b3b2980d4dc53f3c7e51e39663f49880de0b6b3a764000080c001a0b7c1e0f2a4b6d8e9f1a3c5d7e9b0d2f4a6c8e0b2d4f6a8c0e2b4d6f8a0c2e4a09f3a5b7c9e0f2a4b6d8e0f2a4b6c8d0e2f4a6b8c0d2e4f6a8b0c2d4e6f8a0b2",
  "minBalanceRequired": "1080000000000000",
  "fromAddress": "0xd6CEDDe84be40893d153Be9d467CD6aD37875a28",
  "chainId": 8453,
  "label": "prefunded-transfer"
}

Responses

Status Description
201 Signed transaction accepted; funding and broadcast are queued.
400 Invalid request. Plausible codes: VALIDATION_004 (missing signedTx/fromAddress, or minBalanceRequired is not a base-10 integer string), CHAIN_001 (unsupported chain).
401 Authentication failed. Plausible codes: AUTH_002 (invalid API key).
429 Rate limit exceeded for this API key. Plausible codes: RESOURCE_003.
500 Server error. Plausible codes: SYSTEM_001, SYSTEM_002.
201 response
{
  "success": true,
  "data": {
    "txId": "68fa3450539a3c9d28bbca34"
  },
  "timestamp": "2026-07-29T12:34:56.789Z"
}
400 response
{
  "success": false,
  "error": {
    "code": "VALIDATION_004",
    "message": "minBalanceRequired must be a base-10 integer string",
    "category": "VALIDATION",
    "traceId": "6f2c1e0a-8b4d-4c1e-9f3a-2d5b7c8e9a01"
  },
  "timestamp": "2026-07-29T12:34:56.789Z"
}
401 response
{
  "success": false,
  "error": {
    "code": "AUTH_002",
    "message": "Invalid API key provided",
    "category": "AUTH",
    "traceId": "6f2c1e0a-8b4d-4c1e-9f3a-2d5b7c8e9a01"
  },
  "timestamp": "2026-07-29T12:34:56.789Z"
}
429 response
{
  "success": false,
  "error": {
    "code": "RESOURCE_003",
    "message": "Resource limit exceeded",
    "category": "RESOURCE",
    "traceId": "6f2c1e0a-8b4d-4c1e-9f3a-2d5b7c8e9a01"
  },
  "timestamp": "2026-07-29T12:34:56.789Z"
}
500 response
{
  "success": false,
  "error": {
    "code": "SYSTEM_001",
    "message": "Database operation failed",
    "category": "SYSTEM",
    "traceId": "6f2c1e0a-8b4d-4c1e-9f3a-2d5b7c8e9a01"
  },
  "timestamp": "2026-07-29T12:34:56.789Z"
}