> ## Documentation Index
> Fetch the complete documentation index at: https://build.onswig.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Send a Transfer

> Spend from the wallet vault using a delegate's allowance.

Use the role from [Add a Spending Role](/evm/add-role) to send native currency.
The vault supplies the transfer amount, and the delegate's EOA pays transaction
gas. This direct SignV2 path needs no bundler or paymaster.
The amount comes from the vault, not the transaction's value field.

## Select the delegate

Replace `SIGNER_PRIVATE_KEY` with the delegate's key. Keep `RPC_URL`, the wallet's
config `ACCOUNT_ADDRESS`, and the delegate's `ROLE_ID` selected.

Before sending:

* Set `RECIPIENT` to an EOA with no deployed code. The example sends no calldata.
* Set `VALUE_WEI` to a positive amount within the remaining role allowance.
* Ensure `vaultAddress` holds at least `VALUE_WEI`.
* Fund the delegate EOA separately so it can pay gas.

For the 100-wei allowance from the previous guide, `VALUE_WEI=7` leaves 93 wei
after a successful transfer.

## Send the transfer

<CodeGroup>
  ```bash TypeScript theme={null}
  bun run examples/send-transfer.ts
  ```

  ```bash Rust theme={null}
  cargo run --locked -p swig-evm --example send_transfer
  ```

  ```bash Python theme={null}
  uv run --locked python examples/send_transfer.py
  ```
</CodeGroup>

The example calls SignV2 with the selected role and empty authorization bytes.
That selects the direct EOA-authority path: the transaction sender must be the
role's authorized key.

Each example waits for a successful receipt and prints `transactionHash`.
If an included transaction reverts, its asset movement and allowance changes
revert too, but the delegate still pays gas.

For a paymaster-funded gas flow, continue to
[Send a Sponsored Transfer](/evm/send-sponsored-transfer).

Full examples: [TypeScript](https://github.com/anagrambuild/swig-protocol-sdk/blob/5eec58c3eca4b79c483d245df2f2885313fd03dc/evm/typescript/examples/send-transfer.ts),
[Rust](https://github.com/anagrambuild/swig-protocol-sdk/blob/5eec58c3eca4b79c483d245df2f2885313fd03dc/evm/rust/examples/send_transfer.rs),
[Python](https://github.com/anagrambuild/swig-protocol-sdk/blob/5eec58c3eca4b79c483d245df2f2885313fd03dc/evm/python/examples/send_transfer.py).
