---
updatedAt: 2026-06-04T09:26:53.000Z
agentTools:
  projectIndex: https://docs.iofinnet.com/llms.txt
---

# Build native transfer transaction hex

Builds a transaction hex for a native transfer on chain.

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "info": {
    "title": "Crypto API v1",
    "version": "1.0.0",
    "description": "# IOFinnet Crypto API\n\nProgrammatic access to multi-chain vault operations: address registration, balance queries,\nand transaction building/submission across EVM, SVM, UTXO, TVM, and XRP ecosystems.\n\n## Authentication\n\nAll endpoints require a Platform-issued bearer token in the `Authorization` header:\n\n    Authorization: Bearer <token>\n\n## Pagination\n\nMost listing endpoints use Relay-style cursor pagination. Use `first` + `after` to paginate\nforward and `last` + `before` to paginate backward. Cursors come from the `pageInfo` block\non the previous response and are opaque — do not construct them manually.\nSome endpoints (e.g. wallet transactions and transaction requests) use `limit` + `cursor`\nand return `hasMore` + `nextCursor` instead — check each endpoint contract.\n\n## Errors\n\nValidation failures (HTTP 400) return a `BadRequestErrorResponse` envelope listing every\nfailed field. All other error statuses (401/403/404/409/500/503) return\n`MessageErrorResponse` with a single human-readable `message`. Status code is the\nauthoritative signal; do not parse the message for logic.\n\n## Versioning\n\nThis document covers the v1 surface. All endpoints are mounted under `/v1/...`."
  },
  "servers": [
    {
      "url": "https://api.iofinnet.com",
      "description": "Production"
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "tags": [
    {
      "name": "transactions/evm",
      "description": "EVM build-transaction and transaction history endpoints (v1)."
    }
  ],
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "Platform access token. Send as `Authorization: Bearer <token>`. Tokens are issued via the IOFinnet platform auth flow."
      }
    },
    "schemas": {
      "BadRequestErrorResponse": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                },
                "path": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "options": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "code": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "message",
                "path"
              ]
            }
          }
        },
        "required": [
          "errors"
        ]
      },
      "MessageErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Human-readable error message. Do not parse for logic — use the HTTP status."
          }
        },
        "required": [
          "message"
        ]
      },
      "EvmChain": {
        "type": "string",
        "enum": [
          "abstract",
          "arbitrum",
          "arbitrum-nova",
          "astar",
          "avalanche-c",
          "base",
          "berachain",
          "blast",
          "bsc",
          "celo",
          "coqnet",
          "cronos",
          "degen",
          "dfk",
          "dfk-testnet",
          "eth",
          "eth-sepolia",
          "fantom",
          "flame",
          "flow-evm",
          "fluent-devnet",
          "fraxtal",
          "fuse",
          "gnosis",
          "ink",
          "lamina1",
          "lightlink",
          "linea",
          "lukso",
          "manta-pacific",
          "mantle",
          "matchain",
          "metal",
          "metis",
          "mint-sepolia",
          "mode",
          "monad-testnet",
          "moonriver",
          "morph",
          "morph-holesky-testnet",
          "optimism",
          "orderly-network",
          "perennial",
          "plume-devnet",
          "polygon",
          "polygon-zkevm",
          "pulsechain",
          "quai",
          "rari",
          "ronin",
          "scroll",
          "shimmer-evm",
          "sonic",
          "sophon-testnet",
          "superposition-testnet",
          "superseed-sepolia",
          "xai",
          "xdc",
          "zksync-era",
          "zora"
        ],
        "description": "EVM-family chain alias. Includes mainnets, testnets, and L2s."
      }
    }
  },
  "paths": {
    "/v1/vaults/{vaultId}/transactions/ecosystem/evm/chain/{chain}/build-native-transaction": {
      "post": {
        "summary": "Build native transfer transaction hex",
        "description": "Builds a transaction hex for a native transfer on chain.",
        "tags": [
          "transactions/evm"
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "vaultId",
            "in": "path"
          },
          {
            "schema": {
              "$ref": "#/components/schemas/EvmChain"
            },
            "required": true,
            "name": "chain",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "string",
                    "description": "Amount to transfer as a numeric string in the chain's human-readable units (e.g. ETH, BTC, SOL, TRX, XRP), or the literal string \"max\" to send the entire available balance net of fees/reserves."
                  },
                  "to": {
                    "type": "string"
                  },
                  "derivationPath": {
                    "type": "string",
                    "nullable": true,
                    "pattern": "^m(\\/\\d+)+$",
                    "description": "Optional HD (BIP44-style) derivation path. Use when the vault has multiple addresses on the same chain and you want to target a specific one. Format is `m/<index>/<index>/...` using only non-hardened (unprimed) indexes.",
                    "example": "m/44/0/0/1"
                  },
                  "gasPrice": {
                    "type": "string",
                    "nullable": true
                  },
                  "gasLimit": {
                    "type": "string",
                    "nullable": true
                  },
                  "data": {
                    "type": "string",
                    "nullable": true
                  },
                  "nonce": {
                    "type": "number",
                    "nullable": true
                  },
                  "type": {
                    "type": "string",
                    "nullable": true,
                    "enum": [
                      "legacy",
                      "eip1559"
                    ]
                  },
                  "maxFeePerGas": {
                    "type": "string",
                    "nullable": true
                  },
                  "maxPriorityFeePerGas": {
                    "type": "string",
                    "nullable": true
                  },
                  "skipFeeValidation": {
                    "type": "boolean",
                    "nullable": true,
                    "description": "When true, skip fee-affordability validation; the transaction is still built and returned. The caller assumes responsibility for fee/balance sufficiency. Cannot be combined with amount \"MAX\" — provide an explicit amount instead."
                  }
                },
                "required": [
                  "amount",
                  "to"
                ],
                "example": {
                  "amount": "1000000000000000",
                  "to": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
                  "type": "eip1559",
                  "maxFeePerGas": "30000000000",
                  "maxPriorityFeePerGas": "2000000000"
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Transaction hex built",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "marshalledHex": {
                      "type": "string"
                    },
                    "details": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "name",
                          "type",
                          "value"
                        ]
                      }
                    }
                  },
                  "required": [
                    "marshalledHex",
                    "details"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation failed. The `errors` array lists every failed field with the JSON `path` and `message`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Authenticated but not authorized to perform this action on the target resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Target resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected server error. Includes downstream chain RPC failures.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service temporarily unavailable. Returned by fallback paths when an upstream dependency is down or a request payload could not be parsed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageErrorResponse"
                }
              }
            }
          }
        }
      }
    }
  }
}
```

# Sibling pages

* [Build token transfer transaction hex](https://docs.iofinnet.com/reference/post_v1-vaults-vaultid-transactions-ecosystem-evm-chain-chain-build-token-transaction-1.md)
* [List transactions](https://docs.iofinnet.com/reference/get_v1-transactions-ecosystem-evm-chain-chain-address-address-1.md)
* [Get transaction](https://docs.iofinnet.com/reference/get_v1-transactions-ecosystem-evm-chain-chain-address-address-transaction-transactionhash-1.md)