---
title: "Allow a wallet address for an offer"
method: POST
path: "/v1/offers/{offer_id}/allow-wallet"
tags: ["Offers"]
---

# Allow a wallet address for an offer

`POST /v1/offers/{offer_id}/allow-wallet`

## Path parameters

- `offer_id` string, required

## Request body

- AllowWalletRequest — Parameters consumed by VerifyOwnershipPlug to verify wallet ownership.
  - `chain` 'ethereum_sepolia' | 'base_sepolia' | 'solana_devnet' | 'ethereum_mainnet' | 'base_mainnet' | 'solana_mainnet', required — The blockchain network the wallet belongs to.
  - `signature` string, required — The cryptographic signature of the challenge message.
  - `wallet_address` string, required — The wallet address to verify. For EVM chains, must be a valid Ethereum address (normalized to lowercase).

## Response `200`

Successful response.

- union
  - object
    - `action` 'broadcast_transaction', required
    - `data` string, required — The encoded transaction to broadcast on-chain to complete wallet allowlisting.
    - `to` string, required — The contract address to submit the transaction to.
  - object
    - `action` 'none', required
    - `already_allowed` boolean, required — True when the wallet is already allowed and no transaction is needed.

## Other responses

- `default` — Error response.

---

[API](https://skmtc.dev/coinlist/apis/frontline-api.md) · [All operations](https://skmtc.dev/coinlist/apis/frontline-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/coinlist/frontline-api/revisions/fa411ea1bdfb/schema)
