Skip to main content
Creates an address for your walletRef, or gives you the existing one if you’ve already created it. You never end up with two addresses for the same user.
Call this from your server only, never from a browser or app, so your API key stays secret.

Endpoint

Body

string
required
Your own ID for this user or wallet: 1 to 128 characters, using letters, numbers, and _ : . -. Your own user ID works well. Each one can only belong to one wallet on your account.
string
default:"BASE"
BASE, ARB, AVAX, ETH, OP, MATIC, or ARC. It has to be a network your plan includes. See pricing. This never creates a second address. Your user’s address already works on every network your plan includes, so passing another network here just checks it’s allowed and gives you back the same address. ARC is USDC only, see Arc.
object
Any JSON object. We save it with the wallet and give it back when you fetch the wallet later.

Example

Response (201)

string
required
Our ID for this wallet. Use it with get wallet.
string
required
Your account’s ID. It’s the same on every wallet you create.
string
required
The master wallet (your business’s main wallet) this address sits under.
string
required
The ID you sent.
string
required
The crypto address, in lowercase.
string
required
The network this address was first created on. Always BASE.
array
required
Every network this address works on: BASE first, then each other network your plan includes. On a paid plan, that’s every network listed under pricing. On the Free plan, it’s just ["BASE"].
string
required
active or frozen.
string
required
Always live. The Wallet API doesn’t have a test mode yet.
object
Whatever you sent when creating it, or null.

Errors