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

# Make a Transaction

> Send your first transaction on Base with viem: connect, sign, and confirm in seconds for a fraction of a cent.

Base uses the same transaction model as Ethereum, so any EVM library works. Here's a minimal send using [viem](https://viem.sh).

## Send a Transaction

```ts send.ts theme={null}
import { createWalletClient, http, parseEther } from 'viem';
import { privateKeyToAccount } from 'viem/accounts';
import { base } from 'viem/chains';

const account = privateKeyToAccount('0xYourPrivateKey');

const client = createWalletClient({
  account,
  chain: base,
  transport: http('https://mainnet.base.org'),
});

const hash = await client.sendTransaction({
  to: '0xRecipientAddress',
  value: parseEther('0.001'),
});

console.log(`Sent, view at https://basescan.org/tx/${hash}`);
```

<Warning>
  Never hardcode or expose a private key. `'0xYourPrivateKey'` is a placeholder. Load the key from an environment variable or a secrets manager, keep it server-side, and never commit it to source control.
</Warning>

<Tip>
  Transactions confirm in under a second on Base thanks to [Flashblocks](/base-chain/network-information/transaction-ordering#flashblocks), and typically cost a fraction of a cent in gas.
</Tip>

## Next Steps

<CardGroup cols={2}>
  <Card title="Issue a Stablecoin" icon="coins" href="/get-started/issue-stablecoins">
    Launch a fiat-backed token in one call.
  </Card>

  <Card title="Facilitate Payments" icon="credit-card" href="/get-started/accept-payments">
    Accept USDC with one-tap checkout.
  </Card>
</CardGroup>
