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

Transfer

PreviousKnown DestinationsNextStake

Last updated 1 month ago

  • GETGet transfer by ID
  • POSTCreate transfer

Get transfer by ID

get

Returns a specific transfer by ID.

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

The provider connection through which the resource is accessed

AuthorizationstringOptional
Responses
200
The transfer 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/transfers/{transferId} HTTP/1.1
Host: auth.armory.playnarval.com
detached-jws: YOUR_API_KEY
x-client-id: text
x-connection-id: text
Accept: */*
{
  "data": {
    "transferRequestId": "text",
    "transferId": "text",
    "clientId": "text",
    "status": "created",
    "createdAt": null,
    "provider": "anchorage",
    "connectionId": "text",
    "source": {
      "wallet": {
        "clientId": "text",
        "connectionId": "text",
        "createdAt": null,
        "externalId": "text",
        "label": "text",
        "provider": "anchorage",
        "updatedAt": null,
        "walletId": "text"
      },
      "account": {
        "accountId": "text",
        "addresses": [
          {
            "accountId": "text",
            "address": "text",
            "addressId": "text",
            "clientId": "text",
            "connectionId": "text",
            "createdAt": null,
            "externalId": "text",
            "provider": "anchorage",
            "updatedAt": null
          }
        ],
        "clientId": "text",
        "connectionId": "text",
        "createdAt": null,
        "externalId": "text",
        "label": "text",
        "networkId": "text",
        "provider": "anchorage",
        "updatedAt": null,
        "walletId": "text"
      },
      "address": {
        "accountId": "text",
        "address": "text",
        "addressId": "text",
        "clientId": "text",
        "connectionId": "text",
        "createdAt": null,
        "externalId": "text",
        "provider": "anchorage",
        "updatedAt": null
      }
    },
    "asset": {
      "asset": {
        "assetId": "text",
        "createdAt": null,
        "decimals": 1,
        "externalAssets": [
          {
            "externalId": "text",
            "provider": "anchorage"
          }
        ],
        "name": "text",
        "networkId": "text",
        "onchainId": "text",
        "symbol": "text"
      },
      "network": {
        "networkId": "text",
        "coinType": 1,
        "evmChainId": 1,
        "name": "text",
        "externalNetworks": [
          {
            "externalId": "text",
            "provider": "anchorage",
            "supportsStake": false,
            "supportsEvm": false,
            "supportsTransfer": false,
            "customStakingValidator": false
          }
        ],
        "createdAt": null
      },
      "externalAsset": {
        "externalId": "text",
        "provider": "anchorage"
      },
      "externalNetwork": {
        "externalId": "text",
        "provider": "anchorage",
        "supportsStake": false,
        "supportsEvm": false,
        "supportsTransfer": false,
        "customStakingValidator": false
      },
      "externalAssetId": "text"
    },
    "destination": {
      "account": {
        "accountId": "text",
        "addresses": [
          {
            "accountId": "text",
            "address": "text",
            "addressId": "text",
            "clientId": "text",
            "connectionId": "text",
            "createdAt": null,
            "externalId": "text",
            "provider": "anchorage",
            "updatedAt": null
          }
        ],
        "clientId": "text",
        "connectionId": "text",
        "createdAt": null,
        "externalId": "text",
        "label": "text",
        "networkId": "text",
        "provider": "anchorage",
        "updatedAt": null,
        "walletId": "text"
      },
      "address": {
        "accountId": "text",
        "address": "text",
        "addressId": "text",
        "clientId": "text",
        "connectionId": "text",
        "createdAt": null,
        "externalId": "text",
        "provider": "anchorage",
        "updatedAt": null
      },
      "wallet": {
        "clientId": "text",
        "connectionId": "text",
        "createdAt": null,
        "externalId": "text",
        "label": "text",
        "provider": "anchorage",
        "updatedAt": null,
        "walletId": "text"
      }
    },
    "grossAmount": "text",
    "customerRefId": "text",
    "idempotenceId": "text",
    "providerSpecific": null,
    "memo": "text",
    "networkFeeAttribution": "on_top",
    "createTransferRequest": {
      "transferRequestId": "text",
      "transferId": "text",
      "source": {
        "type": "account",
        "id": "text"
      },
      "destination": {
        "type": "account",
        "id": "text"
      },
      "amount": "text",
      "asset": {
        "assetId": "text",
        "externalAssetId": "text",
        "address": "text",
        "networkId": "text"
      },
      "networkFeeAttribution": "on_top",
      "customerRefId": "text",
      "idempotenceId": "text",
      "memo": "text",
      "provider": "anchorage",
      "providerSpecific": null
    },
    "externalId": "text",
    "externalStatus": "text",
    "transferStatus": "text",
    "fees": [
      {
        "type": "text",
        "attribution": "text",
        "amount": "text",
        "assetId": "text"
      }
    ]
  }
}

Create transfer

post

Creates a new transfer 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
transferRequestIdstringOptional

Sets the transfer ID to an arbitrary value

transferIdstringOptional

Sets the transfer ID to an arbitrary value

sourceone ofRequired
or
destinationone ofRequired
or
amountstringRequired
networkFeeAttributionstring · enumOptional

Controls how network fees are charged. Example: a request to transfer 1 ETH with networkFeeAttribution=ON_TOP would result in exactly 1 ETH received to the destination and just over 1 ETH spent by the source. Note: This property is optional and its default always depend on the underlying provider.

Possible values:
customerRefIdstringOptional
idempotenceIdstringRequired
memostringOptional
providerstring · enumOptionalPossible values:
providerSpecificanyOptional
Responses
201
The transfer was successfully sent.
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/transfers 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: 377

{
  "transferRequestId": "text",
  "transferId": "text",
  "source": {
    "type": "account",
    "id": "text"
  },
  "destination": {
    "type": "account",
    "id": "text"
  },
  "amount": "text",
  "asset": {
    "assetId": "text",
    "externalAssetId": "text",
    "address": "text",
    "networkId": "text"
  },
  "networkFeeAttribution": "on_top",
  "customerRefId": "text",
  "idempotenceId": "text",
  "memo": "text",
  "provider": "anchorage",
  "providerSpecific": null
}
{
  "data": {
    "transferRequestId": "text",
    "transferId": "text",
    "clientId": "text",
    "status": "created",
    "createdAt": null,
    "provider": "anchorage",
    "connectionId": "text",
    "source": {
      "wallet": {
        "clientId": "text",
        "connectionId": "text",
        "createdAt": null,
        "externalId": "text",
        "label": "text",
        "provider": "anchorage",
        "updatedAt": null,
        "walletId": "text"
      },
      "account": {
        "accountId": "text",
        "addresses": [
          {
            "accountId": "text",
            "address": "text",
            "addressId": "text",
            "clientId": "text",
            "connectionId": "text",
            "createdAt": null,
            "externalId": "text",
            "provider": "anchorage",
            "updatedAt": null
          }
        ],
        "clientId": "text",
        "connectionId": "text",
        "createdAt": null,
        "externalId": "text",
        "label": "text",
        "networkId": "text",
        "provider": "anchorage",
        "updatedAt": null,
        "walletId": "text"
      },
      "address": {
        "accountId": "text",
        "address": "text",
        "addressId": "text",
        "clientId": "text",
        "connectionId": "text",
        "createdAt": null,
        "externalId": "text",
        "provider": "anchorage",
        "updatedAt": null
      }
    },
    "asset": {
      "asset": {
        "assetId": "text",
        "createdAt": null,
        "decimals": 1,
        "externalAssets": [
          {
            "externalId": "text",
            "provider": "anchorage"
          }
        ],
        "name": "text",
        "networkId": "text",
        "onchainId": "text",
        "symbol": "text"
      },
      "network": {
        "networkId": "text",
        "coinType": 1,
        "evmChainId": 1,
        "name": "text",
        "externalNetworks": [
          {
            "externalId": "text",
            "provider": "anchorage",
            "supportsStake": false,
            "supportsEvm": false,
            "supportsTransfer": false,
            "customStakingValidator": false
          }
        ],
        "createdAt": null
      },
      "externalAsset": {
        "externalId": "text",
        "provider": "anchorage"
      },
      "externalNetwork": {
        "externalId": "text",
        "provider": "anchorage",
        "supportsStake": false,
        "supportsEvm": false,
        "supportsTransfer": false,
        "customStakingValidator": false
      },
      "externalAssetId": "text"
    },
    "destination": {
      "account": {
        "accountId": "text",
        "addresses": [
          {
            "accountId": "text",
            "address": "text",
            "addressId": "text",
            "clientId": "text",
            "connectionId": "text",
            "createdAt": null,
            "externalId": "text",
            "provider": "anchorage",
            "updatedAt": null
          }
        ],
        "clientId": "text",
        "connectionId": "text",
        "createdAt": null,
        "externalId": "text",
        "label": "text",
        "networkId": "text",
        "provider": "anchorage",
        "updatedAt": null,
        "walletId": "text"
      },
      "address": {
        "accountId": "text",
        "address": "text",
        "addressId": "text",
        "clientId": "text",
        "connectionId": "text",
        "createdAt": null,
        "externalId": "text",
        "provider": "anchorage",
        "updatedAt": null
      },
      "wallet": {
        "clientId": "text",
        "connectionId": "text",
        "createdAt": null,
        "externalId": "text",
        "label": "text",
        "provider": "anchorage",
        "updatedAt": null,
        "walletId": "text"
      }
    },
    "grossAmount": "text",
    "customerRefId": "text",
    "idempotenceId": "text",
    "providerSpecific": null,
    "memo": "text",
    "networkFeeAttribution": "on_top",
    "createTransferRequest": {
      "transferRequestId": "text",
      "transferId": "text",
      "source": {
        "type": "account",
        "id": "text"
      },
      "destination": {
        "type": "account",
        "id": "text"
      },
      "amount": "text",
      "asset": {
        "assetId": "text",
        "externalAssetId": "text",
        "address": "text",
        "networkId": "text"
      },
      "networkFeeAttribution": "on_top",
      "customerRefId": "text",
      "idempotenceId": "text",
      "memo": "text",
      "provider": "anchorage",
      "providerSpecific": null
    },
    "externalId": "text",
    "externalStatus": "text",
    "transferStatus": "text",
    "fees": [
      {
        "type": "text",
        "attribution": "text",
        "amount": "text",
        "assetId": "text"
      }
    ]
  }
}