Skip to main content
POST
/
wallets
/
{id}
/
transact
Send a transaction from a wallet
curl --request POST \
  --url https://api.platform.dakota.xyz/wallets/{id}/transact \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --header 'x-idempotency-key: <x-idempotency-key>' \
  --data '
{
  "signatures": [
    "LS0tLS1CRUdJ...0tLS0tCg=="
  ],
  "intent": {
    "wallet_id": "<string>",
    "caip2": "<string>",
    "sponsor": true,
    "operation": {
      "kind": "<string>",
      "from": "<string>",
      "to": "<string>",
      "asset": {
        "id": "USDC",
        "name": "USD Coin",
        "network_id": "ethereum-mainnet",
        "contract_address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
        "token_standard": "erc20",
        "decimals": 6
      },
      "amount": "<string>",
      "method": "<string>",
      "args": [
        "<string>"
      ],
      "data": "<string>"
    },
    "idempotency_key": "<string>"
  }
}
'
{
  "id": "1NFHrqBHb3cTfLVkFSGmHZqdDPi",
  "wallet_id": "1NFHrqBHb3cTfLVkFSGmHZqdDPi",
  "status": "timed_out",
  "network_id": "ethereum-mainnet",
  "from": "<string>",
  "to": "<string>",
  "transaction_hash": "0x165cd37b4c644c2921454429e7f9358d18a45e14",
  "transaction_type": "transfer",
  "amount": "100.56",
  "asset": "USD"
}

Authorizations

x-api-key
string
header
required

Headers

x-idempotency-key
string<uuid>
required

Unique key to ensure request idempotency. If the same key is used within a certain time window, the original response will be returned instead of executing the request again.

Path Parameters

id
string
required

Wallet ID KSUID is a 27-character globally unique ID that combines a timestamp with a random component. Used for all entity identifiers in the Dakota platform.

Required string length: 27
Example:

"1NFHrqBHb3cTfLVkFSGmHZqdDPi"

Body

application/json
signatures
string[]
required

List of signatures over the intent

Cryptographic signature of the endorsement base64 encoded

intent
object
required

The intent being endorsed

Response

Transaction sent successfully

Transaction details representing a transfer of funds from a crypto wallet.

id
string
required

KSUID is a 27-character globally unique ID that combines a timestamp with a random component. Used for all entity identifiers in the Dakota platform.

Required string length: 27
Example:

"1NFHrqBHb3cTfLVkFSGmHZqdDPi"

wallet_id
string
required

KSUID is a 27-character globally unique ID that combines a timestamp with a random component. Used for all entity identifiers in the Dakota platform.

Required string length: 27
Example:

"1NFHrqBHb3cTfLVkFSGmHZqdDPi"

status
enum<string>
required

Current status of a transaction.

Available options:
timed_out,
not_started,
in_progress,
awaiting_confirmation,
pending,
processing,
completed,
invalid,
failed,
canceled,
reversed,
rejected,
broadcasted,
pending_return,
returned
network_id
enum<string>

Identifier for a blockchain network

Available options:
ethereum-mainnet,
ethereum-sepolia,
ethereum-goerli,
ethereum-holesky,
solana-mainnet,
solana-devnet,
solana-testnet,
base-mainnet,
base-sepolia,
arbitrum-mainnet,
arbitrum-sepolia,
optimism-mainnet,
optimism-sepolia,
avalanche-mainnet,
avalanche-fuji,
polygon-mainnet,
polygon-amoy
Required string length: 1 - 30
Example:

"ethereum-mainnet"

from
string

The source address

to
string

The destination address

transaction_hash
string

The transaction hash

Example:

"0x165cd37b4c644c2921454429e7f9358d18a45e14"

transaction_type
enum<string>

Type of transaction

Available options:
transfer,
evm_contract_call
amount
string

The transaction amount

Example:

"100.56"

asset
string

ISO 4217 symbol representing a fiat asset.

Required string length: 3
Example:

"USD"