Skip to main content
POST
Seller Financing is in beta and runs on Ethereum Sepolia instances only for now (DEVELOPMENT instances on Ethereum). A PRODUCTION instance, or one on another network, answers 503 SELLER_FINANCING_UNAVAILABLE. See Seller Financing.
Reads where the market’s adapter stands on the asset token and builds the one transaction that sets it up. A market takes no listing until the token accepts its adapter. See Token-side setup.
  • Freeze mode. The step is addAgent(adapter) on the asset token. Only the token’s owner can grant the agent role, and requiredSigner names that owner.
  • Custody mode. The step admits the custody adapter as a holder of the token. On an ERC-3643 identity register it is registerIdentity under the adapter’s ONCHAINID, signed by an agent of the register. On a Trusset ID Register it verifies the adapter, signed by a KYC provider of the register. On a token with a contract allow-list it allow-lists the adapter, signed by the token’s compliance admin.
The signer is on the token issuer’s side and is often not your instance. Pass from to check whether a wallet can sign the step. In freeze mode and on an allow-list, a wallet that cannot sign still gets the transaction, to send to the party that can. A register registration is different. It is test-run from from, or from your instance’s primary verified wallet when you omit from, before any transaction is built. When the register refuses that wallet, the answer is blocked with IDENTITY_REGISTRY_WRITE_REJECTED and carries no transaction. The calldata therefore comes back only when the wallet checked is an agent of the register (on a Trusset ID Register, a KYC provider). Otherwise the register’s agent, usually the token issuer’s KYC operator, builds it from its own wallet. Unlike every other write, from is optional here, so you can build the step before you know who will sign it.

Path Parameters

string
required
The market’s record ID, as id on List Markets.

Body Parameters

string
The wallet that would sign. With it, the step is simulated from that wallet and the answer says whether it can sign. Without it, a freeze or allow-list step comes back unchecked with canSign: null. A register registration is checked from your instance’s primary verified wallet instead, as above.
string
Custody mode on an ERC-3643 identity register only. The ONCHAINID the token issuer’s KYC operator issued for the custody adapter. It must be a deployed contract carrying a valid claim for every topic the register requires, from a trusted issuer of the token. Without it, the answer is blocked with ONCHAINID_REQUIRED, naming the register and the claim topics to ask for.

Response Fields

The answer takes one of five shapes. Branch on done and canSign.
object

Setup status

tokenSetup is the same block List Markets and Get Market return: { ready, mode, requirement, authorizedVia, identityRegistry, reason }. ready is true once the token accepts the adapter, false while it does not, and null when that could not be read.
A none_required token with authorizedVia: "unrestricted_token" exposes no rule this platform can read. If it restricts transfers through a surface the platform cannot see, its issuer must still admit the adapter, or the first custody listing reverts at the transfer into the adapter.

Blocked codes

A blocked answer is a 200 with blocked.code. Nothing can be signed until its cause is resolved, usually by the token issuer.

Error Codes