Narval | Docs
GithubHome
  • Narval Connect
    • Overview
    • Getting Started
  • Security Overview
  • Providers
    • Providers
      • Anchorage
      • BitGo
      • Coinbase Prime
      • Fireblocks
      • HexTrust
  • Guide
    • ConnectClient
    • Connect Widget
      • initiateConnect
      • completeConnect
    • Using a Connection
      • listWallets
      • getWalletById
      • listAccounts
      • getAccountById
      • listAddresses
      • getAddressById
      • listKnownDestinations
      • sendTransfer
      • getTransfer
      • EVM Transactions
        • sendTransaction
        • getTransactionById
        • signMessage
        • getSignMessageById
        • signTypedData
        • getTypedDataById
      • Staking
        • Ethereum (ETH)
        • Polygon (POL)
        • Solana (SOL)
        • Sui (SUI)
      • Raw Signing
        • signRaw
        • getRawSignRequest
    • Manage Connections
      • listConnections
      • getConnection
      • revokeConnection
  • API Reference
    • REST API
      • Authorization
      • Connect Widget
      • Networks & Assets
      • Wallets, Accounts, Addresses
      • Known Destinations
      • Transfer
      • Stake
        • Ethereum
        • Polygon
        • Solana
        • Sui
      • Transactions
        • Ethereum (EVM)
      • Raw Signing
      • Transit Encryption Key
      • Manage Connections
Powered by GitBook
On this page
  1. API Reference
  2. REST API
  3. Transactions

Ethereum (EVM)

PreviousTransactionsNextRaw Signing

Last updated 1 month ago

Get sign request by ID

get

Returns a specific signature request by ID.

Authorizations
Path parameters
idstringRequired
Header parameters
x-client-idstringRequired
x-connection-idstringRequired

The provider connection through which the resource is accessed

AuthorizationstringOptional
Responses
200
The signature request details were successfully retrieved.
application/json
400
Invalid request parameters
application/json
401
Authentication is required
application/json
403
Insufficient permissions
application/json
404
Resource not found
application/json
409
Resource conflict
application/json
422
Unable to process the contained instructions
application/json
500
Internal server error
application/json
502
Bad gateway
application/json
get
GET /v1/provider/evm/sign-message/{id} HTTP/1.1
Host: auth.armory.playnarval.com
detached-jws: YOUR_API_KEY
x-client-id: text
x-connection-id: text
Accept: */*
{
  "data": {
    "requestId": "text",
    "externalId": "text",
    "status": "text",
    "externalStatus": "text",
    "idempotenceId": "text",
    "signMessageRequest": {
      "data": "text",
      "source": {
        "type": "account",
        "id": "text"
      },
      "idempotenceId": "text",
      "requestId": "text"
    },
    "signature": {
      "r": null,
      "s": null,
      "v": 1
    }
  }
}

Get sign typed data by ID

get

Returns a specific signature request for typed data by ID.

Authorizations
Path parameters
idstringRequired
Header parameters
x-client-idstringRequired
x-connection-idstringRequired

The provider connection through which the resource is accessed

AuthorizationstringOptional
Responses
200
The sign typed data details were successfully retrieved.
application/json
400
Invalid request parameters
application/json
401
Authentication is required
application/json
403
Insufficient permissions
application/json
404
Resource not found
application/json
409
Resource conflict
application/json
422
Unable to process the contained instructions
application/json
500
Internal server error
application/json
502
Bad gateway
application/json
get
GET /v1/provider/evm/sign-typed-data/{id} HTTP/1.1
Host: auth.armory.playnarval.com
detached-jws: YOUR_API_KEY
x-client-id: text
x-connection-id: text
Accept: */*
{
  "data": {
    "requestId": "text",
    "externalId": "text",
    "idempotenceId": "text",
    "status": "text",
    "externalStatus": "text",
    "signTypedDataRequest": {
      "data": {
        "domain": {
          "name": "text",
          "version": "text",
          "chainId": 1,
          "verifyingContract": null,
          "salt": null
        },
        "types": {
          "ANY_ADDITIONAL_PROPERTY": [
            {
              "name": "text",
              "type": "text"
            }
          ]
        },
        "primaryType": "text",
        "message": {
          "ANY_ADDITIONAL_PROPERTY": "anything"
        }
      },
      "source": {
        "type": "account",
        "id": "text"
      },
      "idempotenceId": "text",
      "requestId": "text"
    },
    "signature": {
      "r": null,
      "s": null,
      "v": 1
    }
  }
}
  • POSTCreate send transaction request
  • GETGet send transaction by ID
  • POSTCreate sign request
  • GETGet sign request by ID
  • POSTCreate sign typed data request
  • GETGet sign typed data by ID

Get send transaction by ID

get

Returns a specific send transaction by ID.

Authorizations
Path parameters
idstringRequired
Header parameters
x-client-idstringRequired
x-connection-idstringRequired

The provider connection through which the resource is accessed

AuthorizationstringOptional
Responses
200
The send transaction details were successfully retrieved.
application/json
400
Invalid request parameters
application/json
401
Authentication is required
application/json
403
Insufficient permissions
application/json
404
Resource not found
application/json
409
Resource conflict
application/json
422
Unable to process the contained instructions
application/json
500
Internal server error
application/json
502
Bad gateway
application/json
get
GET /v1/provider/evm/send-transaction/{id} HTTP/1.1
Host: auth.armory.playnarval.com
detached-jws: YOUR_API_KEY
x-client-id: text
x-connection-id: text
Accept: */*
{
  "data": {
    "requestId": "text",
    "status": "text",
    "externalStatus": "text",
    "externalId": "text",
    "txHash": "text",
    "idempotenceId": "text"
  }
}

Create send transaction request

post

Creates a new send transaction request and sends it to the provider.

Authorizations
Header parameters
x-client-idstringRequired
x-connection-idstringRequired

The provider connection through which the resource is accessed

AuthorizationstringOptional
Body
transactionIdstringOptional
sourceone ofRequired
or
idempotenceIdstringRequired
Responses
201
The send transaction request was successfully created.
application/json
400
Invalid request parameters
application/json
401
Authentication is required
application/json
403
Insufficient permissions
application/json
404
Resource not found
application/json
409
Resource conflict
application/json
422
Unable to process the contained instructions
application/json
500
Internal server error
application/json
502
Bad gateway
application/json
post
POST /v1/provider/evm/send-transaction HTTP/1.1
Host: auth.armory.playnarval.com
detached-jws: YOUR_API_KEY
x-client-id: text
x-connection-id: text
Content-Type: application/json
Accept: */*
Content-Length: 308

{
  "transactionRequest": {
    "to": "text",
    "value": "text",
    "data": null,
    "gasLimit": null,
    "gasPrice": null,
    "maxFeePerGas": null,
    "maxPriorityFeePerGas": null,
    "nonce": 1,
    "type": "0"
  },
  "transactionId": "text",
  "source": {
    "type": "account",
    "id": "text"
  },
  "idempotenceId": "text",
  "providerSpecific": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  }
}
{
  "data": {
    "requestId": "text",
    "status": "text",
    "externalStatus": "text",
    "externalId": "text",
    "txHash": "text",
    "idempotenceId": "text"
  }
}

Create sign request

post

Creates a new personal message request and sends it to the provider.

Authorizations
Header parameters
x-client-idstringRequired
x-connection-idstringRequired

The provider connection through which the resource is accessed

AuthorizationstringOptional
Body
dataone ofRequired
stringOptional
or
sourceone ofRequired
or
idempotenceIdstringRequired
requestIdstringOptional
Responses
201
The signature request was successfully created.
application/json
400
Invalid request parameters
application/json
401
Authentication is required
application/json
403
Insufficient permissions
application/json
404
Resource not found
application/json
409
Resource conflict
application/json
422
Unable to process the contained instructions
application/json
500
Internal server error
application/json
502
Bad gateway
application/json
post
POST /v1/provider/evm/sign-message HTTP/1.1
Host: auth.armory.playnarval.com
detached-jws: YOUR_API_KEY
x-client-id: text
x-connection-id: text
Content-Type: application/json
Accept: */*
Content-Length: 97

{
  "data": "text",
  "source": {
    "type": "account",
    "id": "text"
  },
  "idempotenceId": "text",
  "requestId": "text"
}
{
  "data": {
    "requestId": "text",
    "externalId": "text",
    "status": "text",
    "externalStatus": "text",
    "idempotenceId": "text",
    "signMessageRequest": {
      "data": "text",
      "source": {
        "type": "account",
        "id": "text"
      },
      "idempotenceId": "text",
      "requestId": "text"
    },
    "signature": {
      "r": null,
      "s": null,
      "v": 1
    }
  }
}

Create sign typed data request

post

Creates a new signature request for typed data and sends it to the provider.

Authorizations
Header parameters
x-client-idstringRequired
x-connection-idstringRequired

The provider connection through which the resource is accessed

AuthorizationstringOptional
Body
sourceone ofRequired
or
idempotenceIdstringRequired
requestIdstringOptional
Responses
201
The sign typed data request was successfully created.
application/json
400
Invalid request parameters
application/json
401
Authentication is required
application/json
403
Insufficient permissions
application/json
404
Resource not found
application/json
409
Resource conflict
application/json
422
Unable to process the contained instructions
application/json
500
Internal server error
application/json
502
Bad gateway
application/json
post
POST /v1/provider/evm/sign-typed-data HTTP/1.1
Host: auth.armory.playnarval.com
detached-jws: YOUR_API_KEY
x-client-id: text
x-connection-id: text
Content-Type: application/json
Accept: */*
Content-Length: 321

{
  "data": {
    "domain": {
      "name": "text",
      "version": "text",
      "chainId": 1,
      "verifyingContract": null,
      "salt": null
    },
    "types": {
      "ANY_ADDITIONAL_PROPERTY": [
        {
          "name": "text",
          "type": "text"
        }
      ]
    },
    "primaryType": "text",
    "message": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  },
  "source": {
    "type": "account",
    "id": "text"
  },
  "idempotenceId": "text",
  "requestId": "text"
}
{
  "data": {
    "requestId": "text",
    "externalId": "text",
    "idempotenceId": "text",
    "status": "text",
    "externalStatus": "text",
    "signTypedDataRequest": {
      "data": {
        "domain": {
          "name": "text",
          "version": "text",
          "chainId": 1,
          "verifyingContract": null,
          "salt": null
        },
        "types": {
          "ANY_ADDITIONAL_PROPERTY": [
            {
              "name": "text",
              "type": "text"
            }
          ]
        },
        "primaryType": "text",
        "message": {
          "ANY_ADDITIONAL_PROPERTY": "anything"
        }
      },
      "source": {
        "type": "account",
        "id": "text"
      },
      "idempotenceId": "text",
      "requestId": "text"
    },
    "signature": {
      "r": null,
      "s": null,
      "v": 1
    }
  }
}