Skip to main content
POST
Add an address exception for a screening vendor

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

environmentId
string
required

ID of the environment

Required string length: 36
Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Example:

"95b11417-f18f-457f-8804-68e361f9164f"

providerType
enum<string>
required

Screening provider the policy belongs to Screening provider a policy belongs to. Deliberately not ProviderEnum, which is a 44-value auth/social/onramp list of which only these two are screening providers. The Dynamic sanctions provider is absent because the sanctions floor is generated from code and is not configurable.

Available options:
trmWalletScreening,
chainalysisAddressScreening

Body

application/json

Adds one address exception to the (environment, provider) list. Omit chain to apply it to every chain, and appliesToScope to apply it to both the sign-in policy and the transaction policy.

address
string
required

The address to except, in its native casing.

Required string length: 1 - 256
disposition
enum<string>
required

Whether the entry exempts the address from the customer's own rules, or blocks it. Both evaluate below the sanctions floor, so ALLOW can never unblock a sanctioned address.

Available options:
ALLOW,
DENY
chain
enum<string>
Available options:
ETH,
EVM,
FLOW,
SOL,
ALGO,
STARK,
COSMOS,
BTC,
ECLIPSE,
SUI,
SPARK,
TRON,
APTOS,
TON,
STELLAR,
ALEO,
TEMPO,
MIDNIGHT
appliesToScope
enum<string>

Which scopes an address entry applies to. Separate from ScreeningPolicyScopeEnum because ALL is meaningful here and meaningless on a policy row. ALL is the default and the overwhelmingly common intent — a blocked actor is normally blocked everywhere — and narrowing is available for the customer who wants it.

Available options:
ALL,
SIGN_IN,
TRANSACTION
note
string

Human-readable label to identify this entry in the dashboard.

Maximum string length: 255

Response

The created address entry

A customer address exception, belonging to the (environment, provider) pair rather than to one policy — a denylist should have one answer to "is this actor blocked?" whether the sign-in policy or the transaction policy is being resolved. Matched by a chain-aware fold of the address, not a plain lowercase, because base58 and base32 chains are case-significant. An absent chain applies the entry to every chain.

id
string
required
Required string length: 36
Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Example:

"95b11417-f18f-457f-8804-68e361f9164f"

address
string
required

The address, in the casing it was submitted with.

appliesToScope
enum<string>
required

Which scopes an address entry applies to. Separate from ScreeningPolicyScopeEnum because ALL is meaningful here and meaningless on a policy row. ALL is the default and the overwhelmingly common intent — a blocked actor is normally blocked everywhere — and narrowing is available for the customer who wants it.

Available options:
ALL,
SIGN_IN,
TRANSACTION
disposition
enum<string>
required

Whether the entry exempts the address from the customer's own rules, or blocks it. Both evaluate below the sanctions floor, so ALLOW can never unblock a sanctioned address.

Available options:
ALLOW,
DENY
chain
enum<string>
Available options:
ETH,
EVM,
FLOW,
SOL,
ALGO,
STARK,
COSMOS,
BTC,
ECLIPSE,
SUI,
SPARK,
TRON,
APTOS,
TON,
STELLAR,
ALEO,
TEMPO,
MIDNIGHT
note
string

Human-readable label to identify this entry in the dashboard.

Maximum string length: 255
createdAt
string<date-time>

ISO 8601 timestamp of when the entry was added.

Last modified on October 14, 2026